author | John Arwe |
Mon, 25 Aug 2014 16:47:16 -0400 | |
changeset 772 | 38ea974803c6 |
parent 771 | c348bd680dbb (current diff) |
parent 770 | 3e1bea298f03 (diff) |
child 774 | a38183b294ef |
AccessControl.html | file | annotate | diff | comparison | revisions | |
AccessControlRespec.html | file | annotate | diff | comparison | revisions | |
LDP Access ControlNoRespec.htm | file | annotate | diff | comparison | revisions | |
LDP Access ControlNoRespec_files/W3C-WG-NOTE.css | file | annotate | diff | comparison | revisions | |
LDP Access ControlNoRespec_files/w3c_home.png | file | annotate | diff | comparison | revisions | |
TR/NOTE-ldp-bp-20140829/ldp-bp.html | file | annotate | diff | comparison | revisions |
--- a/AccessControl.html Mon Aug 25 16:45:08 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,220 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>LDP Access Control</title> - <!-- Changed by: , 13-Aug-2014 --> - <meta charset='utf-8'> - <script src='https://www.w3.org/Tools/respec/respec-w3c-common' - async class='remove'></script> - <script class='remove'> - var respecConfig = { - // specification status (e.g. WD, LCWD, WG-NOTE, etc.). If in doubt use ED. - specStatus: "WG-NOTE", - - // the specification's short name, as in http://www.w3.org/TR/short-name/ - shortName: "LDP-AC", - - // if your specification has a subtitle that goes below the main - // formal title, define it here - subtitle : "Usecases and Requirements for Access Control for the Linked Data Platform", - - // if you wish the publication date to be other than the last modification, set this - // publishDate: "2009-08-06", - - // if the specification's copyright date is a range of years, specify - // the start date here: - // copyrightStart: "2005" - - // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date - // and its maturity status - // previousPublishDate: "1977-03-15", - // previousMaturity: "WD", - - // if there a publicly available Editor's Draft, this is the link - // edDraftURI: "http://berjon.com/", - - // if this is a LCWD, uncomment and set the end of its review period - // lcEnd: "2009-08-05", - - // editors, add as many as you like - // only "name" is required - editors: [ - { - name: "Ashok Malhotra" - , mailto: "ashok.malhotra@oracle.com" - , company: "Oracle America, Inc." - , companyURL: "http://www.oracle.com/" - }, - ], - - // name of the WG - wg: "Linked Data Platform WG", - - // URI of the public WG page - wgURI: "https://www.w3.org/2012/ldp/wiki/Main_Page", - - // name (without the @w3c.org) of the public mailing to which comments are due - wgPublicList: "public-ldp-comments@w3.org", - - // URI of the patent status for this WG, for Rec-track documents - // !!!! IMPORTANT !!!! - // This is important for Rec-track documents, do not copy a patent URI from a random - // document unless you know what you're doing. If in doubt ask your friendly neighbourhood - // Team Contact. - wgPatentURI: "", - // !!!! IMPORTANT !!!! MAKE THE ABOVE BLINK IN YOUR HEAD - }; - </script> - </head> - <body> - <section id='abstract'> - <p> - This note discusses usecases and requirements for Access Control for the - <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> - It also outlines a charter for developing a standard for HTTP-based access control. - The work delineated in the charter may be pursued in the Linked Data Platform WG or an independent, related WG. - </p> - </section> - - <section id='sotd'> - <p> - While the <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> did not - address Access Control directly, a number of usescases and requirements were identified as part of its - deliberations. These usecases and requirements are captured in this document to serve as a basis for - future work. - </p> - </section> - - <section> - <h2>Access Control</h2> - <p> - Access Control is a mechanism through which an agent ( an HTTP server in this case ) permits other agents -- - individuals, organizations, and/or groups made up of these -- to perform certain operations on resources as - specified by policies for the resources and for the agents. Within this document, the resources are LDP resources, but the access - control may operate at different granularities: RDF or other documents, named graphs or individual triples. - The operations are typically create, read, update, and delete (CRUD) but other operations can easily be accomodated by - this design. - </p> - <p> - When an agent requests a collection of resources it gets to see only those resources or parts of resources - it is authorized for.</p> - <p> - Depending on the granularity, the access control mechanisms may affect performance, but should not affect - semantics.</p> - <p> - For access control to come into play, the server must restrict some operations on some resources. - </p> - </section> - <section> - <h2>Terminology</h2> - <ul> - <li>ACG: An Access Control Graph describes the permitted modes of access for particular agents to apecific resources.</li> - <li>ACG Resource: A resource whose representation contains one or more ACGs which the server relies - upon to make access control decisions.</li> - </ul> - </section> - <section> - <h2>Usecases</h2> - <section> - <h3>Access Control on manipulation of resources via HTTP</h3> - Adam's user agent attempts: - <ol> - <li>To CREATE, READ, UPDATE (or PATCH), or DELETE a resource identified by a URL. The server may immediately - allow or deny the request, or it may request that he authenticate to confirm his privileges, - as specified by the ACG for the Resource.</li> - <li>If he is denied access, an explanation of why all or part of his request was denied should be provided - so that it becomes possible to detect errors, and so that he may modify the request -- - potentially to include making a request for such privileges. - </li> - <li>Adam would ideally like to know whether he will be able to perform an Action on a Resource - before attempting such - i.e., whether he will have to authenticate before he is able to Read or Write the Resource. - </li> - <ol> - </section> - <section> - <h3>Editability of Access Control Rules using HTTP</h3> - <ol> - <li> - Bart's user agent logs on to a server and requests - the capability to read a group of related resources such as all the papers presented at a conference.</li> - </li> - <li>Employees with job titles VP or SVP can sign (update) supplier contracts.</li> - <li>Charlie, the Webmaster, would like to grant read access to the papers presented at a conference to all the - people who attended the conference.</li> - <ol> - </section> - <section> - <h3>User Interface Scenarios</h3> - Eddie's HTTP based user agent would like to provide a user interface to allow, where possible, Eddie to - <ol> - <li>Know if he can edit or delete a resource.</li> - <li>Know what he would have to do to have access to a resource ( be someone's friend, be part of a club, have - paid a fee )</li> - <li>Allow Eddie to edit the access control rules for a resource such as: - <ol> - <li>Allow friends of his to access a document.</li> - <li>Allow friends of his to POST to a container, but only read a subset of the contents of the container, - those posted by that agent for example.</li> - <li>Allow all the members of the LDP WG to create and edit resources including LDP Containers under a - specific URL pattern.</li> - <li>Allow all friends of friends as expressed by the foaf:knows relations in one's foaf profile to POST comments - to a container related to some content, and edit their own comments.</li> - <li>Allow the members of the LDP WG, the RWW CG, the WebID CG, and the member of the European Ontologist Network, - to work together on set of ontologies. It should be possible to drag and drop URLs for these groups, - found on the web, onto the User Interface as a way of creating the union of the members of the group.</li> - </ol> - </ol> - </section> - <section> - <h2>Requirements</h2> - <ul> - <li>An Agent must be able to authenticate itself to a server with an identifier or as the owner of a token. - ( All use cases )</li> - <li>Ability to specify a collection of agents, identifying agents with URIs, URI patterns, or by description. - (Usecase 3.2.2, 3.2.3)</li> - <li>Ability to specify a collection of resources, identified by URIs or URI patterns or by description, - with a specified access policy. (Usecase 3.2.1, 3.2.3)</li> - <li>Ability to connect a collection of agents with a collection of resources with given access privileges. - ( All use cases )</li> - </ul> - - <p>The above requirements require the ability, by an authorized agent, to CREATE, EDIT, UPDATE relevant ACGs. - - <ul> - <li>Ability to specify access privileges at a fine-grained level. (Usecase 3.1.2, 3.2.1.2)</li> - <li>The server should be able to describe access control policies for a resource. (Usecase 3.1.4, 3.3.1, 3.3.2)</li> - <li>The server should be able explain the reasons for access being disallowed in a machine readable format. - (Usecase 3.1.3) - </li> - <li>A user-agent should be able to find the ACG for a given resource.(Usecase 3.1.1)</li> - <li>The ability by one user agent to delegate the authority to create and edit ACGs to another agent.(Usecase 3.3.3)</li> - </ul> - </section> - <section> - <h2>Outline of a Charter for a Access Control WG</h2> - <p>An Access Control Graph (ACG) consists of two kinds of collections: a collection of agents and a collection of - resources. It then connects a collection of agents with a collection of resources with the connection identifying - the privileges the agents have on the resources: CREATE, READ, UPDATE, DELETE.</p> - <p>ACGs are resources in their own right and can have access control priviledges specified for them just like - any other resource. This permits the creation and modification of ACGs to be delegated. - </p> - <p> - The members of the collection of agents contain tokens that the agents obtain from some authentication service. - The members of the collection of resources are URIs or URI templates.</p> - <p>The WG will need to decide whether it also wants to define fine-grained access control at an attribute level.</p> -<section> -<h2>Deliverables</h2> -<ul> -<li>Define the collections that are part of the ACG and define how a collection of agents is connected to a -connection of resources.</li> -<li>Define how ACGs can be created and edited and how these rights can be delegated.</li> -<li>Describe a proof-of-concept implementation of how a request for access to a resource by an agent can be processed -efficiently with the ACG structure defined above.</li> -</ul> -</section> - </section> - </section> - - - </body> -</html>
--- a/AccessControlRespec.html Mon Aug 25 16:45:08 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,219 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>LDP Access Control</title> - <meta charset='utf-8'> - <script src='https://www.w3.org/Tools/respec/respec-w3c-common' - async class='remove'></script> - <script class='remove'> - var respecConfig = { - // specification status (e.g. WD, LCWD, WG-NOTE, etc.). If in doubt use ED. - specStatus: "WG-NOTE", - - // the specification's short name, as in http://www.w3.org/TR/short-name/ - shortName: "LDP-ACR", - - // if your specification has a subtitle that goes below the main - // formal title, define it here - subtitle : "Usecases and Requirements for Access Control for the Linked Data Platform", - - // if you wish the publication date to be other than the last modification, set this - publishDate: "2014-08-22", - - // if the specification's copyright date is a range of years, specify - // the start date here: - // copyrightStart: "2005" - - // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date - // and its maturity status - // previousPublishDate: "1977-03-15", - // previousMaturity: "WD", - - // if there a publicly available Editor's Draft, this is the link - // edDraftURI: "http://berjon.com/", - - // if this is a LCWD, uncomment and set the end of its review period - // lcEnd: "2009-08-05", - - // editors, add as many as you like - // only "name" is required - editors: [ - { - name: "Ashok Malhotra" - , mailto: "ashok.malhotra@oracle.com" - , company: "Oracle America, Inc." - , companyURL: "http://www.oracle.com/" - }, - ], - - // name of the WG - wg: "Linked Data Platform WG", - - // URI of the public WG page - wgURI: "https://www.w3.org/2012/ldp/wiki/Main_Page", - - // name (without the @w3c.org) of the public mailing to which comments are due - wgPublicList: "public-ldp-comments@w3.org", - - // URI of the patent status for this WG, for Rec-track documents - // !!!! IMPORTANT !!!! - // This is important for Rec-track documents, do not copy a patent URI from a random - // document unless you know what you're doing. If in doubt ask your friendly neighbourhood - // Team Contact. - wgPatentURI: "", - // !!!! IMPORTANT !!!! MAKE THE ABOVE BLINK IN YOUR HEAD - }; - </script> - </head> - <body> - <section id='abstract'> - <p> - This note discusses usecases and requirements for Access Control for the - <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> - It also outlines a charter for developing a standard for HTTP-based access control. - The work delineated in the charter may be pursued in the Linked Data Platform WG or an independent, related WG. - </p> - </section> - - <section id='sotd'> - <p> - While the <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> did not - address Access Control directly, a number of usescases and requirements were identified as part of its - deliberations. These usecases and requirements are captured in this document to serve as a basis for - future work. This is a First Public Working Draft. - </p> - </section> - - <section> - <h2>Access Control</h2> - <p> - Access Control is a mechanism through which an agent ( an HTTP server in this case ) permits other agents -- - individuals, organizations, and/or groups made up of these -- to perform certain operations on resources as - specified by policies for the resources and for the agents. Within this document, the resources are LDP resources, but the access - control may operate at different granularities: RDF or other documents, named graphs or individual triples. - The operations are typically create, read, update, and delete (CRUD) but other operations can easily be accomodated by - this design. - </p> - <p> - When an agent requests a collection of resources it gets to see only those resources or parts of resources - it is authorized for.</p> - <p> - Depending on the granularity, the access control mechanisms may affect performance, but should not affect - semantics.</p> - <p> - For access control to come into play, the server must restrict some operations on some resources. - </p> - </section> - <section> - <h2>Terminology</h2> - <ul> - <li>ACG: An Access Control Graph describes the permitted modes of access for particular agents to apecific resources.</li> - <li>ACG Resource: A resource whose representation contains one or more ACGs which the server relies - upon to make access control decisions.</li> - </ul> - </section> - <section> - <h2>Usecases</h2> - <section> - <h3>Access Control on manipulation of resources via HTTP</h3> - Adam's user agent attempts: - <ol> - <li>To CREATE, READ, UPDATE (or PATCH), or DELETE a resource identified by a URL. The server may immediately - allow or deny the request, or it may request that he authenticate to confirm his privileges, - as specified by the ACG for the Resource.</li> - <li>If he is denied access, an explanation of why all or part of his request was denied should be provided - so that it becomes possible to detect errors, and so that he may modify the request -- - potentially to include making a request for such privileges. - </li> - <li>Adam would ideally like to know whether he will be able to perform an Action on a Resource - before attempting such - i.e., whether he will have to authenticate before he is able to Read or Write the Resource. - </li> - <ol> - </section> - <section> - <h3>Editability of Access Control Rules using HTTP</h3> - <ol> - <li> - Bart's user agent logs on to a server and requests - the capability to read a group of related resources such as all the papers presented at a conference.</li> - </li> - <li>Employees with job titles VP or SVP can sign (update) supplier contracts.</li> - <li>Charlie, the Webmaster, would like to grant read access to the papers presented at a conference to all the - people who attended the conference.</li> - <ol> - </section> - <section> - <h3>User Interface Scenarios</h3> - Eddie's HTTP based user agent would like to provide a user interface to allow, where possible, Eddie to - <ol> - <li>Know if he can edit or delete a resource.</li> - <li>Know what he would have to do to have access to a resource ( be someone's friend, be part of a club, have - paid a fee )</li> - <li>Allow Eddie to edit the access control rules for a resource such as: - <ol> - <li>Allow friends of his to access a document.</li> - <li>Allow friends of his to POST to a container, but only read a subset of the contents of the container, - those posted by that agent for example.</li> - <li>Allow all the members of the LDP WG to create and edit resources including LDP Containers under a - specific URL pattern.</li> - <li>Allow all friends of friends as expressed by the foaf:knows relations in one's foaf profile to POST comments - to a container related to some content, and edit their own comments.</li> - <li>Allow the members of the LDP WG, the RWW CG, the WebID CG, and the member of the European Ontologist Network, - to work together on set of ontologies. It should be possible to drag and drop URLs for these groups, - found on the web, onto the User Interface as a way of creating the union of the members of the group.</li> - </ol> - </ol> - </section> - <section> - <h2>Requirements</h2> - <ul> - <li>An Agent must be able to authenticate itself to a server with an identifier or as the owner of a token. - ( All use cases )</li> - <li>Ability to specify a collection of agents, identifying agents with URIs, URI patterns, or by description. - (Usecase 3.2.2, 3.2.3)</li> - <li>Ability to specify a collection of resources, identified by URIs or URI patterns or by description, - with a specified access policy. (Usecase 3.2.1, 3.2.3)</li> - <li>Ability to connect a collection of agents with a collection of resources with given access privileges. - ( All use cases )</li> - </ul> - - <p>The above requirements require the ability, by an authorized agent, to CREATE, EDIT, UPDATE relevant ACGs. - - <ul> - <li>Ability to specify access privileges at a fine-grained level. (Usecase 3.1.2, 3.2.1.2)</li> - <li>The server should be able to describe access control policies for a resource. (Usecase 3.1.4, 3.3.1, 3.3.2)</li> - <li>The server should be able explain the reasons for access being disallowed in a machine readable format. - (Usecase 3.1.3) - </li> - <li>A user-agent should be able to find the ACG for a given resource.(Usecase 3.1.1)</li> - <li>The ability by one user agent to delegate the authority to create and edit ACGs to another agent.(Usecase 3.3.3)</li> - </ul> - </section> - <section> - <h2>Outline of a Charter for a Access Control WG</h2> - <p>An Access Control Graph (ACG) consists of two kinds of collections: a collection of agents and a collection of - resources. It then connects a collection of agents with a collection of resources with the connection identifying - the privileges the agents have on the resources: CREATE, READ, UPDATE, DELETE.</p> - <p>ACGs are resources in their own right and can have access control priviledges specified for them just like - any other resource. This permits the creation and modification of ACGs to be delegated. - </p> - <p> - The members of the collection of agents contain tokens that the agents obtain from some authentication service. - The members of the collection of resources are URIs or URI templates.</p> - <p>The WG will need to decide whether it also wants to define fine-grained access control at an attribute level.</p> -<section> -<h2>Deliverables</h2> -<ul> -<li>Define the collections that are part of the ACG and define how a collection of agents is connected to a -connection of resources.</li> -<li>Define how ACGs can be created and edited and how these rights can be delegated.</li> -<li>Describe a proof-of-concept implementation of how a request for access to a resource by an agent can be processed -efficiently with the ACG structure defined above.</li> -</ul> -</section> - </section> - </section> - - - </body> -</html>
--- a/LDP Access ControlNoRespec.htm Mon Aug 25 16:45:08 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,406 +0,0 @@ -<!DOCTYPE html> -<html dir="ltr" typeof="bibo:Document " about="" property="dcterms:language" content="en" lang="en"><head> -<meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <title>LDP Access Control</title> - <meta charset="utf-8"> - - - <style>/***************************************************************** - * ReSpec 3 CSS - * Robin Berjon - http://berjon.com/ - *****************************************************************/ - -/* --- INLINES --- */ -em.rfc2119 { - text-transform: lowercase; - font-variant: small-caps; - font-style: normal; - color: #900; -} - -h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym, -h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr { - border: none; -} - -dfn { - font-weight: bold; -} - -a.internalDFN { - color: inherit; - border-bottom: 1px solid #99c; - text-decoration: none; -} - -a.externalDFN { - color: inherit; - border-bottom: 1px dotted #ccc; - text-decoration: none; -} - -a.bibref { - text-decoration: none; -} - -cite .bibref { - font-style: normal; -} - -code { - color: #C83500; -} - -/* --- TOC --- */ -.toc a, .tof a { - text-decoration: none; -} - -a .secno, a .figno { - color: #000; -} - -ul.tof, ol.tof { - list-style: none outside none; -} - -.caption { - margin-top: 0.5em; - font-style: italic; -} - -/* --- TABLE --- */ -table.simple { - border-spacing: 0; - border-collapse: collapse; - border-bottom: 3px solid #005a9c; -} - -.simple th { - background: #005a9c; - color: #fff; - padding: 3px 5px; - text-align: left; -} - -.simple th[scope="row"] { - background: inherit; - color: inherit; - border-top: 1px solid #ddd; -} - -.simple td { - padding: 3px 10px; - border-top: 1px solid #ddd; -} - -.simple tr:nth-child(even) { - background: #f0f6ff; -} - -/* --- DL --- */ -.section dd > p:first-child { - margin-top: 0; -} - -.section dd > p:last-child { - margin-bottom: 0; -} - -.section dd { - margin-bottom: 1em; -} - -.section dl.attrs dd, .section dl.eldef dd { - margin-bottom: 0; -} - -@media print { - .removeOnSave { - display: none; - } -} -</style><link href="LDP%20Access%20ControlNoRespec_files/W3C-WG-NOTE.css" rel="stylesheet"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> - <body id="respecDocument" role="document" class="h-entry"><div id="respecHeader" role="contentinfo" class="head"> - <p> - - <a href="http://www.w3.org/"><img src="LDP%20Access%20ControlNoRespec_files/w3c_home.png" alt="W3C" height="48" width="72"></a> - - </p> - <h1 class="title p-name" id="title" property="dcterms:title">LDP Access Control</h1> - - <h2 property="bibo:subtitle" id="subtitle">Usecases and Requirements for Access Control for the Linked Data Platform</h2> - - <h2 id="w3c-working-group-note-22-august-2014" property="dcterms:issued" datatype="xsd:dateTime" content="2014-08-22T04:00:00.000Z"><abbr title="World Wide Web Consortium">W3C</abbr> Working Group Note <time class="dt-published" datetime="2014-08-22">22 August 2014</time></h2> - <dl> - - <dt>This version:</dt> - <dd><a class="u-url" href="http://www.w3.org/TR/2014/NOTE-LDP-ACR-20140822/">http://www.w3.org/TR/2014/NOTE-LDP-ACR-20140822/</a></dd> - <dt>Latest published version:</dt> - <dd><a href="http://www.w3.org/TR/LDP-ACR/">http://www.w3.org/TR/LDP-ACR/</a></dd> - - - - - - - - - <dt>Editor:</dt> - <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><span property="foaf:name" class="p-name fn">Ashok Malhotra</span>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.oracle.com/">Oracle America, Inc.</a>, <span class="ed_mailto"><a class="u-email email" rel="foaf:mbox" href="mailto:ashok.malhotra@oracle.com">ashok.malhotra@oracle.com</a></span></span> -</dd> - - - - </dl> - - - - - - <p class="copyright"> - <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © - 2014 - - <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> - (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, - <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, - <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), - - All Rights Reserved. - - <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, - <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and - - <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> - - rules apply. - </p> - - - <hr> -</div> - <section rel="bibo:Chapter" resource="#abstract" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2> - <p> - This note discusses usecases and requirements for Access Control for the - <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> - It also outlines a charter for developing a standard for HTTP-based access control. - The work delineated in the charter may be pursued in the Linked Data Platform WG or an independent, related WG. - </p> - </section><section rel="bibo:Chapter" resource="#sotd" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2> - - - - <p> - <em>This section describes the status of this document at the time of its publication. - Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the - latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at - http://www.w3.org/TR/.</em> - </p> - - <p> - While the <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> did not - address Access Control directly, a number of usescases and requirements were identified as part of its - deliberations. These usecases and requirements are captured in this document to serve as a basis for - future work. This is a First Public Working Draft. - </p> - - <p> - This document was published by the <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG</a> as a Working Group Note. - - - If you wish to make comments regarding this document, please send them to - <a href="mailto:public-ldp-comments@w3.org@w3.org">public-ldp-comments@w3.org@w3.org</a> - (<a href="mailto:public-ldp-comments@w3.org-request@w3.org?subject=subscribe">subscribe</a>, - <a href="http://lists.w3.org/Archives/Public/public-ldp-comments@w3.org/">archives</a>). - - - - - All comments are welcome. - - </p> - - - <p> - Publication as a Working Group Note does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> - Membership. This is a draft document and may be updated, replaced or obsoleted by other - documents at any time. It is inappropriate to cite this document as other than work in - progress. - </p> - - - - <p> - - This document was produced by a group operating under the - <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent - Policy</a>. - - - - - <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="" rel="disclosure">public list of any patent - disclosures</a> - - made in connection with the deliverables of the group; that page also includes - instructions for disclosing a patent. An individual who has actual knowledge of a patent - which the individual believes contains - <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential - Claim(s)</a> must disclose the information in accordance with - <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section - 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. - - - </p> - - <p>This document is governed by the <a id="w3c_process_revision" href="http://www.w3.org/2014/Process-20140801/">1 August 2014 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>. - </p> - - - - - -</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#access-control"><span class="secno">1. </span>Access Control</a></li><li class="tocline"><a class="tocxref" href="#terminology"><span class="secno">2. </span>Terminology</a></li><li class="tocline"><a class="tocxref" href="#usecases"><span class="secno">3. </span>Usecases</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#access-control-on-manipulation-of-resources-via-http"><span class="secno">3.1 </span>Access Control on manipulation of resources via HTTP</a></li><li class="tocline"><a class="tocxref" href="#editability-of-access-control-rules-using-http"><span class="secno">3.2 </span>Editability of Access Control Rules using HTTP</a></li><li class="tocline"><a class="tocxref" href="#user-interface-scenarios"><span class="secno">3.3 </span>User Interface Scenarios</a></li><li class="tocline"><a class="tocxref" href="#requirements"><span class="secno">3.4 </span>Requirements</a></li><li class="tocline"><a class="tocxref" href="#outline-of-a-charter-for-a-access-control-wg"><span class="secno">3.5 </span>Outline of a Charter for a Access Control WG</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#deliverables"><span class="secno">3.5.1 </span>Deliverables</a></li></ul></li></ul></li></ul></section> - - - - <section id="access-control"> - <!--OddPage--><h2 id="h2_access-control" role="heading" aria-level="1"><span class="secno">1. </span>Access Control</h2> - <p> - Access Control is a mechanism through which an agent ( an HTTP -server in this case ) permits other agents -- - individuals, organizations, and/or groups made up of these -- to -perform certain operations on resources as - specified by policies for the resources and for the agents. Within -this document, the resources are LDP resources, but the access - control may operate at different granularities: RDF or other -documents, named graphs or individual triples. - The operations are typically create, read, update, and delete (CRUD) -but other operations can easily be accomodated by - this design. - </p> - <p> - When an agent requests a collection of resources it gets to see only those resources or parts of resources - it is authorized for.</p> - <p> - Depending on the granularity, the access control mechanisms may affect performance, but should not affect - semantics.</p> - <p> - For access control to come into play, the server must restrict some operations on some resources. - </p> - </section> - <section id="terminology"> - <!--OddPage--><h2 id="h2_terminology" role="heading" aria-level="1"><span class="secno">2. </span>Terminology</h2> - <ul> - <li>ACG: An Access Control Graph describes the permitted modes of access for particular agents to apecific resources.</li> - <li>ACG Resource: A resource whose representation contains one or more ACGs which the server relies - upon to make access control decisions.</li> - </ul> - </section> - <section id="usecases"> - <!--OddPage--><h2 id="h2_usecases" role="heading" aria-level="1"><span class="secno">3. </span>Usecases</h2> - <section id="access-control-on-manipulation-of-resources-via-http"> - <h3 id="h3_access-control-on-manipulation-of-resources-via-http" role="heading" aria-level="2"><span class="secno">3.1 </span>Access Control on manipulation of resources via HTTP</h3> - Adam's user agent attempts: - <ol> - <li>To CREATE, READ, UPDATE (or PATCH), or DELETE a resource identified by a URL. The server may immediately - allow or deny the request, or it may request that he authenticate to confirm his privileges, - as specified by the ACG for the Resource.</li> - <li>If he is denied access, an explanation of why all or part of his request was denied should be provided - so that it becomes possible to detect errors, and so that he may modify the request -- - potentially to include making a request for such privileges. - </li> - <li>Adam would ideally like to know whether he will be able to perform an Action on a Resource - before attempting such - i.e., whether he will have to authenticate before he is able to Read or Write the Resource. - </li> - <ol> - </ol></ol></section> - <section id="editability-of-access-control-rules-using-http"> - <h3 id="h3_editability-of-access-control-rules-using-http" role="heading" aria-level="2"><span class="secno">3.2 </span>Editability of Access Control Rules using HTTP</h3> - <ol> - <li> - Bart's user agent logs on to a server and requests - the capability to read a group of related resources such as all the papers presented at a conference.</li> - - <li>Employees with job titles VP or SVP can sign (update) supplier contracts.</li> - <li>Charlie, the Webmaster, would like to grant read access to the papers presented at a conference to all the - people who attended the conference.</li> - <ol> - </ol></ol></section> - <section id="user-interface-scenarios"> - <h3 id="h3_user-interface-scenarios" role="heading" aria-level="2"><span class="secno">3.3 </span>User Interface Scenarios</h3> - Eddie's HTTP based user agent would like to provide a user interface to allow, where possible, Eddie to - <ol> - <li>Know if he can edit or delete a resource.</li> - <li>Know what he would have to do to have access to a resource ( be someone's friend, be part of a club, have - paid a fee )</li> - <li>Allow Eddie to edit the access control rules for a resource such as: - <ol> - <li>Allow friends of his to access a document.</li> - <li>Allow friends of his to POST to a container, but only read a subset of the contents of the container, - those posted by that agent for example.</li> - <li>Allow all the members of the LDP WG to create and edit resources including LDP Containers under a - specific URL pattern.</li> - <li>Allow all friends of friends as expressed by the foaf:knows relations in one's foaf profile to POST comments - to a container related to some content, and edit their own comments.</li> - <li>Allow the members of the LDP WG, the RWW CG, the WebID CG, and the member of the European Ontologist Network, - to work together on set of ontologies. It should be possible to drag and drop URLs for these groups, - found on the web, onto the User Interface as a way of creating the union of the members of the group.</li> - </ol> - </li></ol> - </section> - <section id="requirements"> - <h3 id="h3_requirements" role="heading" aria-level="2"><span class="secno">3.4 </span>Requirements</h3> - <ul> - <li>An Agent must be able to authenticate itself to a server with an identifier or as the owner of a token. - ( All use cases )</li> - <li>Ability to specify a collection of agents, identifying agents with URIs, URI patterns, or by description. - (Usecase 3.2.2, 3.2.3)</li> - <li>Ability to specify a collection of resources, identified by URIs or URI patterns or by description, - with a specified access policy. (Usecase 3.2.1, 3.2.3)</li> - <li>Ability to connect a collection of agents with a collection of resources with given access privileges. - ( All use cases )</li> - </ul> - - <p>The above requirements require the ability, by an authorized agent, to CREATE, EDIT, UPDATE relevant ACGs. - - </p><ul> - <li>Ability to specify access privileges at a fine-grained level. (Usecase 3.1.2, 3.2.1.2)</li> - <li>The server should be able to describe access control policies for a resource. (Usecase 3.1.4, 3.3.1, 3.3.2)</li> - <li>The server should be able explain the reasons for access being disallowed in a machine readable format. - (Usecase 3.1.3) - </li> - <li>A user-agent should be able to find the ACG for a given resource.(Usecase 3.1.1)</li> - <li>The ability by one user agent to delegate the authority to create and edit ACGs to another agent.(Usecase 3.3.3)</li> - </ul> - </section> - <section id="outline-of-a-charter-for-a-access-control-wg"> - <h3 id="h3_outline-of-a-charter-for-a-access-control-wg" role="heading" aria-level="2"><span class="secno">3.5 </span>Outline of a Charter for a Access Control WG</h3> - <p>An Access Control Graph (ACG) consists of two kinds of collections: a collection of agents and a collection of - resources. It then connects a collection of agents with a collection of resources with the connection identifying - the privileges the agents have on the resources: CREATE, READ, UPDATE, DELETE.</p> - <p>ACGs are resources in their own right and can have access control priviledges specified for them just like - any other resource. This permits the creation and modification of ACGs to be delegated. - </p> - <p> - The members of the collection of agents contain tokens that the agents obtain from some authentication service. - The members of the collection of resources are URIs or URI templates.</p> - <p>The WG will need to decide whether it also wants to define fine-grained access control at an attribute level.</p> -<section id="deliverables"> -<h4 id="h4_deliverables" role="heading" aria-level="3"><span class="secno">3.5.1 </span>Deliverables</h4> -<ul> -<li>Define the collections that are part of the ACG and define how a collection of agents is connected to a -connection of resources.</li> -<li>Define how ACGs can be created and edited and how these rights can be delegated.</li> -<li>Describe a proof-of-concept implementation of how a request for access to a resource by an agent can be processed -efficiently with the ACG structure defined above.</li> -</ul> -</section> - </section> - </section> - - - - -</body></html> \ No newline at end of file
--- a/LDP Access ControlNoRespec_files/W3C-WG-NOTE.css Mon Aug 25 16:45:08 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ - -/* Style for a "Working Group Note" */ - -/* - Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved. - The following software licensing rules apply: - http://www.w3.org/Consortium/Legal/copyright-software */ - -/* $Id: base.css,v 1.28 2014-04-22 03:27:49 ijacobs Exp $ */ - -body { - padding: 2em 1em 2em 70px; - margin: 0; - font-family: sans-serif; - color: black; - background: white; - background-position: top left; - background-attachment: fixed; - background-repeat: no-repeat; -} -:link { color: #00C; background: transparent } -:visited { color: #609; background: transparent } -a:active { color: #C00; background: transparent } - -a:link img, a:visited img { border-style: none } /* no border on img links */ - -a img { color: white; } /* trick to hide the border in Netscape 4 */ -@media all { /* hide the next rule from Netscape 4 */ - a img { color: inherit; } /* undo the color change above */ -} - -th, td { /* ns 4 */ - font-family: sans-serif; -} - -h1, h2, h3, h4, h5, h6 { text-align: left } -/* background should be transparent, but WebTV has a bug */ -h1, h2, h3 { color: #005A9C; background: white } -h1 { font: 170% sans-serif } -h2 { font: 140% sans-serif } -h3 { font: 120% sans-serif } -h4 { font: bold 100% sans-serif } -h5 { font: italic 100% sans-serif } -h6 { font: small-caps 100% sans-serif } - -.hide { display: none } - -div.head { margin-bottom: 1em } -div.head h1 { margin-top: 2em; clear: both } -div.head table { margin-left: 2em; margin-top: 2em } - -p.copyright { font-size: small } -p.copyright small { font-size: small } - -@media screen { /* hide from IE3 */ -a[href]:hover { background: #ffa } -} - -pre { margin-left: 2em } -/* -p { - margin-top: 0.6em; - margin-bottom: 0.6em; -} -*/ -dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ -dt { font-weight: bold } - -ul.toc, ol.toc { - list-style: disc; /* Mac NS has problem with 'none' */ - list-style: none; -} - -@media speech { - h1, h2, h3 { voice-stress: moderate; } - .hide { speak: none; } - p.copyright { voice-volume: x-soft; voice-rate: x-fast; } - dt { pause-before: 63ms; } -} - - -/* Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved. - The following software licensing rules apply: - http://www.w3.org/Consortium/Legal/copyright-software */ - -body { - background-image: url(//www.w3.org/StyleSheets/TR/logo-WG-Note); -} -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TR/NOTE-ldp-acr-20140825/Overview.html Mon Aug 25 16:47:16 2014 -0400 @@ -0,0 +1,402 @@ +<!DOCTYPE html> +<html lang="en" dir="ltr" typeof="bibo:Document " about="" property="dcterms:language" content="en"> +<head> + <title>LDP Access Control</title> + <!-- Changed by: , 25-Aug-2014 --> + <meta charset="utf-8"> + + + <style>/***************************************************************** + * ReSpec 3 CSS + * Robin Berjon - http://berjon.com/ + *****************************************************************/ + +/* --- INLINES --- */ +em.rfc2119 { + text-transform: lowercase; + font-variant: small-caps; + font-style: normal; + color: #900; +} + +h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym, +h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr { + border: none; +} + +dfn { + font-weight: bold; +} + +a.internalDFN { + color: inherit; + border-bottom: 1px solid #99c; + text-decoration: none; +} + +a.externalDFN { + color: inherit; + border-bottom: 1px dotted #ccc; + text-decoration: none; +} + +a.bibref { + text-decoration: none; +} + +cite .bibref { + font-style: normal; +} + +code { + color: #C83500; +} + +/* --- TOC --- */ +.toc a, .tof a { + text-decoration: none; +} + +a .secno, a .figno { + color: #000; +} + +ul.tof, ol.tof { + list-style: none outside none; +} + +.caption { + margin-top: 0.5em; + font-style: italic; +} + +/* --- TABLE --- */ +table.simple { + border-spacing: 0; + border-collapse: collapse; + border-bottom: 3px solid #005a9c; +} + +.simple th { + background: #005a9c; + color: #fff; + padding: 3px 5px; + text-align: left; +} + +.simple th[scope="row"] { + background: inherit; + color: inherit; + border-top: 1px solid #ddd; +} + +.simple td { + padding: 3px 10px; + border-top: 1px solid #ddd; +} + +.simple tr:nth-child(even) { + background: #f0f6ff; +} + +/* --- DL --- */ +.section dd > p:first-child { + margin-top: 0; +} + +.section dd > p:last-child { + margin-bottom: 0; +} + +.section dd { + margin-bottom: 1em; +} + +.section dl.attrs dd, .section dl.eldef dd { + margin-bottom: 0; +} + +@media print { + .removeOnSave { + display: none; + } +} +</style><link href="https://www.w3.org/StyleSheets/TR/W3C-WG-NOTE" rel="stylesheet"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> + <body id="respecDocument" role="document" class="h-entry"><div id="respecHeader" role="contentinfo" class="head"> + <p> + + <a href="http://www.w3.org/"><img src="https://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a> + + </p> + <h1 class="title p-name" id="title" property="dcterms:title">LDP Access Control</h1> + + <h2 property="bibo:subtitle" id="subtitle">Usecases and Requirements for Access Control for the Linked Data Platform</h2> + + <h2 id="w3c-working-group-note-25-august-2014" property="dcterms:issued" datatype="xsd:dateTime" content="2014-08-25T19:14:30.000Z"><abbr title="World Wide Web Consortium">W3C</abbr> Working Group Note <time class="dt-published" datetime="2014-08-25">25 August 2014</time></h2> + <dl> + + <dt>This version:</dt> + <dd><a class="u-url" href="http://www.w3.org/TR/2014/NOTE-ldp-acr-20140825/">http://www.w3.org/TR/2014/NOTE-ldp-acr-20140825/</a></dd> + <dt>Latest published version:</dt> + <dd><a href="http://www.w3.org/TR/ldp-acr/">http://www.w3.org/TR/ldp-acr/</a></dd> + + <dt>Latest editor's draft:</dt> + <dd><a href="https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-acr.html">https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-acr.html</a></dd> + + + + + + + + <dt>Editor:</dt> + <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><span property="foaf:name" class="p-name fn">Ashok Malhotra</span>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.oracle.com/">Oracle America, Inc.</a>, <span class="ed_mailto"><a class="u-email email" rel="foaf:mbox" href="mailto:ashok.malhotra@oracle.com">ashok.malhotra@oracle.com</a></span></span> +</dd> + + + + </dl> + + + + + + <p class="copyright"> + <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © + 2014 + + <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> + (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, + <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, + <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), + + All Rights Reserved. + + <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, + <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and + + <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> + + rules apply. + </p> + + + <hr> +</div> + <section rel="bibo:Chapter" resource="#abstract" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2> + <p> + This note discusses usecases and requirements for Access Control for the + <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> + It also outlines a charter for developing a standard for HTTP-based access control. + The work delineated in the charter may be pursued in the Linked Data Platform WG or an independent, related WG. + </p> + </section><section rel="bibo:Chapter" resource="#sotd" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2> + + + + <p> + <em>This section describes the status of this document at the time of its publication. + Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the + latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at + http://www.w3.org/TR/.</em> + </p> + + <p> + While the <a href="http://www.w3.org/2012/ldp">Linked Data Platform WG.</a> did not + address Access Control directly, a number of usescases and requirements were identified as part of its + deliberations. These usecases and requirements are captured in this document to serve as a basis for + future work. + </p> + + <p> + This document was published by the <a href="http://www.w3.org/2012/ldp">Linked Data Platform WG</a> as a Working Group Note. + + + If you wish to make comments regarding this document, please send them to + <a href="mailto:public-ldp-comments@w3.org@w3.org">public-ldp-comments@w3.org@w3.org</a> + (<a href="mailto:public-ldp-comments@w3.org-request@w3.org?subject=subscribe">subscribe</a>, + <a href="http://lists.w3.org/Archives/Public/public-ldp-comments@w3.org/">archives</a>). + + + + + All comments are welcome. + + </p> + + + <p> + Publication as a Working Group Note does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> + Membership. This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other than work in + progress. + </p> + + + + <p> + + This document was produced by a group operating under the + <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent + Policy</a>. + + + + + <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/55082/status" rel="disclosure">public list of any patent + disclosures</a> + + made in connection with the deliverables of the group; that page also includes + instructions for disclosing a patent. An individual who has actual knowledge of a patent + which the individual believes contains + <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential + Claim(s)</a> must disclose the information in accordance with + <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section + 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. + + + </p> + + <p>This document is governed by the <a id="w3c_process_revision" href="http://www.w3.org/2014/Process-20140801/">1 August 2014 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>. + </p> + + + + + +</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#access-control"><span class="secno">1. </span>Access Control</a></li><li class="tocline"><a class="tocxref" href="#terminology"><span class="secno">2. </span>Terminology</a></li><li class="tocline"><a class="tocxref" href="#usecases"><span class="secno">3. </span>Usecases</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#access-control-on-manipulation-of-resources-via-http"><span class="secno">3.1 </span>Access Control on manipulation of resources via HTTP</a></li><li class="tocline"><a class="tocxref" href="#editability-of-access-control-rules-using-http"><span class="secno">3.2 </span>Editability of Access Control Rules using HTTP</a></li><li class="tocline"><a class="tocxref" href="#user-interface-scenarios"><span class="secno">3.3 </span>User Interface Scenarios</a></li><li class="tocline"><a class="tocxref" href="#requirements"><span class="secno">3.4 </span>Requirements</a></li><li class="tocline"><a class="tocxref" href="#outline-of-a-charter-for-a-access-control-wg"><span class="secno">3.5 </span>Outline of a Charter for a Access Control WG</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#deliverables"><span class="secno">3.5.1 </span>Deliverables</a></li></ul></li></ul></li></ul></section> + + + + <section id="access-control"> + <!--OddPage--><h2 id="h2_access-control" role="heading" aria-level="1"><span class="secno">1. </span>Access Control</h2> + <p> + Access Control is a mechanism through which an agent ( an HTTP server in this case ) permits other agents -- + individuals, organizations, and/or groups made up of these -- to perform certain operations on resources as + specified by policies for the resources and for the agents. Within this document, the resources are LDP resources, but the access + control may operate at different granularities: RDF or other documents, named graphs or individual triples. + The operations are typically create, read, update, and delete (CRUD) but other operations can easily be accomodated by + this design. + </p> + <p> + When an agent requests a collection of resources it gets to see only those resources or parts of resources + it is authorized for.</p> + <p> + Depending on the granularity, the access control mechanisms may affect performance, but should not affect + semantics.</p> + <p> + For access control to come into play, the server must restrict some operations on some resources. + </p> + </section> + <section id="terminology"> + <!--OddPage--><h2 id="h2_terminology" role="heading" aria-level="1"><span class="secno">2. </span>Terminology</h2> + <ul> + <li>ACG: An Access Control Graph describes the permitted modes of access for particular agents to apecific resources.</li> + <li>ACG Resource: A resource whose representation contains one or more ACGs which the server relies + upon to make access control decisions.</li> + </ul> + </section> + <section id="usecases"> + <!--OddPage--><h2 id="h2_usecases" role="heading" aria-level="1"><span class="secno">3. </span>Usecases</h2> + <section id="access-control-on-manipulation-of-resources-via-http"> + <h3 id="h3_access-control-on-manipulation-of-resources-via-http" role="heading" aria-level="2"><span class="secno">3.1 </span>Access Control on manipulation of resources via HTTP</h3> + Adam's user agent attempts: + <ol> + <li>To CREATE, READ, UPDATE (or PATCH), or DELETE a resource identified by a URL. The server may immediately + allow or deny the request, or it may request that he authenticate to confirm his privileges, + as specified by the ACG for the Resource.</li> + <li>If he is denied access, an explanation of why all or part of his request was denied should be provided + so that it becomes possible to detect errors, and so that he may modify the request -- + potentially to include making a request for such privileges. + </li> + <li>Adam would ideally like to know whether he will be able to perform an Action on a Resource + before attempting such - i.e., whether he will have to authenticate before he is able to Read or Write the Resource. + </li> + </ol></section> + <section id="editability-of-access-control-rules-using-http"> + <h3 id="h3_editability-of-access-control-rules-using-http" role="heading" aria-level="2"><span class="secno">3.2 </span>Editability of Access Control Rules using HTTP</h3> + <ol> + <li> + Bart's user agent logs on to a server and requests + the capability to read a group of related resources such as all the papers presented at a conference.</li> + + <li>Employees with job titles VP or SVP can sign (update) supplier contracts.</li> + <li>Charlie, the Webmaster, would like to grant read access to the papers presented at a conference to all the + people who attended the conference.</li> + </ol></section> + <section id="user-interface-scenarios"> + <h3 id="h3_user-interface-scenarios" role="heading" aria-level="2"><span class="secno">3.3 </span>User Interface Scenarios</h3> + Eddie's HTTP based user agent would like to provide a user interface to allow, where possible, Eddie to + <ol> + <li>Know if he can edit or delete a resource.</li> + <li>Know what he would have to do to have access to a resource ( be someone's friend, be part of a club, have + paid a fee )</li> + <li>Allow Eddie to edit the access control rules for a resource such as: + <ol> + <li>Allow friends of his to access a document.</li> + <li>Allow friends of his to POST to a container, but only read a subset of the contents of the container, + those posted by that agent for example.</li> + <li>Allow all the members of the LDP WG to create and edit resources including LDP Containers under a + specific URL pattern.</li> + <li>Allow all friends of friends as expressed by the foaf:knows relations in one's foaf profile to POST comments + to a container related to some content, and edit their own comments.</li> + <li>Allow the members of the LDP WG, the RWW CG, the WebID CG, and the member of the European Ontologist Network, + to work together on set of ontologies. It should be possible to drag and drop URLs for these groups, + found on the web, onto the User Interface as a way of creating the union of the members of the group.</li> + </ol> + </li></ol> + </section> + <section id="requirements"> + <h3 id="h3_requirements" role="heading" aria-level="2"><span class="secno">3.4 </span>Requirements</h3> + <ul> + <li>An Agent must be able to authenticate itself to a server with an identifier or as the owner of a token. + ( All use cases )</li> + <li>Ability to specify a collection of agents, identifying agents with URIs, URI patterns, or by description. + (Usecase 3.2.2, 3.2.3)</li> + <li>Ability to specify a collection of resources, identified by URIs or URI patterns or by description, + with a specified access policy. (Usecase 3.2.1, 3.2.3)</li> + <li>Ability to connect a collection of agents with a collection of resources with given access privileges. + ( All use cases )</li> + </ul> + + <p>The above requirements require the ability, by an authorized agent, to CREATE, EDIT, UPDATE relevant ACGs. + + </p><ul> + <li>Ability to specify access privileges at a fine-grained level. (Usecase 3.1.2, 3.2.1.2)</li> + <li>The server should be able to describe access control policies for a resource. (Usecase 3.1.4, 3.3.1, 3.3.2)</li> + <li>The server should be able explain the reasons for access being disallowed in a machine readable format. + (Usecase 3.1.3) + </li> + <li>A user-agent should be able to find the ACG for a given resource.(Usecase 3.1.1)</li> + <li>The ability by one user agent to delegate the authority to create and edit ACGs to another agent.(Usecase 3.3.3)</li> + </ul> + </section> + <section id="outline-of-a-charter-for-a-access-control-wg"> + <h3 id="h3_outline-of-a-charter-for-a-access-control-wg" role="heading" aria-level="2"><span class="secno">3.5 </span>Outline of a Charter for a Access Control WG</h3> + <p>An Access Control Graph (ACG) consists of two kinds of collections: a collection of agents and a collection of + resources. It then connects a collection of agents with a collection of resources with the connection identifying + the privileges the agents have on the resources: CREATE, READ, UPDATE, DELETE.</p> + <p>ACGs are resources in their own right and can have access control priviledges specified for them just like + any other resource. This permits the creation and modification of ACGs to be delegated. + </p> + <p> + The members of the collection of agents contain tokens that the agents obtain from some authentication service. + The members of the collection of resources are URIs or URI templates.</p> + <p>The WG will need to decide whether it also wants to define fine-grained access control at an attribute level.</p> +<section id="deliverables"> +<h4 id="h4_deliverables" role="heading" aria-level="3"><span class="secno">3.5.1 </span>Deliverables</h4> +<ul> +<li>Define the collections that are part of the ACG and define how a collection of agents is connected to a +connection of resources.</li> +<li>Define how ACGs can be created and edited and how these rights can be delegated.</li> +<li>Describe a proof-of-concept implementation of how a request for access to a resource by an agent can be processed +efficiently with the ACG structure defined above.</li> +</ul> +</section> + </section> + </section> + + + + +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TR/NOTE-ldp-bp-20140829/Overview.html Mon Aug 25 16:47:16 2014 -0400 @@ -0,0 +1,1215 @@ +<!DOCTYPE html> +<html lang="en" dir="ltr" typeof="bibo:Document w3p:NOTE" about="" property="dcterms:language" content="en"> +<head> +<title>Linked Data Platform Best Practices and Guidelines</title> +<!-- Changed by: , 25-Aug-2014 --> +<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> +<!-- + === NOTA BENE === + For the three scripts below, if your spec resides on dev.w3 you can check them + out in the same tree and use relative links so that they'll work offline, + --> +<!-- script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script --> + + + + + +<style>/***************************************************************** + * ReSpec 3 CSS + * Robin Berjon - http://berjon.com/ + *****************************************************************/ + +/* --- INLINES --- */ +em.rfc2119 { + text-transform: lowercase; + font-variant: small-caps; + font-style: normal; + color: #900; +} + +h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym, +h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr { + border: none; +} + +dfn { + font-weight: bold; +} + +a.internalDFN { + color: inherit; + border-bottom: 1px solid #99c; + text-decoration: none; +} + +a.externalDFN { + color: inherit; + border-bottom: 1px dotted #ccc; + text-decoration: none; +} + +a.bibref { + text-decoration: none; +} + +cite .bibref { + font-style: normal; +} + +code { + color: #C83500; +} + +/* --- TOC --- */ +.toc a, .tof a { + text-decoration: none; +} + +a .secno, a .figno { + color: #000; +} + +ul.tof, ol.tof { + list-style: none outside none; +} + +.caption { + margin-top: 0.5em; + font-style: italic; +} + +/* --- TABLE --- */ +table.simple { + border-spacing: 0; + border-collapse: collapse; + border-bottom: 3px solid #005a9c; +} + +.simple th { + background: #005a9c; + color: #fff; + padding: 3px 5px; + text-align: left; +} + +.simple th[scope="row"] { + background: inherit; + color: inherit; + border-top: 1px solid #ddd; +} + +.simple td { + padding: 3px 10px; + border-top: 1px solid #ddd; +} + +.simple tr:nth-child(even) { + background: #f0f6ff; +} + +/* --- DL --- */ +.section dd > p:first-child { + margin-top: 0; +} + +.section dd > p:last-child { + margin-bottom: 0; +} + +.section dd { + margin-bottom: 1em; +} + +.section dl.attrs dd, .section dl.eldef dd { + margin-bottom: 0; +} + +@media print { + .removeOnSave { + display: none; + } +} +</style><style>/* --- EXAMPLES --- */ +div.example-title { + min-width: 7.5em; + color: #b9ab2d; +} +div.example-title span { + text-transform: uppercase; +} +aside.example, div.example, div.illegal-example { + padding: 0.5em; + margin: 1em 0; + position: relative; + clear: both; +} +div.illegal-example { color: red } +div.illegal-example p { color: black } +aside.example, div.example { + padding: .5em; + border-left-width: .5em; + border-left-style: solid; + border-color: #e0cb52; + background: #fcfaee; +} + +aside.example div.example { + border-left-width: .1em; + border-color: #999; + background: #fff; +} +aside.example div.example div.example-title { + color: #999; +} +</style><link href="https://www.w3.org/StyleSheets/TR/W3C-WG-NOTE" rel="stylesheet"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> + + + +<body id="respecDocument" role="document" class="h-entry"><div id="respecHeader" role="contentinfo" class="head"> + <p> + + <a href="http://www.w3.org/"><img src="https://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a> + + </p> + <h1 class="title p-name" id="title" property="dcterms:title">Linked Data Platform Best Practices and Guidelines</h1> + + <h2 id="w3c-working-group-note-29-august-2014" property="dcterms:issued" datatype="xsd:dateTime" content="2014-08-29T07:00:00.000Z"><abbr title="World Wide Web Consortium">W3C</abbr> Working Group Note <time class="dt-published" datetime="2014-08-29">29 August 2014</time></h2> + <dl> + + <dt>This version:</dt> + <dd><a class="u-url" href="http://www.w3.org/TR/2014/NOTE-ldp-bp-20140829/">http://www.w3.org/TR/2014/NOTE-ldp-bp-20140829/</a></dd> + <dt>Latest published version:</dt> + <dd><a href="http://www.w3.org/TR/ldp-bp/">http://www.w3.org/TR/ldp-bp/</a></dd> + + + <dt>Latest editor's draft:</dt> + <dd><a href="https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html">https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html</a></dd> + + + + + + + + <dt>Editors:</dt> + <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Cody Burleson" href="http://codyburleson.com/">Cody Burleson</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://base22.com/">Base22</a></span> +</dd> +<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Miguel Esteban Gutiérrez" href="http://mayor2.dia.fi.upm.es/oeg-upm/index.php/en/phdstudents/27-mesteban">Miguel Esteban Gutiérrez</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.oeg-upm.net/">Ontology Engineering Group, Universidad Politécnica de Madrid</a></span> +</dd> +<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Nandana Mihindukulasooriya" href="http://www.nandana.org/">Nandana Mihindukulasooriya</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.oeg-upm.net/">Ontology Engineering Group, Universidad Politécnica de Madrid</a></span> +</dd> + + + + </dl> + + + + + + <p class="copyright"> + <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © + 2014 + + <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> + (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, + <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, + <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), + + All Rights Reserved. + + <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, + <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and + + <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> + + rules apply. + </p> + + + <hr> +</div> + + <section rel="bibo:Chapter" resource="#abstract" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2><p>This document provides best practices + and guidelines for implementing Linked Data Platform [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] servers + and clients.</p></section><section rel="bibo:Chapter" resource="#sotd" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2> + + + + <p> + <em>This section describes the status of this document at the time of its publication. + Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the + latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at + http://www.w3.org/TR/.</em> + </p> + + + + <p> + This document was published by the <a href="http://www.w3.org/2012/ldp">Linked Data Platform Working Group</a> as a Working Group Note. + + + If you wish to make comments regarding this document, please send them to + <a href="mailto:public-ldp@w3.org">public-ldp@w3.org</a> + (<a href="mailto:public-ldp-request@w3.org?subject=subscribe">subscribe</a>, + <a href="http://lists.w3.org/Archives/Public/public-ldp/">archives</a>). + + + + + All comments are welcome. + + </p> + + + <p> + Publication as a Working Group Note does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> + Membership. This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other than work in + progress. + </p> + + + + <p> + + This document was produced by a group operating under the + <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent + Policy</a>. + + + + + <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/55082/status" rel="disclosure">public list of any patent + disclosures</a> + + made in connection with the deliverables of the group; that page also includes + instructions for disclosing a patent. An individual who has actual knowledge of a patent + which the individual believes contains + <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential + Claim(s)</a> must disclose the information in accordance with + <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section + 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. + + + </p> + + <p>This document is governed by the <a id="w3c_process_revision" href="http://www.w3.org/2014/Process-20140801/">1 August 2014 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>. + </p> + + + + + +</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#intro"><span class="secno">1. </span>About this Document</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#impetus"><span class="secno">1.1 </span>Impetus</a></li><li class="tocline"><a class="tocxref" href="#terminology"><span class="secno">1.2 </span>Terminology</a></li><li class="tocline"><a class="tocxref" href="#prerequisites-and-assumptions"><span class="secno">1.3 </span>Prerequisites and Assumptions</a></li></ul></li><li class="tocline"><a class="tocxref" href="#best-practices"><span class="secno">2. </span>Best Practices</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#predicate-uris-should-be-http-urls"><span class="secno">2.1 </span>Predicate URIs should be HTTP URLs</a></li><li class="tocline"><a class="tocxref" href="#use-and-include-the-predicate-rdf-type-to-represent-the-concept-of-type-in-ldprs"><span class="secno">2.2 </span>Use and include the predicate rdf:type to represent the + concept of type in LDPRs</a></li><li class="tocline"><a class="tocxref" href="#use-relative-uris"><span class="secno">2.3 </span>Use relative URIs</a></li><li class="tocline"><a class="tocxref" href="#avoid-dot-segments-in-uris-of-posted-content-or-use-with-caution"><span class="secno">2.4 </span>Avoid dot-segments in URIs of POSTed content or use with caution</a></li><li class="tocline"><a class="tocxref" href="#represent-container-membership-with-hierarchical-uris"><span class="secno">2.5 </span>Represent container membership with hierarchical URIs</a></li><li class="tocline"><a class="tocxref" href="#include-a-trailing-slash-in-container-uris"><span class="secno">2.6 </span>Include a trailing slash in container URIs</a></li><li class="tocline"><a class="tocxref" href="#use-fragments-as-relative-identifiers"><span class="secno">2.7 </span>Use fragments as relative identifiers</a></li><li class="tocline"><a class="tocxref" href="#prefer-standard-datatypes"><span class="secno">2.8 </span>Prefer standard datatypes</a></li><li class="tocline"><a class="tocxref" href="#re-use-established-linked-data-vocabularies-instead-of-re--inventing-duplicates"><span class="secno">2.9 </span>Re-use established linked data vocabularies instead of + (re-)inventing duplicates</a></li><li class="tocline"><a class="tocxref" href="#use-qvalues-properly"><span class="secno">2.10 </span>Use qvalues properly</a></li><li class="tocline"><a class="tocxref" href="#respond-with-primary-urls-and-use-them-for-identity-comparison"><span class="secno">2.11 </span>Respond with primary URLs and use them for identity comparison</a></li><li class="tocline"><a class="tocxref" href="#representing-relationships-between-resources"><span class="secno">2.12 </span>Representing relationships between resources</a></li><li class="tocline"><a class="tocxref" href="#minimize-server-specific-constraints"><span class="secno">2.13 </span>Minimize server-specific constraints</a></li></ul></li><li class="tocline"><a class="tocxref" href="#guidelines"><span class="secno">3. </span>Guidelines</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#containers-are-not-limited-to-membership-and-containment-triples"><span class="secno">3.1 </span>Containers are not limited to membership and containment triples</a></li><li class="tocline"><a class="tocxref" href="#finding-established-vocabularies"><span class="secno">3.2 </span>Finding established vocabularies</a></li></ul></li><li class="tocline"><a class="tocxref" href="#acknowledgements"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a class="tocxref" href="#references"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section> + + + + + <section rel="bibo:Chapter" resource="#intro" typeof="bibo:Chapter" id="intro"> + + <!--OddPage--><h2 id="h2_intro" role="heading" aria-level="1"><span class="secno">1. </span>About this Document</h2> + + <section id="impetus"> + + <h3 id="h3_impetus" role="heading" aria-level="2"><span class="secno">1.1 </span>Impetus</h3> + + <p>While writing the Linked Data Platform Specification, the + authors and contributors felt compelled to share common conventions + and valuable lessons-learned. Yet, at the same time, they did not + wish to impose or imply unnecessary restrictions, or to make the + formal specification unnecessarily verbose. This document, along + with the LDP Primer [<cite><a href="#bib-LDP-PRIMER" class="bibref">LDP-PRIMER</a></cite>], was therefore developed to + provide additional context. Drawing upon the professional + experiences of its authors and contributors, research into the rich + history of related technologies, and continuous feedback from the + community at large, it aims to help system implementers avoid common + pitfalls, improve quality, and achieve greater interoperability with + other Linked Data systems.</p> + + </section> + + <section id="terminology"> + + <h3 id="h3_terminology" role="heading" aria-level="2"><span class="secno">1.2 </span>Terminology</h3> + + <p>For the purposes of this document, it is useful to + make a minor, yet important distinction between the term 'best + practice' and the term 'guideline'. We define and differentiate + the terms as follows:</p> + + <dl> + <dt>best practice</dt> + <dd>An implementation practice (method or technique) that has + consistently shown results superior to those achieved with other + means and that is used as a benchmark. Best practices within this + document apply specifically to the ways that LDP servers and + clients are implemented as well as how certain resources are + prepared and used with them. In this document, the best practices + might be used as a kind of check-list against which an implementer + can directly evaluate a system's design and code. Lack of adherence + to any given best practice, however, does not necessarily imply a + lack of quality; they are recommendations that are said to be + 'best' in most cases and in most contexts, but not all. A best + practice is always subject to improvement as we learn and evolve + the Web together.</dd> + <dt>guideline</dt> + <dd>A tip, a trick, a note, a suggestion, or answer to a + frequently asked question. Guidelines within this document provide + useful information that can advance an implementer's knowledge and + understanding, but that may not be directly applicable to an + implementation or recognized by consensus as a 'best practice'.</dd> + </dl> + + <p>Please see the Terminology section in Linked Data Platform 1.0 + [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] as well as the Linked Data Glossary [<cite><a href="#bib-LD-GLOSSARY" class="bibref">LD-GLOSSARY</a></cite>] for + definitions to a variety of terms used in this document and related + to the Linked Data sphere of knowledge.</p> + + </section> + + <section id="prerequisites-and-assumptions"> + + <h3 id="h3_prerequisites-and-assumptions" role="heading" aria-level="2"><span class="secno">1.3 </span>Prerequisites and Assumptions</h3> + + <p> + Implementers should have at least a general familiarity with the <a href="#informative-references">informative references</a> cited in + this document - especially the following: + </p> + + <ul> + <li><strong>RDF Vocabulary Description Language 1.0: RDF Schema</strong> + [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>] - The Resource Description Framework + (RDF) is a general-purpose language for representing information in + the Web and it is the defacto language for expressing Linked Data. + This specification describes how to use RDF to describe RDF + vocabularies.</li> + <li><strong>RDF Primer 1.1</strong> [<cite><a href="#bib-RDF-PRIMER11" class="bibref">RDF-PRIMER11</a></cite>] - This Primer is designed to + provide the reader with the basic knowledge required to effectively + use RDF. It introduces the basic concepts of RDF and describes its + XML syntax. It describes how to define RDF vocabularies using the + RDF Vocabulary Description Language, and gives an overview of some + deployed RDF applications. It also describes the content and + purpose of other RDF specification documents.</li> + <li><strong>Turtle - Terse RDF Triple Language</strong> + [<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>] - defines a textual syntax for RDF called Turtle that + allows RDF graphs to be completely written in a compact and natural + text form, with abbreviations for common usage patterns and + datatypes. RDF examples used in this document are expressed in + Turtle.</li> + <li><strong>Linked Data Glossary</strong> [<cite><a href="#bib-LD-GLOSSARY" class="bibref">LD-GLOSSARY</a></cite>] - a + useful glossary containing terms defined and used to describe + Linked Data, and its associated vocabularies and best practices for + publishing structured data on the Web.</li> + <li><strong>Linked Data Platform 1.0</strong> [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] - the + formal specification for the LDP read-write Linked Data + architecture, based on HTTP access to web resources that describe + their state using the RDF data model. + </li><li><strong>Linked Data Platform 1.0 Test Cases</strong> + [<cite><a href="#bib-LDP-TESTS" class="bibref">LDP-TESTS</a></cite>] - a standard set of tests provided by the <abbr title="World Wide Web Consortium">W3C</abbr>, which + can be use to verify an implementation's conformance to the LDP + specification.</li> + <li><strong>Linked Data Platform Primer</strong> [<cite><a href="#bib-LDP-PRIMER" class="bibref">LDP-PRIMER</a></cite>] + - an introduction to LDP, which describes the basic concepts of LDP + such as Linked Data Platform Resources (LDPRs), Linked Data + Platform Containers (LDPCs), and their affordances. The Primer + provides a running example illustrating how an LDP client can + interact with an LDP server in the context of a read-write Linked + Data application (i.e. how to use HTTP for accessing, updating, + creating and deleting resources from servers that expose their + resources as Linked Data).</li> + <li><strong>Linked Data Platform Use Cases and + Requirements</strong> [<cite><a href="#bib-LDP-UCR" class="bibref">LDP-UCR</a></cite>] - a set of user stories, use cases, + scenarios and requirements that motivate a simple read-write Linked + Data architecture, based on HTTP access to web resources that + describe their state using RDF.</li> + </ul> + + </section> + + </section> + + <section id="best-practices"> + + <!--OddPage--><h2 id="h2_best-practices" role="heading" aria-level="1"><span class="secno">2. </span>Best Practices</h2> + + <section id="predicate-uris-should-be-http-urls"> + + <h3 id="h3_predicate-uris-should-be-http-urls" role="heading" aria-level="2"><span class="secno">2.1 </span>Predicate URIs should be HTTP URLs</h3> + + <p>URIs are used to uniquely identify resources and URLs are used + to locate resources on the Web. That is to say that a URL is + expected to resolve to an actual resource, which can be retrieved + from the host. A URI, on the other hand, may also be a URL, but it + does not have to be; it may refer to something that has no + retrievable representation.</p> + + <p>One of the fundamental ideas behind Linked Data is that the + things referred to by HTTP URIs can actually be looked up + ("dereferenced"). This important principle was originally + outlined by Tim Berners-Lee as rule #2 of "the four rules" + for linking data [<cite><a href="#bib-LD-DI" class="bibref">LD-DI</a></cite>]. It is therefore ideal that predicate + URIs identify resources with representations that are retrievable. LDP + servers should at least provide [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>] representations of + these predicates where possible.</p> + + <p>Of course, it is also a common practice to reuse properties + from open vocabularies that are publicly available. In this case, + implementers have no control over the result when attempting to + dereference the URI. For this reason, publishers who wish to make + their vocabularies useful for linking data should strive to provide + a retrievable representation of the properties their vocabularies + define. Consequently, implementers are also expected to use this + practice as a benchmark for which to judge the efficacy of a + vocabulary's use for linking data.</p> + + </section> + + <section id="use-and-include-the-predicate-rdf-type-to-represent-the-concept-of-type-in-ldprs"> + + <h3 id="h3_use-and-include-the-predicate-rdf-type-to-represent-the-concept-of-type-in-ldprs" role="heading" aria-level="2"><span class="secno">2.2 </span>Use and include the predicate rdf:type to represent the + concept of type in LDPRs</h3> + + <p> + It is often very useful to know the type (class) of an LDPR, though + it is not essential to work with the interaction capabilities that + LDP offers. Still, to make data more useful in the broadest context, + type should be explicitly defined using the <code>rdf:type</code> + predicate defined by [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>]. + </p> + + <p>This provides a way for clients to easily determine the type(s) + of a resource without having to perform additional processing or + make additional HTTP requests. For example, clients that cannot + infer the type because they do not support inferencing can benefit + from this explicit declaration.</p> + + <div class="example"><div class="example-title"><span>Example 1</span>: Representation of an LDPR with explicit declaration of rdf:type</div><pre class="example">@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. +@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>. + +<http://www.w3.org/People/EM/contact#me> + a contact:Person; + contact:fullName "Eric Miller"; + contact:mailbox <mailto:em@w3.org>; + contact:personalTitle "Dr.".</pre></div> + + <p>The token 'a' in the predicate position of a Turtle triple represents the IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type. + In the example above, therefore, <code>a contact:Person</code> is the same as <code>rdf:type contact:Person</code> or the fully-qualified form, <code><http://www.w3.org/1999/02/22-rdf-syntax-ns#type> contact:Person</code>.</p> + + </section> + + <section id="use-relative-uris"> + + <h3 id="h3_use-relative-uris" role="heading" aria-level="2"><span class="secno">2.3 </span>Use relative URIs</h3> + + <!-- http://www.w3.org/2012/ldp/track/issues/29 --> + + <p>Relative URIs are useful to the Linked Data Platform in much + the same ways that relative URLs [<cite><a href="#bib-RFC3986" class="bibref">RFC3986</a></cite>] have been useful to + traditional web systems. Since the things referred to by Linked Data + URIs should provide a retrievable representation [<cite><a href="#bib-LD-DI" class="bibref">LD-DI</a></cite>], Linked + Data URIs are usually also URLs; they locate rather than just + identify. As such, the utilitarian value of relative URLs still + applies; especially since the LDP Container model promotes + hierarchical representations.</p> + + <p>Implementers should therefore align the function of relative + URIs in LDP with those of traditional relative URLs where possible + and appropriate. Aside from giving developers the comfort and + convenience of familiarity, they provide many of the same + advantages.</p> + + <dl> + <dt>Relative URIs are shorter than absolute URIs.</dt> + <dd> + <p>In many cases, this can aid development by making code and + RDF easier for humans to read. It can also reduce the size of + payloads, which in turn, can reduce network traffic and stress on + servers, while improving response times for end-users.</p> + + <div class="example"><div class="example-title"><span>Example 2</span>: Representation of http://example.org/container1/ with absolute URIs</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. +@prefix ldp: <http://www.w3.org/ns/ldp#>. + +<http://example.org/container1/> + a a ldp:Container, ldp:BasicContainer; + dcterms:title "A very simple container"; + ldp:contains + <http://example.org/container1/member1>, + <http://example.org/container1/member2>, + <http://example.org/container1/member3>.</pre></div> + + + <div class="example"><div class="example-title"><span>Example 3</span>: Representation of http://example.org/container1/ with relative URIs</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. +@prefix ldp: <http://www.w3.org/ns/ldp#>. + +<> a a ldp:Container, ldp:BasicContainer; + dcterms:title "A very simple container"; + ldp:contains <member1>, <member2>, <member3> .</pre></div> + + </dd> + + <dt>Relative URIs can make resources more portable.</dt> + <dd>When information which is already known from the context of + the base resource's retrieval is omitted, there can be less + information to modify when its location changes. This can make + copying resources to new servers or to a new position in a + containment hierarchy easier; in the preceding example, + a process that clones just the container need not adjust any of + its member URIs. + </dd> + + <dt>Relative URIs are convenient during development.</dt> + <dd>During development the scheme and network location + information in a URI may either be unknown or likely to change. The + commonly used 'localhost' for example, is better expressed by the + server name or a domain name. Developers often experience less + hassle by omitting this information. Additionally, the hierarchy + implied by a relative URI may be mimicked in a server file system, + which can help developers find and work with information, even when + the server isn't running.</dd> + + <dt>Relative URIs support arbitrary, machine-generated URIs.</dt> + <dd> + RESTful URLs are often defined by a pattern of hierarchical + 'collections', which clients interact with in very logical ways. + For example, when creating a new resource the client does not + typically know the name of the resource until after a successful + POST to a collection's URL. A POST to + <code>/people/</code> + for example, may create the resource + <code>/people/1</code> + . LDP Containers are such collections whose URIs can benefit from + the same model, which in some implementations, may actually be + crucial. + </dd> + </dl> + </section> + + <section id="avoid-dot-segments-in-uris-of-posted-content-or-use-with-caution"> + <h3 id="h3_avoid-dot-segments-in-uris-of-posted-content-or-use-with-caution" role="heading" aria-level="2"><span class="secno">2.4 </span>Avoid dot-segments in URIs of POSTed content or use with caution</h3> + + <p>The semantics of dot-segments (eg. <code>../</code>) within relative URIs may be implied by other + specifications and by common historical use, but in the case of LDP, additional consideration is required.</p> + + <p>The LDP specification states that... </p><blockquote>LDP servers <em title="MUST" class="rfc2119">MUST</em> assign the default base-URI for [<cite><a href="#bib-RFC3987" class="bibref">RFC3987</a></cite>] relative-URI resolution + to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation + of a new resource.</blockquote> It follows from this definition that use of <code>../</code> and other non-null relative URI constructs during + POST can cause the posted content to be referring to resources in a manner the client might not be able to predict. + Dot-segments should therefore be avoided unless the client knows specifically what can be expected of the given implementation + and/or deployment.<p></p> + </section> + + + <section id="represent-container-membership-with-hierarchical-uris"> + + <h3 id="h3_represent-container-membership-with-hierarchical-uris" role="heading" aria-level="2"><span class="secno">2.5 </span>Represent container membership with hierarchical URIs</h3> + + <p>Hierarchical URIs are good for containers because they enable + the use of relative URIs. They also promote easy interaction with + resources that are modeled to represent parent-child relationships + where the child logically belongs to the parent.</p> + + <p> + One example of such a model can be found in the case of the + <code>oslc_cm:attachment</code> + container from the vocabularies defined by the <a href="http://open-services.net/">Open Service for Lifecycle + Management (OSLC)</a> community. The OSLC defines specifications and + vocabularies that are well-aligned to LDP. A resource in an OSLC + compliant change management system such as an issue or bug tracker + may have attachments represented by the + <code>oslc_cm:attachment</code> + container. The URI for such a container might be represented as + follows: + </p> + + <p> + <code>http://example.org/bugs/2314/attachments/</code> + </p> + + <p>From this URI, the URI of the parent resource which holds the + attachments is easily discerned. The base container for other + sibling resources can be discerned by moving up the hierarchy, which + is implied by the URI. Meta-data or binary content might be fetched + further down the hierarchy by using a URI such as the following:</p> + + <p> + <code>http://example.org/bugs/2314/attachments/1</code> + </p> + + <p>In addition to making the use of relative URIs possible, + hierarchical URIs make interacting with resources easier for users because + they represent the actual structure of the underlying graph. + Software agents (code acting on behalf of users [<cite><a href="#bib-WEBARCH" class="bibref">WEBARCH</a></cite>]) must be careful + before exploiting the structure of URIs, considering historical problems + when doing so ([<cite><a href="#bib-WEBARCH" class="bibref">WEBARCH</a></cite>], [<cite><a href="#bib-metaDataInURI" class="bibref">metaDataInURI</a></cite>]). + </p> + + </section> + + + <section id="include-a-trailing-slash-in-container-uris"> + + <!-- http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jan/0071.html --> + + <h3 id="h3_include-a-trailing-slash-in-container-uris" role="heading" aria-level="2"><span class="secno">2.6 </span>Include a trailing slash in container URIs</h3> + + <p>When representing container membership with hierarchical URLs, + including the trailing slash in a container's URI makes it + easier to use relative URIs. + Take the following container URI for example:</p> + + <p> + <code>http://example.org/container1</code> + </p> + + <p>It is more advantageous to use the following instead:</p> + + <p> + <code>http://example.org/container1/</code> + </p> + + <p>To illustrate the advantage, let's start with the following + container using absolute URIs:</p> + + <div class="example"><div class="example-title"><span>Example 4</span>: A simple container</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. +@prefix ldp: <http://www.w3.org/ns/ldp#>. + +<http://example.org/container1> + a a ldp:Container, ldp:BasicContainer; + dcterms:title "A very simple container"; + ldp:contains + <http://example.org/container1/member1>, + <http://example.org/container1/member2>, + <http://example.org/container1/member3>.</pre></div> + + <p>Suppose now that we wish to reflect the same resource using + relative URIs. If the URI of the container includes the trailing + slash, we end up with a very elegant representation, as shown below.</p> + + <div class="example"><div class="example-title"><span>Example 5</span>: Container URI is http://example.org/container1/</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. +@prefix ldp: <http://www.w3.org/ns/ldp#>. + +<> a a ldp:Container, ldp:BasicContainer; + dcterms:title "A very simple container"; + ldp:contains <member1>, <member2>, <member3> .</pre></div> + + <p>But suppose that we omit the trailing slash, issued an HTTP + GET, and the container returned the representation shown above. This + could produce a graph that is equivalent to the following:</p> + + <div class="example"><div class="example-title"><span>Example 6</span>: Container URI is http://example.org/container1</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. +@prefix ldp: <http://www.w3.org/ns/ldp#>. + +<http://example.org/container1> + a a ldp:Container, ldp:BasicContainer; + dcterms:title "A very simple container"; + ldp:contains + <http://example.org/member1>, + <http://example.org/member2>, + <http://example.org/member3>.</pre></div> + + <p>That is not what was intended; the member URLs lack the + <code>container</code> path segment. + The returned document would + have to be more verbose in order to be correct:</p> + + <div class="example"><div class="example-title"><span>Example 7</span>: Container URI is http://example.org/container1</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. +@prefix ldp: <http://www.w3.org/ns/ldp#>. + +<> a a ldp:Container, ldp:BasicContainer; + dcterms:title "A very simple container"; + ldp:contains <container1/member1>, <container1/member2>, <container1/member3> .</pre></div> + + <p>So, clearly, the better solution is to ensure that container + URIs end with a trailing slash.</p> + + </section> + + + <section id="use-fragments-as-relative-identifiers"> + + <h3 id="h3_use-fragments-as-relative-identifiers" role="heading" aria-level="2"><span class="secno">2.7 </span>Use fragments as relative identifiers</h3> + + <p> + Resource URIs are permitted to end with a fragment; the fragment + component is delimited from the rest of the URI because it is + introduced by a hash mark (<b><code>#</code></b>). + For this reason, URIs with non-empty fragments are often called hash URIs; + a hash URI identifies a subordinate or related resource [<cite><a href="#bib-RFC3986" class="bibref">RFC3986</a></cite>]. + </p> + + <p> + Take the URI, + <code>http://www.example.org/products#item10245</code> + , for example. The non-fragment portion of the URI is the part preceding the hash mark, + <code>http://www.example.org/products</code> + , and the fragment identifier is the part that follows, + <code>item10245</code> + . + </p> + + <p>When expressing Linked Data Platform Resources in RDF, + fragments are useful because they can be expressed as relative URIs + on the document describing them. This is particularly handy for + describing multiple LDPRs whose representations are contained within + a single document.</p> + + <p> + First, it provides the convenience and efficiency of brevity. + Suppose, for example, the resources foo, bar, and baz are + contained in the same document. Since serving all of the + descriptions in a single document is acceptable, we can mint + relative URIs within the document using the fragment identifier ( + <code><#foo></code> + , + <code><#bar></code> + and + <code><#baz></code> + ). [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] ensures that the default base URI is the document + URI ( + <code>http://www.example.org/products</code> + ), so the absolute URI for each is + the base URI, plus the hash mark, + plus the fragment identifier. + </p> + + + <p>Second, it can help avoid certain complexities inherent with + other approaches. Achieving the same result using three independent + dereferenceable URIs could be more involved because multiple + documents would have to be published, perhaps also including the + setup of 303 redirects.</p> + + <p> + <strong>See also:</strong> + </p> + + <p> + <a href="http://www.w3.org/TR/cooluris">Cool URIs for the + Semantic Web</a> + </p><ul> + <li><a href="http://www.w3.org/TR/cooluris/#hashuri">http://www.w3.org/TR/cooluris/#hashuri</a></li> + <li><a href="http://www.w3.org/TR/cooluris/#choosing">http://www.w3.org/TR/cooluris/#choosing</a></li> + </ul> + <p></p> + + <p> + <a href="http://www.w3.org/DesignIssues/Fragment.html">Axioms of + Web Architecture, URI References: Fragment Identifiers on URIs</a><br> + http://www.w3.org/DesignIssues/Fragment.html + </p> + + <p> + <a href="http://www.w3.org/2001/tag/doc/httpRange-14/2007-05-31/HttpRange-14">Dereferencing + HTTP URIs</a><br> + http://www.w3.org/2001/tag/doc/httpRange-14/2007-05-31/HttpRange-14 + </p> + + </section> + + + <section id="prefer-standard-datatypes"> + <h3 id="h3_prefer-standard-datatypes" role="heading" aria-level="2"><span class="secno">2.8 </span>Prefer standard datatypes</h3> + + <p>LDPR representations should use only the following standard + datatypes. RDF does not by itself define datatypes to be used for + literal property values, therefore a set of standard datatypes based + on [<cite><a href="#bib-XMLSCHEMA11-2" class="bibref">XMLSCHEMA11-2</a></cite>] and [<cite><a href="#bib-RDF-PRIMER11" class="bibref">RDF-PRIMER11</a></cite>] should be used:</p> + + <table class="simple"> + <thead> + <tr> + <th>URI</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#boolean">http://www.w3.org/2001/XMLSchema#boolean</a></td> + <td>Boolean type as specified by XSD Boolean</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#date">http://www.w3.org/2001/XMLSchema#date</a></td> + <td>Date type as specified by XSD date</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#dateTime">http://www.w3.org/2001/XMLSchema#dateTime</a></td> + <td>Date and Time type as specified by XSD dateTime</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#decimal">http://www.w3.org/2001/XMLSchema#decimal</a></td> + <td>Decimal number type as specified by XSD Decimal</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#double">http://www.w3.org/2001/XMLSchema#double</a></td> + <td>Double floating-point number type as specified by XSD + Double</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#float">http://www.w3.org/2001/XMLSchema#float</a></td> + <td>Floating-point number type as specified by XSD Float</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#hexBinary">http://www.w3.org/2001/XMLSchema#hexBinary</a></td> + <td>Arbitrary hex-encoded binary data as specified by XSD hexBinary</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#integer">http://www.w3.org/2001/XMLSchema#integer</a></td> + <td>Integer number type as specified by XSD Integer</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#string">http://www.w3.org/2001/XMLSchema#string</a></td> + <td>String type as specified by XSD String</td> + </tr> + <tr> + <td><a href="http://www.w3.org/2001/XMLSchema#base64Binary">http://www.w3.org/2001/XMLSchema#base64Binary</a></td> + <td>Binary type as specified by XSD Base64Binary</td> + </tr> + <tr> + <td><a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</a></td> + <td>Literal XML value as specified by RDF</td> + </tr> + </tbody> + </table> + + </section> + + + <section id="re-use-established-linked-data-vocabularies-instead-of-re--inventing-duplicates"> + + <h3 id="h3_re-use-established-linked-data-vocabularies-instead-of-re--inventing-duplicates" role="heading" aria-level="2"><span class="secno">2.9 </span>Re-use established linked data vocabularies instead of + (re-)inventing duplicates</h3> + + <p> + This section summarizes some well-known RDF vocabularies that should + be used in Linked Data Platform Resources wherever a resource needs + to use a predicate whose meaning matches one of these. For example, + if a resource has a description, and the application semantics of + that description is compatible with + <code>dcterms:description</code> + , then + <code>dcterms:description</code> + should be used. If needed, additional application-specific + predicates may be used. A specification for a domain may require one + or more of these properties for a particular resource type. The + Range column in the tables below identifies the defined + <code>rdfs:range</code> + for the properties. + </p> + + <h3 id="common-properties">Common Properties</h3> + + <p> + <strong>From Dublin Core URI: <a href="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a></strong> + </p> + + <table class="simple"> + <thead> + <tr> + <th>Property</th> + <th>Range/DataType</th> + <th>Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>dcterms:contributor</td> + <td>dcterms:Agent</td> + <td></td> + </tr> + <tr> + <td>dcterms:creator</td> + <td>dcterms:Agent</td> + <td></td> + </tr> + <tr> + <td>dcterms:created</td> + <td>xsd:dateTime</td> + <td></td> + </tr> + <tr> + <td>dcterms:description</td> + <td>rdf:XMLLiteral</td> + <td>Descriptive text about the resource represented as rich + text in XHTML format. should include only content that is valid + and suitable inside an XHTML element.</td> + </tr> + <tr> + <td>dcterms:identifier</td> + <td>rdfs:Literal</td> + <td></td> + </tr> + <tr> + <td>dcterms:modified</td> + <td>xsd:dateTime</td> + <td></td> + </tr> + <tr> + <td>dcterms:relation</td> + <td>rdfs:Resource</td> + <td>The HTTP URI of a related resource. This is the predicate + to use when you don't know what else to use. If you know more + specifically what sort of relationship it is, use a more specific + predicate.</td> + </tr> + <tr> + <td>dcterms:subject</td> + <td>rdfs:Resource</td> + <td></td> + </tr> + <tr> + <td>dcterms:title</td> + <td>rdf:XMLLiteral</td> + <td>A name given to the resource. Represented as rich text in + XHTML format. should include only content that is valid inside an + XHTML element.</td> + </tr> + </tbody> + </table> + + <p> + The predicate + <code>dcterms:type</code> + should not be used, instead use + <code>rdf:type</code> + . [<cite><a href="#bib-DC-RDF" class="bibref">DC-RDF</a></cite>]. + </p> + + <p> + <strong>From RDF URI: <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a></strong> + </p> + + <table class="simple"> + <thead> + <tr> + <th>Property</th> + <th>Range/DataType</th> + <th>Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>rdf:type</td> + <td>rdfs:Class</td> + <td>The type or types of the resource</td> + </tr> + </tbody> + </table> + + <p> + <strong>From RDF Schema URI: <a href="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</a></strong> + </p> + + <table class="simple"> + <thead> + <tr> + <th>Property</th> + <th>Range/DataType</th> + <th>Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>rdfs:member</td> + <td>rdfs:Resource</td> + <td> </td> + </tr> + <tr> + <td>rdfs:label</td> + <td>rdfs:Literal</td> + <td>Only use this in vocabulary documents, to define the name + of the vocabulary term.</td> + </tr> + </tbody> + </table> + + + + </section> + + + <section id="use-qvalues-properly"> + <h3 id="h3_use-qvalues-properly" role="heading" aria-level="2"><span class="secno">2.10 </span>Use qvalues properly</h3> + + <p>Quality factors allow the user or user agent to indicate the + relative degree of preference for a media-range, using the qvalue + scale from 0 to 1. The default value is q=1. Take the following for + example:</p> + + <p> + <code>Accept: text/turtle; q=0.5, application/json</code> + </p> + + <p>This should be interpreted as "I prefer application/json, but + send me text/turtle if it is the best available after a 50% + mark-down in quality."</p> + + <p>Improper handling of qvalues is a common problem in + implementations of content negotiation. + </p><p>Refer to Section 14, Header Field Definitions, in the + [<cite><a href="#bib-HTTP11" class="bibref">HTTP11</a></cite>] specification to understand the proper use and evaluation + of qvalues for both client and server implementations.</p> + + </section> + + <section id="respond-with-primary-urls-and-use-them-for-identity-comparison"> + <h3 id="h3_respond-with-primary-urls-and-use-them-for-identity-comparison" role="heading" aria-level="2"><span class="secno">2.11 </span>Respond with primary URLs and use them for identity comparison</h3> + + <p>Clients can access an LDPR using multiple URLs. An LDP server + should respond to each of those requests using a single consistent + URL, a primary URL, for the LDPR. This primary URL may be found + in the response's Location and/or Content-Location headers, and + potentially also in the representation of the LDPR. A common case is + URLs that vary by protocol, one HTTP and one HTTPS, but are + otherwise identical. In most cases those two URLs refer to the same + resource, and the server should respond to requests on either URL + with a single (primary) URL.</p> + + <p>Clients should use the primary URL as an LDPR's identity; + for example, when determining if two URLs refer to the same resource + clients should compare the primary URLs, not the URLs used to + access the resources. Note that this usage <em>does</em> imply that the + client has sufficient reason to trust the headers and/or content + by which the primary URL is communicated to the client, which is + beyond what HTTP alone can guarantee [<cite><a href="#bib-RFC7231" class="bibref">RFC7231</a></cite>]. + </p> + + </section> + + <section id="representing-relationships-between-resources"> + <h3 id="h3_representing-relationships-between-resources" role="heading" aria-level="2"><span class="secno">2.12 </span>Representing relationships between resources</h3> + <p>LDPRs can use one RDF triple to represent a link + (relationship) to another resource. Having the source resource’s URI + as the subject and the target resource’s URI as the object of the + triple is enough. Contrary to a misconception that readers with + certain backgrounds may assume, the creation of an + "intermediate link" resource is not required to express + the relationship.</p> + </section> + + <section id="minimize-server-specific-constraints"> + <h3 id="h3_minimize-server-specific-constraints" role="heading" aria-level="2"><span class="secno">2.13 </span>Minimize server-specific constraints</h3> + <p>LDP servers should enable simple creation and modification of + LDPRs.</p> + + <p>It may be common for LDP servers to put restrictions on + representations – for example, the range of rdf:type predicates, + datatypes of the objects of predicates, and the number of + occurrences of predicates in an LDPR, but servers should minimize + such restrictions.</p> + + <p>For some server applications, excessive constraints on + modification of resources may be required. However, enforcement of + more complex constraints will greatly restrict the set of clients + that can modify resources. For interoperability with a wider range + of clients, implementers are therefore encouraged to minimize + server-specific constraints.</p> + </section> + + </section> + <!-- End Best Practices Section --> + + <section id="guidelines"> + + <!--OddPage--><h2 id="h2_guidelines" role="heading" aria-level="1"><span class="secno">3. </span>Guidelines</h2> + + <section id="containers-are-not-limited-to-membership-and-containment-triples"> + + <h3 id="h3_containers-are-not-limited-to-membership-and-containment-triples" role="heading" aria-level="2"><span class="secno">3.1 </span>Containers are not limited to membership and containment triples</h3> + + <p>It is important to remember that a Linked Data Platform + Container (LDPC) is also a Linked Data Platform RDF Source (LDP-RS) and + though it might exist as a membership controller, it may also represent + additional data that is valuable to the agents that access + it.</p> + + </section> + + <section id="finding-established-vocabularies"> + <h3 id="h3_finding-established-vocabularies" role="heading" aria-level="2"><span class="secno">3.2 </span>Finding established vocabularies</h3> + + <p>Following are some useful resources for finding and leveraging + pre-existing, common, and well-established vocabularies.</p> + + + <ul> + <li><strong>Linked Open Vocabularies (LOV)</strong> + [<cite><a href="#bib-LOV" class="bibref">LOV</a></cite>] - an entry point to the growing + ecosystem of linked open vocabularies (RDFS or OWL ontologies) used + in the Linked Data Cloud. Users can find vocabularies listed and + individually described by metadata, classified by vocabulary spaces, + and interlinked using the dedicated vocabulary VOAF. The site allows + users to query the LOV dataset either at vocabulary level or at + element level, exploring the vocabulary content using full-text + faceted search, and finding metrics about the use of vocabularies in + the Semantic Web. Users can also suggest a new vocabulary to add to + LOV. [<cite><a href="#bib-LOV" class="bibref">LOV</a></cite>]</li> + <li><strong>Common Vocabularies / Ontologies / Micromodels</strong> [<cite><a href="#bib-LOD-COMMON-VOCABS" class="bibref">LOD-COMMON-VOCABS</a></cite>] - a wiki list maintained by the Linked Data LOD community project.</li> + </ul> + + <div style="clear: both"></div> + + </section> + + </section> + <!-- End Guidelines Section --> + + <section id="acknowledgements" class="appendix"> + <!--OddPage--><h2 id="h2_acknowledgements" role="heading" aria-level="1"><span class="secno">A. </span>Acknowledgements</h2> + <p>Many thanks to Robin Berjon and all contributors to the <a href="http://www.w3.org/respec/">ReSpec</a> tool, which makes writing these kinds of documents much easier. + </p> + <p>To the following individuals who, in addition to the editors, have contributed either directly or indirectly to the ongoing improvement of this document: + </p><ul> + <li><a href="http://lehors.wordpress.com/">Arnaud Le Hors</a>, IBM</li> + <li><a href="http://www.linkedin.com/pub/ashok-malhotra/4/675/6a2">Ashok Malhotra</a>, Oracle</li> + <li>Bart van Leeuwen</li> + <li>David Wood</li> + <li><a href="http://www.w3.org/People/Eric/">Eric Prud'hommeaux</a>, <abbr title="World Wide Web Consortium">W3C</abbr></li> + <li>Henry Story</li> + <li>John Arwe, IBM</li> + <li>Kevin Page</li> + <li>Miel Vander Sande</li> + <li><a href="http://melvincarvalho.com/">Melvin Carvalho</a></li> + <li>Raúl García Castro</li> + <li><a href="http://richard.cyganiak.de/">Richard Cyganiak</a></li> + <li><a href="http://www.linkedin.com/in/yadnem">Roger Menday</a>, Fujitsu Laboratories of Europe</li> + <li><a href="http://www.w3.org/People/Sandro/">Sandro Hawke</a>, <abbr title="World Wide Web Consortium">W3C</abbr></li> + <li><a href="http://stevebattle.me">Steve Battle</a></li> + <li><a href="http://stevespeicher.blogspot.com/">Steve Speicher</a>, IBM</li> + <li>Ted Thibodeau</li> + </ul> + </section> + + + + + +<section rel="bibo:Chapter" resource="#references" typeof="bibo:Chapter" id="references" class="appendix"><!--OddPage--><h2 id="h2_references" role="heading" aria-level="1"><span class="secno">B. </span>References</h2><section rel="bibo:Chapter" resource="#informative-references" typeof="bibo:Chapter" id="informative-references"><h3 id="h3_informative-references" role="heading" aria-level="2"><span class="secno">B.1 </span>Informative references</h3><dl about="" class="bibliography"><dt id="bib-DC-RDF">[DC-RDF]</dt><dd rel="dcterms:references">M. Nilsson et al. <a href="http://dublincore.org/documents/dc-rdf/"><cite>Expressing Dublin Core metadata using the Resource Description Framework (RDF)</cite></a>. 14 January 2008. DCMI Recommendation. URL: <a href="http://dublincore.org/documents/dc-rdf/">http://dublincore.org/documents/dc-rdf/</a> +</dd><dt id="bib-HTTP11">[HTTP11]</dt><dd rel="dcterms:references">R. Fielding, Ed.; J. Reschke, Ed.. <a href="http://www.ietf.org/rfc/rfc7230.txt"><cite>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite></a>. June 2014. Proposed Standard. URL: <a href="http://www.ietf.org/rfc/rfc7230.txt">http://www.ietf.org/rfc/rfc7230.txt</a> +</dd><dt id="bib-LD-DI">[LD-DI]</dt><dd rel="dcterms:references">Tim Berners-Lee. <a href="http://www.w3.org/DesignIssues/LinkedData.html"><cite>Linked Data - Design Issues</cite></a>. URL: <a href="http://www.w3.org/DesignIssues/LinkedData.html">http://www.w3.org/DesignIssues/LinkedData.html</a> +</dd><dt id="bib-LD-GLOSSARY">[LD-GLOSSARY]</dt><dd rel="dcterms:references">B Hyland; G Atemezing; M Pendleton; B Srivastava. <a href="http://www.w3.org/TR/ld-glossary/"><cite>Linked Data Glossary</cite></a>. URL: <a href="http://www.w3.org/TR/ld-glossary/">http://www.w3.org/TR/ld-glossary/</a> +</dd><dt id="bib-LDP">[LDP]</dt><dd rel="dcterms:references">Steve Speicher; John Arwe; Ashok Malhotra. <a href="http://www.w3.org/TR/ldp/"><cite>Linked Data Platform 1.0</cite></a>. 19 June 2014. W3C Candidate Recommendation. URL: <a href="http://www.w3.org/TR/ldp/">http://www.w3.org/TR/ldp/</a> +</dd><dt id="bib-LDP-PRIMER">[LDP-PRIMER]</dt><dd rel="dcterms:references">Nandana Mihindukulasooriya; Roger Menday. <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html"><cite>Linked Data Platforn Primer</cite></a>. W3C Working Draft. URL: <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html">https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html</a> +</dd><dt id="bib-LDP-TESTS">[LDP-TESTS]</dt><dd rel="dcterms:references">Raúl García-Castro. <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/Test%20Cases/LDP%20Test%20Cases.html"><cite>Linked Data Platform 1.0 Test Cases</cite></a>. W3C Working Draft. URL: <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/Test%20Cases/LDP%20Test%20Cases.html">https://dvcs.w3.org/hg/ldpwg/raw-file/tip/Test%20Cases/LDP%20Test%20Cases.html</a> +</dd><dt id="bib-LDP-UCR">[LDP-UCR]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/TR/ldp-ucr/"><cite>Linked Data Platform Use Cases and Requirements</cite></a>. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/ldp-ucr/">http://www.w3.org/TR/ldp-ucr/</a> +</dd><dt id="bib-LOD-COMMON-VOCABS">[LOD-COMMON-VOCABS]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies"><cite>Common Vocabularies / Ontologies / Micromodels </cite></a>. URL: <a href="http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies">http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies</a> +</dd><dt id="bib-LOV">[LOV]</dt><dd rel="dcterms:references"><a href="http://lov.okfn.org/dataset/lov/"><cite>Linked Open Vocabularies (LOV)</cite></a>. URL: <a href="http://lov.okfn.org/dataset/lov/">http://lov.okfn.org/dataset/lov/</a> +</dd><dt id="bib-RDF-PRIMER11">[RDF-PRIMER11]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/"><cite>RDF 1.1 Primer</cite></a>. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/">http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/</a> +</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd rel="dcterms:references">Dan Brickley; Ramanathan Guha. <a href="http://www.w3.org/TR/rdf-schema/"><cite>RDF Schema 1.1</cite></a>. 25 February 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-schema/">http://www.w3.org/TR/rdf-schema/</a> +</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:references">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax</cite></a>. January 2005. Internet Standard. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a> +</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd rel="dcterms:references">M. Duerst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs)</cite></a>. January 2005. Proposed Standard. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a> +</dd><dt id="bib-RFC7231">[RFC7231]</dt><dd rel="dcterms:references">R. Fielding, Ed.; J. Reschke, Ed.. <a href="http://www.ietf.org/rfc/rfc7231.txt"><cite>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite></a>. June 2014. Proposed Standard. URL: <a href="http://www.ietf.org/rfc/rfc7231.txt">http://www.ietf.org/rfc/rfc7231.txt</a> +</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd rel="dcterms:references">Eric Prud'hommeaux; Gavin Carothers. <a href="http://www.w3.org/TR/turtle/"><cite>RDF 1.1 Turtle</cite></a>. 25 February 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a> +</dd><dt id="bib-WEBARCH">[WEBARCH]</dt><dd rel="dcterms:references">Ian Jacobs; Norman Walsh. <a href="http://www.w3.org/TR/webarch/"><cite>Architecture of the World Wide Web, Volume One</cite></a>. 15 December 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/webarch/">http://www.w3.org/TR/webarch/</a> +</dd><dt id="bib-XMLSCHEMA11-2">[XMLSCHEMA11-2]</dt><dd rel="dcterms:references">David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. <a href="http://www.w3.org/TR/xmlschema11-2/"><cite>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</cite></a>. 5 April 2012. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlschema11-2/">http://www.w3.org/TR/xmlschema11-2/</a> +</dd><dt id="bib-metaDataInURI">[metaDataInURI]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/2001/tag/doc/metaDataInURI-31"><cite>The use of Metadata in URIs</cite></a>. finding. URL: <a href="http://www.w3.org/2001/tag/doc/metaDataInURI-31">http://www.w3.org/2001/tag/doc/metaDataInURI-31</a> +</dd></dl></section></section></body></html> \ No newline at end of file
--- a/TR/NOTE-ldp-bp-20140829/ldp-bp.html Mon Aug 25 16:45:08 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1209 +0,0 @@ -<!DOCTYPE html> -<html prefix="bibo: http://purl.org/ontology/bibo/ w3p: http://www.w3.org/2001/02pd/rec54#" content="en" property="dcterms:language" about="" typeof="bibo:Document w3p:NOTE" dir="ltr" lang="en"><head> -<title>Linked Data Platform Best Practices and Guidelines</title> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<!-- - === NOTA BENE === - For the three scripts below, if your spec resides on dev.w3 you can check them - out in the same tree and use relative links so that they'll work offline, - --> -<!-- script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script --> - - -<style>/***************************************************************** - * ReSpec 3 CSS - * Robin Berjon - http://berjon.com/ - *****************************************************************/ - -/* --- INLINES --- */ -em.rfc2119 { - text-transform: lowercase; - font-variant: small-caps; - font-style: normal; - color: #900; -} - -h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym, -h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr { - border: none; -} - -dfn { - font-weight: bold; -} - -a.internalDFN { - color: inherit; - border-bottom: 1px solid #99c; - text-decoration: none; -} - -a.externalDFN { - color: inherit; - border-bottom: 1px dotted #ccc; - text-decoration: none; -} - -a.bibref { - text-decoration: none; -} - -cite .bibref { - font-style: normal; -} - -code { - color: #C83500; -} - -/* --- TOC --- */ -.toc a, .tof a { - text-decoration: none; -} - -a .secno, a .figno { - color: #000; -} - -ul.tof, ol.tof { - list-style: none outside none; -} - -.caption { - margin-top: 0.5em; - font-style: italic; -} - -/* --- TABLE --- */ -table.simple { - border-spacing: 0; - border-collapse: collapse; - border-bottom: 3px solid #005a9c; -} - -.simple th { - background: #005a9c; - color: #fff; - padding: 3px 5px; - text-align: left; -} - -.simple th[scope="row"] { - background: inherit; - color: inherit; - border-top: 1px solid #ddd; -} - -.simple td { - padding: 3px 10px; - border-top: 1px solid #ddd; -} - -.simple tr:nth-child(even) { - background: #f0f6ff; -} - -/* --- DL --- */ -.section dd > p:first-child { - margin-top: 0; -} - -.section dd > p:last-child { - margin-bottom: 0; -} - -.section dd { - margin-bottom: 1em; -} - -.section dl.attrs dd, .section dl.eldef dd { - margin-bottom: 0; -} - -@media print { - .removeOnSave { - display: none; - } -} -</style><style>/* --- EXAMPLES --- */ -div.example-title { - min-width: 7.5em; - color: #b9ab2d; -} -div.example-title span { - text-transform: uppercase; -} -aside.example, div.example, div.illegal-example { - padding: 0.5em; - margin: 1em 0; - position: relative; - clear: both; -} -div.illegal-example { color: red } -div.illegal-example p { color: black } -aside.example, div.example { - padding: .5em; - border-left-width: .5em; - border-left-style: solid; - border-color: #e0cb52; - background: #fcfaee; -} - -aside.example div.example { - border-left-width: .1em; - border-color: #999; - background: #fff; -} -aside.example div.example div.example-title { - color: #999; -} - -</style> - -<link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-NOTE" /> - -<!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> - - - -<body id="respecDocument" role="document" class="h-entry"><div id="respecHeader" role="contentinfo" class="head"> - - <p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p> - - <h1 class="title p-name" id="title" property="dcterms:title">Linked Data Platform Best Practices and Guidelines</h1> - - <h2 id="w3c-working-group-note-29-august-2014" property="dcterms:issued" datatype="xsd:dateTime" content="2014-08-29T05:00:00.000Z"><abbr title="World Wide Web Consortium">W3C</abbr> Working Group Note <time class="dt-published" datetime="2014-08-29">29 August 2014</time></h2> - <dl> - - <dt>This version:</dt> - <dd><a class="u-url" href="http://www.w3.org/TR/2014/NOTE-ldp-bp-20140829/">http://www.w3.org/TR/2014/NOTE-ldp-bp-20140829/</a></dd> - <dt>Latest published version:</dt> - <dd><a href="http://www.w3.org/TR/ldp-bp/">http://www.w3.org/TR/ldp-bp/</a></dd> - - - <dt>Latest editor's draft:</dt> - <dd><a href="https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html">https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html</a></dd> - - <dt>Editors:</dt> - <dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Cody Burleson" href="http://codyburleson.com/">Cody Burleson</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://base22.com/">Base22</a></span> -</dd> -<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Miguel Esteban Gutiérrez" href="http://mayor2.dia.fi.upm.es/oeg-upm/index.php/en/phdstudents/27-mesteban">Miguel Esteban Gutiérrez</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.oeg-upm.net/">Ontology Engineering Group, Universidad Politécnica de Madrid</a></span> -</dd> -<dd class="p-author h-card vcard" rel="bibo:editor" inlist=""><span typeof="foaf:Person"><a class="u-url url p-name fn" rel="foaf:homepage" property="foaf:name" content="Nandana Mihindukulasooriya" href="http://www.nandana.org/">Nandana Mihindukulasooriya</a>, <a rel="foaf:workplaceHomepage" class="p-org org h-org h-card" href="http://www.oeg-upm.net/">Ontology Engineering Group, Universidad Politécnica de Madrid</a></span> -</dd> - - </dl> - - <p class="copyright"> - <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © - 2014 - - <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> - (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, - <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, - <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), - - All Rights Reserved. - - <abbr title="World Wide Web Consortium">W3C</abbr> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, - <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and - - <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> - - rules apply. - </p> - - - <hr> -</div> - - <section rel="bibo:Chapter" resource="#abstract" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2><p>This document provides best practices - and guidelines for implementing Linked Data Platform [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] servers - and clients.</p></section><section rel="bibo:Chapter" resource="#sotd" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2> - - - - <p> - <em>This section describes the status of this document at the time of its publication. - Other documents may supersede this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the - latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at - http://www.w3.org/TR/.</em> - </p> - - - - <p> - This document was published by the <a href="http://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform Working Group</a> as a Working Group Note. - - - If you wish to make comments regarding this document, please send them to - <a href="mailto:public-ldp@w3.org">public-ldp@w3.org</a> - (<a href="mailto:public-ldp-request@w3.org?subject=subscribe">subscribe</a>, - <a href="http://lists.w3.org/Archives/Public/public-ldp/">archives</a>). - - - - - All comments are welcome. - - </p> - - - <p> - Publication as a Working Group Note does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> - Membership. This is a draft document and may be updated, replaced or obsoleted by other - documents at any time. It is inappropriate to cite this document as other than work in - progress. - </p> - - - - <p> - - This document was produced by a group operating under the - <a id="sotd_patent" about="" rel="w3p:patentRules" href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <abbr title="World Wide Web Consortium">W3C</abbr> Patent - Policy</a>. - - - - - <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="http://www.w3.org/2004/01/pp-impl/55082/status" rel="disclosure">public list of any patent - disclosures</a> - - made in connection with the deliverables of the group; that page also includes - instructions for disclosing a patent. An individual who has actual knowledge of a patent - which the individual believes contains - <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential - Claim(s)</a> must disclose the information in accordance with - <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section - 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. - - - </p> - - <p>This document is governed by the <a id="w3c_process_revision" href="http://www.w3.org/2014/Process-20140801/">1 August 2014 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>. - </p> - - - - - -</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#intro"><span class="secno">1. </span>About this Document</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#impetus"><span class="secno">1.1 </span>Impetus</a></li><li class="tocline"><a class="tocxref" href="#terminology"><span class="secno">1.2 </span>Terminology</a></li><li class="tocline"><a class="tocxref" href="#prerequisites-and-assumptions"><span class="secno">1.3 </span>Prerequisites and Assumptions</a></li></ul></li><li class="tocline"><a class="tocxref" href="#best-practices"><span class="secno">2. </span>Best Practices</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#predicate-uris-should-be-http-urls"><span class="secno">2.1 </span>Predicate URIs should be HTTP URLs</a></li><li class="tocline"><a class="tocxref" href="#use-and-include-the-predicate-rdf-type-to-represent-the-concept-of-type-in-ldprs"><span class="secno">2.2 </span>Use and include the predicate rdf:type to represent the - concept of type in LDPRs</a></li><li class="tocline"><a class="tocxref" href="#use-relative-uris"><span class="secno">2.3 </span>Use relative URIs</a></li><li class="tocline"><a class="tocxref" href="#avoid-dot-segments-in-uris-of-posted-content-or-use-with-caution"><span class="secno">2.4 </span>Avoid dot-segments in URIs of POSTed content or use with caution</a></li><li class="tocline"><a class="tocxref" href="#represent-container-membership-with-hierarchical-uris"><span class="secno">2.5 </span>Represent container membership with hierarchical URIs</a></li><li class="tocline"><a class="tocxref" href="#include-a-trailing-slash-in-container-uris"><span class="secno">2.6 </span>Include a trailing slash in container URIs</a></li><li class="tocline"><a class="tocxref" href="#use-fragments-as-relative-identifiers"><span class="secno">2.7 </span>Use fragments as relative identifiers</a></li><li class="tocline"><a class="tocxref" href="#prefer-standard-datatypes"><span class="secno">2.8 </span>Prefer standard datatypes</a></li><li class="tocline"><a class="tocxref" href="#re-use-established-linked-data-vocabularies-instead-of-re--inventing-duplicates"><span class="secno">2.9 </span>Re-use established linked data vocabularies instead of - (re-)inventing duplicates</a></li><li class="tocline"><a class="tocxref" href="#use-qvalues-properly"><span class="secno">2.10 </span>Use qvalues properly</a></li><li class="tocline"><a class="tocxref" href="#respond-with-primary-urls-and-use-them-for-identity-comparison"><span class="secno">2.11 </span>Respond with primary URLs and use them for identity comparison</a></li><li class="tocline"><a class="tocxref" href="#representing-relationships-between-resources"><span class="secno">2.12 </span>Representing relationships between resources</a></li><li class="tocline"><a class="tocxref" href="#minimize-server-specific-constraints"><span class="secno">2.13 </span>Minimize server-specific constraints</a></li></ul></li><li class="tocline"><a class="tocxref" href="#guidelines"><span class="secno">3. </span>Guidelines</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#containers-are-not-limited-to-membership-and-containment-triples"><span class="secno">3.1 </span>Containers are not limited to membership and containment triples</a></li><li class="tocline"><a class="tocxref" href="#finding-established-vocabularies"><span class="secno">3.2 </span>Finding established vocabularies</a></li></ul></li><li class="tocline"><a class="tocxref" href="#acknowledgements"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a class="tocxref" href="#references"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section> - - - - - <section rel="bibo:Chapter" resource="#intro" typeof="bibo:Chapter" id="intro"> - - <!--OddPage--><h2 id="h2_intro" role="heading" aria-level="1"><span class="secno">1. </span>About this Document</h2> - - <section id="impetus"> - - <h3 id="h3_impetus" role="heading" aria-level="2"><span class="secno">1.1 </span>Impetus</h3> - - <p>While writing the Linked Data Platform Specification, the - authors and contributors felt compelled to share common conventions - and valuable lessons-learned. Yet, at the same time, they did not - wish to impose or imply unnecessary restrictions, or to make the - formal specification unnecessarily verbose. This document, along - with the LDP Primer [<cite><a href="#bib-LDP-PRIMER" class="bibref">LDP-PRIMER</a></cite>], was therefore developed to - provide additional context. Drawing upon the professional - experiences of its authors and contributors, research into the rich - history of related technologies, and continuous feedback from the - community at large, it aims to help system implementers avoid common - pitfalls, improve quality, and achieve greater interoperability with - other Linked Data systems.</p> - - </section> - - <section id="terminology"> - - <h3 id="h3_terminology" role="heading" aria-level="2"><span class="secno">1.2 </span>Terminology</h3> - - <p>For the purposes of this document, it is useful to - make a minor, yet important distinction between the term 'best - practice' and the term 'guideline'. We define and differentiate - the terms as follows:</p> - - <dl> - <dt>best practice</dt> - <dd>An implementation practice (method or technique) that has - consistently shown results superior to those achieved with other - means and that is used as a benchmark. Best practices within this - document apply specifically to the ways that LDP servers and - clients are implemented as well as how certain resources are - prepared and used with them. In this document, the best practices - might be used as a kind of check-list against which an implementer - can directly evaluate a system's design and code. Lack of adherence - to any given best practice, however, does not necessarily imply a - lack of quality; they are recommendations that are said to be - 'best' in most cases and in most contexts, but not all. A best - practice is always subject to improvement as we learn and evolve - the Web together.</dd> - <dt>guideline</dt> - <dd>A tip, a trick, a note, a suggestion, or answer to a - frequently asked question. Guidelines within this document provide - useful information that can advance an implementer's knowledge and - understanding, but that may not be directly applicable to an - implementation or recognized by consensus as a 'best practice'.</dd> - </dl> - - <p>Please see the Terminology section in Linked Data Platform 1.0 - [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] as well as the Linked Data Glossary [<cite><a href="#bib-LD-GLOSSARY" class="bibref">LD-GLOSSARY</a></cite>] for - definitions to a variety of terms used in this document and related - to the Linked Data sphere of knowledge.</p> - - </section> - - <section id="prerequisites-and-assumptions"> - - <h3 id="h3_prerequisites-and-assumptions" role="heading" aria-level="2"><span class="secno">1.3 </span>Prerequisites and Assumptions</h3> - - <p> - Implementers should have at least a general familiarity with the <a href="#informative-references">informative references</a> cited in - this document - especially the following: - </p> - - <ul> - <li><strong>RDF Vocabulary Description Language 1.0: RDF Schema</strong> - [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>] - The Resource Description Framework - (RDF) is a general-purpose language for representing information in - the Web and it is the defacto language for expressing Linked Data. - This specification describes how to use RDF to describe RDF - vocabularies.</li> - <li><strong>RDF Primer 1.1</strong> [<cite><a href="#bib-RDF-PRIMER11" class="bibref">RDF-PRIMER11</a></cite>] - This Primer is designed to - provide the reader with the basic knowledge required to effectively - use RDF. It introduces the basic concepts of RDF and describes its - XML syntax. It describes how to define RDF vocabularies using the - RDF Vocabulary Description Language, and gives an overview of some - deployed RDF applications. It also describes the content and - purpose of other RDF specification documents.</li> - <li><strong>Turtle - Terse RDF Triple Language</strong> - [<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>] - defines a textual syntax for RDF called Turtle that - allows RDF graphs to be completely written in a compact and natural - text form, with abbreviations for common usage patterns and - datatypes. RDF examples used in this document are expressed in - Turtle.</li> - <li><strong>Linked Data Glossary</strong> [<cite><a href="#bib-LD-GLOSSARY" class="bibref">LD-GLOSSARY</a></cite>] - a - useful glossary containing terms defined and used to describe - Linked Data, and its associated vocabularies and best practices for - publishing structured data on the Web.</li> - <li><strong>Linked Data Platform 1.0</strong> [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] - the - formal specification for the LDP read-write Linked Data - architecture, based on HTTP access to web resources that describe - their state using the RDF data model. - </li><li><strong>Linked Data Platform 1.0 Test Cases</strong> - [<cite><a href="#bib-LDP-TESTS" class="bibref">LDP-TESTS</a></cite>] - a standard set of tests provided by the <abbr title="World Wide Web Consortium">W3C</abbr>, which - can be use to verify an implementation's conformance to the LDP - specification.</li> - <li><strong>Linked Data Platform Primer</strong> [<cite><a href="#bib-LDP-PRIMER" class="bibref">LDP-PRIMER</a></cite>] - - an introduction to LDP, which describes the basic concepts of LDP - such as Linked Data Platform Resources (LDPRs), Linked Data - Platform Containers (LDPCs), and their affordances. The Primer - provides a running example illustrating how an LDP client can - interact with an LDP server in the context of a read-write Linked - Data application (i.e. how to use HTTP for accessing, updating, - creating and deleting resources from servers that expose their - resources as Linked Data).</li> - <li><strong>Linked Data Platform Use Cases and - Requirements</strong> [<cite><a href="#bib-LDP-UCR" class="bibref">LDP-UCR</a></cite>] - a set of user stories, use cases, - scenarios and requirements that motivate a simple read-write Linked - Data architecture, based on HTTP access to web resources that - describe their state using RDF.</li> - </ul> - - </section> - - </section> - - <section id="best-practices"> - - <!--OddPage--><h2 id="h2_best-practices" role="heading" aria-level="1"><span class="secno">2. </span>Best Practices</h2> - - <section id="predicate-uris-should-be-http-urls"> - - <h3 id="h3_predicate-uris-should-be-http-urls" role="heading" aria-level="2"><span class="secno">2.1 </span>Predicate URIs should be HTTP URLs</h3> - - <p>URIs are used to uniquely identify resources and URLs are used - to locate resources on the Web. That is to say that a URL is - expected to resolve to an actual resource, which can be retrieved - from the host. A URI, on the other hand, may also be a URL, but it - does not have to be; it may refer to something that has no - retrievable representation.</p> - - <p>One of the fundamental ideas behind Linked Data is that the - things referred to by HTTP URIs can actually be looked up - ("dereferenced"). This important principle was originally - outlined by Tim Berners-Lee as rule #2 of "the four rules" - for linking data [<cite><a href="#bib-LD-DI" class="bibref">LD-DI</a></cite>]. It is therefore ideal that predicate - URIs identify resources with representations that are retrievable. LDP - servers should at least provide [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>] representations of - these predicates where possible.</p> - - <p>Of course, it is also a common practice to reuse properties - from open vocabularies that are publicly available. In this case, - implementers have no control over the result when attempting to - dereference the URI. For this reason, publishers who wish to make - their vocabularies useful for linking data should strive to provide - a retrievable representation of the properties their vocabularies - define. Consequently, implementers are also expected to use this - practice as a benchmark for which to judge the efficacy of a - vocabulary's use for linking data.</p> - - </section> - - <section id="use-and-include-the-predicate-rdf-type-to-represent-the-concept-of-type-in-ldprs"> - - <h3 id="h3_use-and-include-the-predicate-rdf-type-to-represent-the-concept-of-type-in-ldprs" role="heading" aria-level="2"><span class="secno">2.2 </span>Use and include the predicate rdf:type to represent the - concept of type in LDPRs</h3> - - <p> - It is often very useful to know the type (class) of an LDPR, though - it is not essential to work with the interaction capabilities that - LDP offers. Still, to make data more useful in the broadest context, - type should be explicitly defined using the <code>rdf:type</code> - predicate defined by [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>]. - </p> - - <p>This provides a way for clients to easily determine the type(s) - of a resource without having to perform additional processing or - make additional HTTP requests. For example, clients that cannot - infer the type because they do not support inferencing can benefit - from this explicit declaration.</p> - - <div class="example"><div class="example-title"><span>Example 1</span>: Representation of an LDPR with explicit declaration of rdf:type</div><pre class="example">@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. -@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>. - -<http://www.w3.org/People/EM/contact#me> - a contact:Person; - contact:fullName "Eric Miller"; - contact:mailbox <mailto:em@w3.org>; - contact:personalTitle "Dr.".</pre></div> - - <p>The token 'a' in the predicate position of a Turtle triple represents the IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type. - In the example above, therefore, <code>a contact:Person</code> is the same as <code>rdf:type contact:Person</code> or the fully-qualified form, <code><http://www.w3.org/1999/02/22-rdf-syntax-ns#type> contact:Person</code>.</p> - - </section> - - <section id="use-relative-uris"> - - <h3 id="h3_use-relative-uris" role="heading" aria-level="2"><span class="secno">2.3 </span>Use relative URIs</h3> - - <!-- http://www.w3.org/2012/ldp/track/issues/29 --> - - <p>Relative URIs are useful to the Linked Data Platform in much - the same ways that relative URLs [<cite><a href="#bib-RFC3986" class="bibref">RFC3986</a></cite>] have been useful to - traditional web systems. Since the things referred to by Linked Data - URIs should provide a retrievable representation [<cite><a href="#bib-LD-DI" class="bibref">LD-DI</a></cite>], Linked - Data URIs are usually also URLs; they locate rather than just - identify. As such, the utilitarian value of relative URLs still - applies; especially since the LDP Container model promotes - hierarchical representations.</p> - - <p>Implementers should therefore align the function of relative - URIs in LDP with those of traditional relative URLs where possible - and appropriate. Aside from giving developers the comfort and - convenience of familiarity, they provide many of the same - advantages.</p> - - <dl> - <dt>Relative URIs are shorter than absolute URIs.</dt> - <dd> - <p>In many cases, this can aid development by making code and - RDF easier for humans to read. It can also reduce the size of - payloads, which in turn, can reduce network traffic and stress on - servers, while improving response times for end-users.</p> - - <div class="example"><div class="example-title"><span>Example 2</span>: Representation of http://example.org/container1/ with absolute URIs</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. -@prefix ldp: <http://www.w3.org/ns/ldp#>. - -<http://example.org/container1/> - a a ldp:Container, ldp:BasicContainer; - dcterms:title "A very simple container"; - ldp:contains - <http://example.org/container1/member1>, - <http://example.org/container1/member2>, - <http://example.org/container1/member3>.</pre></div> - - - <div class="example"><div class="example-title"><span>Example 3</span>: Representation of http://example.org/container1/ with relative URIs</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. -@prefix ldp: <http://www.w3.org/ns/ldp#>. - -<> a a ldp:Container, ldp:BasicContainer; - dcterms:title "A very simple container"; - ldp:contains <member1>, <member2>, <member3> .</pre></div> - - </dd> - - <dt>Relative URIs can make resources more portable.</dt> - <dd>When information which is already known from the context of - the base resource's retrieval is omitted, there can be less - information to modify when its location changes. This can make - copying resources to new servers or to a new position in a - containment hierarchy easier; in the preceding example, - a process that clones just the container need not adjust any of - its member URIs. - </dd> - - <dt>Relative URIs are convenient during development.</dt> - <dd>During development the scheme and network location - information in a URI may either be unknown or likely to change. The - commonly used 'localhost' for example, is better expressed by the - server name or a domain name. Developers often experience less - hassle by omitting this information. Additionally, the hierarchy - implied by a relative URI may be mimicked in a server file system, - which can help developers find and work with information, even when - the server isn't running.</dd> - - <dt>Relative URIs support arbitrary, machine-generated URIs.</dt> - <dd> - RESTful URLs are often defined by a pattern of hierarchical - 'collections', which clients interact with in very logical ways. - For example, when creating a new resource the client does not - typically know the name of the resource until after a successful - POST to a collection's URL. A POST to - <code>/people/</code> - for example, may create the resource - <code>/people/1</code> - . LDP Containers are such collections whose URIs can benefit from - the same model, which in some implementations, may actually be - crucial. - </dd> - </dl> - </section> - - <section id="avoid-dot-segments-in-uris-of-posted-content-or-use-with-caution"> - <h3 id="h3_avoid-dot-segments-in-uris-of-posted-content-or-use-with-caution" role="heading" aria-level="2"><span class="secno">2.4 </span>Avoid dot-segments in URIs of POSTed content or use with caution</h3> - - <p>The semantics of dot-segments (eg. <code>../</code>) within relative URIs may be implied by other - specifications and by common historical use, but in the case of LDP, additional consideration is required.</p> - - <p>The LDP specification states that... </p><blockquote>LDP servers <em title="MUST" class="rfc2119">MUST</em> assign the default base-URI for [<cite><a href="#bib-RFC3987" class="bibref">RFC3987</a></cite>] - relative-URI resolution - to be the HTTP Request-URI when the resource already exists, and to -the URI of the created resource when the request results in the creation - - of a new resource.</blockquote> It follows from this definition that use of <code>../</code> - and other non-null relative URI constructs during - POST can cause the posted content to be referring to resources in a -manner the client might not be able to predict. - Dot-segments should therefore be avoided unless the client knows -specifically what can be expected of the given implementation - and/or deployment.<p></p> - </section> - - - <section id="represent-container-membership-with-hierarchical-uris"> - - <h3 id="h3_represent-container-membership-with-hierarchical-uris" role="heading" aria-level="2"><span class="secno">2.5 </span>Represent container membership with hierarchical URIs</h3> - - <p>Hierarchical URIs are good for containers because they enable - the use of relative URIs. They also promote easy interaction with - resources that are modeled to represent parent-child relationships - where the child logically belongs to the parent.</p> - - <p> - One example of such a model can be found in the case of the - <code>oslc_cm:attachment</code> - container from the vocabularies defined by the <a href="http://open-services.net/">Open Service for Lifecycle - Management (OSLC)</a> community. The OSLC defines specifications and - vocabularies that are well-aligned to LDP. A resource in an OSLC - compliant change management system such as an issue or bug tracker - may have attachments represented by the - <code>oslc_cm:attachment</code> - container. The URI for such a container might be represented as - follows: - </p> - - <p> - <code>http://example.org/bugs/2314/attachments/</code> - </p> - - <p>From this URI, the URI of the parent resource which holds the - attachments is easily discerned. The base container for other - sibling resources can be discerned by moving up the hierarchy, which - is implied by the URI. Meta-data or binary content might be fetched - further down the hierarchy by using a URI such as the following:</p> - - <p> - <code>http://example.org/bugs/2314/attachments/1</code> - </p> - - <p>In addition to making the use of relative URIs possible, - hierarchical URIs make interacting with resources easier for users because - they represent the actual structure of the underlying graph. - Software agents (code acting on behalf of users [<cite><a href="#bib-WEBARCH" class="bibref">WEBARCH</a></cite>]) must be careful - before exploiting the structure of URIs, considering historical problems - when doing so ([<cite><a href="#bib-WEBARCH" class="bibref">WEBARCH</a></cite>], [<cite><a href="#bib-metaDataInURI" class="bibref">metaDataInURI</a></cite>]). - </p> - - </section> - - - <section id="include-a-trailing-slash-in-container-uris"> - - <!-- http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jan/0071.html --> - - <h3 id="h3_include-a-trailing-slash-in-container-uris" role="heading" aria-level="2"><span class="secno">2.6 </span>Include a trailing slash in container URIs</h3> - - <p>When representing container membership with hierarchical URLs, - including the trailing slash in a container's URI makes it - easier to use relative URIs. - Take the following container URI for example:</p> - - <p> - <code>http://example.org/container1</code> - </p> - - <p>It is more advantageous to use the following instead:</p> - - <p> - <code>http://example.org/container1/</code> - </p> - - <p>To illustrate the advantage, let's start with the following - container using absolute URIs:</p> - - <div class="example"><div class="example-title"><span>Example 4</span>: A simple container</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. -@prefix ldp: <http://www.w3.org/ns/ldp#>. - -<http://example.org/container1> - a a ldp:Container, ldp:BasicContainer; - dcterms:title "A very simple container"; - ldp:contains - <http://example.org/container1/member1>, - <http://example.org/container1/member2>, - <http://example.org/container1/member3>.</pre></div> - - <p>Suppose now that we wish to reflect the same resource using - relative URIs. If the URI of the container includes the trailing - slash, we end up with a very elegant representation, as shown below.</p> - - <div class="example"><div class="example-title"><span>Example 5</span>: Container URI is http://example.org/container1/</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. -@prefix ldp: <http://www.w3.org/ns/ldp#>. - -<> a a ldp:Container, ldp:BasicContainer; - dcterms:title "A very simple container"; - ldp:contains <member1>, <member2>, <member3> .</pre></div> - - <p>But suppose that we omit the trailing slash, issued an HTTP - GET, and the container returned the representation shown above. This - could produce a graph that is equivalent to the following:</p> - - <div class="example"><div class="example-title"><span>Example 6</span>: Container URI is http://example.org/container1</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. -@prefix ldp: <http://www.w3.org/ns/ldp#>. - -<http://example.org/container1> - a a ldp:Container, ldp:BasicContainer; - dcterms:title "A very simple container"; - ldp:contains - <http://example.org/member1>, - <http://example.org/member2>, - <http://example.org/member3>.</pre></div> - - <p>That is not what was intended; the member URLs lack the - <code>container</code> path segment. - The returned document would - have to be more verbose in order to be correct:</p> - - <div class="example"><div class="example-title"><span>Example 7</span>: Container URI is http://example.org/container1</div><pre class="example">@prefix dcterms: <http://purl.org/dc/terms/>. -@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. -@prefix ldp: <http://www.w3.org/ns/ldp#>. - -<> a a ldp:Container, ldp:BasicContainer; - dcterms:title "A very simple container"; - ldp:contains <container1/member1>, <container1/member2>, <container1/member3> .</pre></div> - - <p>So, clearly, the better solution is to ensure that container - URIs end with a trailing slash.</p> - - </section> - - - <section id="use-fragments-as-relative-identifiers"> - - <h3 id="h3_use-fragments-as-relative-identifiers" role="heading" aria-level="2"><span class="secno">2.7 </span>Use fragments as relative identifiers</h3> - - <p> - Resource URIs are permitted to end with a fragment; the fragment - component is delimited from the rest of the URI because it is - introduced by a hash mark (<b><code>#</code></b>). - For this reason, URIs with non-empty fragments are often called hash URIs; - a hash URI identifies a subordinate or related resource [<cite><a href="#bib-RFC3986" class="bibref">RFC3986</a></cite>]. - </p> - - <p> - Take the URI, - <code>http://www.example.org/products#item10245</code> - , for example. The non-fragment portion of the URI is the part preceding the hash mark, - <code>http://www.example.org/products</code> - , and the fragment identifier is the part that follows, - <code>item10245</code> - . - </p> - - <p>When expressing Linked Data Platform Resources in RDF, - fragments are useful because they can be expressed as relative URIs - on the document describing them. This is particularly handy for - describing multiple LDPRs whose representations are contained within - a single document.</p> - - <p> - First, it provides the convenience and efficiency of brevity. - Suppose, for example, the resources foo, bar, and baz are - contained in the same document. Since serving all of the - descriptions in a single document is acceptable, we can mint - relative URIs within the document using the fragment identifier ( - <code><#foo></code> - , - <code><#bar></code> - and - <code><#baz></code> - ). [<cite><a href="#bib-LDP" class="bibref">LDP</a></cite>] ensures that the default base URI is the document - URI ( - <code>http://www.example.org/products</code> - ), so the absolute URI for each is - the base URI, plus the hash mark, - plus the fragment identifier. - </p> - - - <p>Second, it can help avoid certain complexities inherent with - other approaches. Achieving the same result using three independent - dereferenceable URIs could be more involved because multiple - documents would have to be published, perhaps also including the - setup of 303 redirects.</p> - - <p> - <strong>See also:</strong> - </p> - - <p> - <a href="http://www.w3.org/TR/cooluris">Cool URIs for the - Semantic Web</a> - </p><ul> - <li><a href="http://www.w3.org/TR/cooluris/#hashuri">http://www.w3.org/TR/cooluris/#hashuri</a></li> - <li><a href="http://www.w3.org/TR/cooluris/#choosing">http://www.w3.org/TR/cooluris/#choosing</a></li> - </ul> - <p></p> - - <p> - <a href="http://www.w3.org/DesignIssues/Fragment.html">Axioms of - Web Architecture, URI References: Fragment Identifiers on URIs</a><br> - http://www.w3.org/DesignIssues/Fragment.html - </p> - - <p> - <a href="http://www.w3.org/2001/tag/doc/httpRange-14/2007-05-31/HttpRange-14">Dereferencing - HTTP URIs</a><br> - http://www.w3.org/2001/tag/doc/httpRange-14/2007-05-31/HttpRange-14 - </p> - - </section> - - - <section id="prefer-standard-datatypes"> - <h3 id="h3_prefer-standard-datatypes" role="heading" aria-level="2"><span class="secno">2.8 </span>Prefer standard datatypes</h3> - - <p>LDPR representations should use only the following standard - datatypes. RDF does not by itself define datatypes to be used for - literal property values, therefore a set of standard datatypes based - on [<cite><a href="#bib-XMLSCHEMA11-2" class="bibref">XMLSCHEMA11-2</a></cite>] and [<cite><a href="#bib-RDF-PRIMER11" class="bibref">RDF-PRIMER11</a></cite>] should be used:</p> - - <table class="simple"> - <thead> - <tr> - <th>URI</th> - <th>Description</th> - </tr> - </thead> - <tbody> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#boolean">http://www.w3.org/2001/XMLSchema#boolean</a></td> - <td>Boolean type as specified by XSD Boolean</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#date">http://www.w3.org/2001/XMLSchema#date</a></td> - <td>Date type as specified by XSD date</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#dateTime">http://www.w3.org/2001/XMLSchema#dateTime</a></td> - <td>Date and Time type as specified by XSD dateTime</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#decimal">http://www.w3.org/2001/XMLSchema#decimal</a></td> - <td>Decimal number type as specified by XSD Decimal</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#double">http://www.w3.org/2001/XMLSchema#double</a></td> - <td>Double floating-point number type as specified by XSD - Double</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#float">http://www.w3.org/2001/XMLSchema#float</a></td> - <td>Floating-point number type as specified by XSD Float</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#hexBinary">http://www.w3.org/2001/XMLSchema#hexBinary</a></td> - <td>Arbitrary hex-encoded binary data as specified by XSD hexBinary</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#integer">http://www.w3.org/2001/XMLSchema#integer</a></td> - <td>Integer number type as specified by XSD Integer</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#string">http://www.w3.org/2001/XMLSchema#string</a></td> - <td>String type as specified by XSD String</td> - </tr> - <tr> - <td><a href="http://www.w3.org/2001/XMLSchema#base64Binary">http://www.w3.org/2001/XMLSchema#base64Binary</a></td> - <td>Binary type as specified by XSD Base64Binary</td> - </tr> - <tr> - <td><a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</a></td> - <td>Literal XML value as specified by RDF</td> - </tr> - </tbody> - </table> - - </section> - - - <section id="re-use-established-linked-data-vocabularies-instead-of-re--inventing-duplicates"> - - <h3 id="h3_re-use-established-linked-data-vocabularies-instead-of-re--inventing-duplicates" role="heading" aria-level="2"><span class="secno">2.9 </span>Re-use established linked data vocabularies instead of - (re-)inventing duplicates</h3> - - <p> - This section summarizes some well-known RDF vocabularies that should - be used in Linked Data Platform Resources wherever a resource needs - to use a predicate whose meaning matches one of these. For example, - if a resource has a description, and the application semantics of - that description is compatible with - <code>dcterms:description</code> - , then - <code>dcterms:description</code> - should be used. If needed, additional application-specific - predicates may be used. A specification for a domain may require one - or more of these properties for a particular resource type. The - Range column in the tables below identifies the defined - <code>rdfs:range</code> - for the properties. - </p> - - <h3 id="common-properties">Common Properties</h3> - - <p> - <strong>From Dublin Core URI: <a href="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a></strong> - </p> - - <table class="simple"> - <thead> - <tr> - <th>Property</th> - <th>Range/DataType</th> - <th>Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>dcterms:contributor</td> - <td>dcterms:Agent</td> - <td></td> - </tr> - <tr> - <td>dcterms:creator</td> - <td>dcterms:Agent</td> - <td></td> - </tr> - <tr> - <td>dcterms:created</td> - <td>xsd:dateTime</td> - <td></td> - </tr> - <tr> - <td>dcterms:description</td> - <td>rdf:XMLLiteral</td> - <td>Descriptive text about the resource represented as rich - text in XHTML format. should include only content that is valid - and suitable inside an XHTML element.</td> - </tr> - <tr> - <td>dcterms:identifier</td> - <td>rdfs:Literal</td> - <td></td> - </tr> - <tr> - <td>dcterms:modified</td> - <td>xsd:dateTime</td> - <td></td> - </tr> - <tr> - <td>dcterms:relation</td> - <td>rdfs:Resource</td> - <td>The HTTP URI of a related resource. This is the predicate - to use when you don't know what else to use. If you know more - specifically what sort of relationship it is, use a more specific - predicate.</td> - </tr> - <tr> - <td>dcterms:subject</td> - <td>rdfs:Resource</td> - <td></td> - </tr> - <tr> - <td>dcterms:title</td> - <td>rdf:XMLLiteral</td> - <td>A name given to the resource. Represented as rich text in - XHTML format. should include only content that is valid inside an - XHTML element.</td> - </tr> - </tbody> - </table> - - <p> - The predicate - <code>dcterms:type</code> - should not be used, instead use - <code>rdf:type</code> - . [<cite><a href="#bib-DC-RDF" class="bibref">DC-RDF</a></cite>]. - </p> - - <p> - <strong>From RDF URI: <a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a></strong> - </p> - - <table class="simple"> - <thead> - <tr> - <th>Property</th> - <th>Range/DataType</th> - <th>Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>rdf:type</td> - <td>rdfs:Class</td> - <td>The type or types of the resource</td> - </tr> - </tbody> - </table> - - <p> - <strong>From RDF Schema URI: <a href="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</a></strong> - </p> - - <table class="simple"> - <thead> - <tr> - <th>Property</th> - <th>Range/DataType</th> - <th>Comment</th> - </tr> - </thead> - <tbody> - <tr> - <td>rdfs:member</td> - <td>rdfs:Resource</td> - <td> </td> - </tr> - <tr> - <td>rdfs:label</td> - <td>rdfs:Literal</td> - <td>Only use this in vocabulary documents, to define the name - of the vocabulary term.</td> - </tr> - </tbody> - </table> - - - - </section> - - - <section id="use-qvalues-properly"> - <h3 id="h3_use-qvalues-properly" role="heading" aria-level="2"><span class="secno">2.10 </span>Use qvalues properly</h3> - - <p>Quality factors allow the user or user agent to indicate the - relative degree of preference for a media-range, using the qvalue - scale from 0 to 1. The default value is q=1. Take the following for - example:</p> - - <p> - <code>Accept: text/turtle; q=0.5, application/json</code> - </p> - - <p>This should be interpreted as "I prefer application/json, but - send me text/turtle if it is the best available after a 50% - mark-down in quality."</p> - - <p>Improper handling of qvalues is a common problem in - implementations of content negotiation. - </p><p>Refer to Section 14, Header Field Definitions, in the - [<cite><a href="#bib-HTTP11" class="bibref">HTTP11</a></cite>] specification to understand the proper use and evaluation - of qvalues for both client and server implementations.</p> - - </section> - - <section id="respond-with-primary-urls-and-use-them-for-identity-comparison"> - <h3 id="h3_respond-with-primary-urls-and-use-them-for-identity-comparison" role="heading" aria-level="2"><span class="secno">2.11 </span>Respond with primary URLs and use them for identity comparison</h3> - - <p>Clients can access an LDPR using multiple URLs. An LDP server - should respond to each of those requests using a single consistent - URL, a primary URL, for the LDPR. This primary URL may be found - in the response's Location and/or Content-Location headers, and - potentially also in the representation of the LDPR. A common case is - URLs that vary by protocol, one HTTP and one HTTPS, but are - otherwise identical. In most cases those two URLs refer to the same - resource, and the server should respond to requests on either URL - with a single (primary) URL.</p> - - <p>Clients should use the primary URL as an LDPR's identity; - for example, when determining if two URLs refer to the same resource - clients should compare the primary URLs, not the URLs used to - access the resources. Note that this usage <em>does</em> imply that the - client has sufficient reason to trust the headers and/or content - by which the primary URL is communicated to the client, which is - beyond what HTTP alone can guarantee [<cite><a href="#bib-RFC7231" class="bibref">RFC7231</a></cite>]. - </p> - - </section> - - <section id="representing-relationships-between-resources"> - <h3 id="h3_representing-relationships-between-resources" role="heading" aria-level="2"><span class="secno">2.12 </span>Representing relationships between resources</h3> - <p>LDPRs can use one RDF triple to represent a link - (relationship) to another resource. Having the source resource’s URI - as the subject and the target resource’s URI as the object of the - triple is enough. Contrary to a misconception that readers with - certain backgrounds may assume, the creation of an - "intermediate link" resource is not required to express - the relationship.</p> - </section> - - <section id="minimize-server-specific-constraints"> - <h3 id="h3_minimize-server-specific-constraints" role="heading" aria-level="2"><span class="secno">2.13 </span>Minimize server-specific constraints</h3> - <p>LDP servers should enable simple creation and modification of - LDPRs.</p> - - <p>It may be common for LDP servers to put restrictions on - representations – for example, the range of rdf:type predicates, - datatypes of the objects of predicates, and the number of - occurrences of predicates in an LDPR, but servers should minimize - such restrictions.</p> - - <p>For some server applications, excessive constraints on - modification of resources may be required. However, enforcement of - more complex constraints will greatly restrict the set of clients - that can modify resources. For interoperability with a wider range - of clients, implementers are therefore encouraged to minimize - server-specific constraints.</p> - </section> - - </section> - <!-- End Best Practices Section --> - - <section id="guidelines"> - - <!--OddPage--><h2 id="h2_guidelines" role="heading" aria-level="1"><span class="secno">3. </span>Guidelines</h2> - - <section id="containers-are-not-limited-to-membership-and-containment-triples"> - - <h3 id="h3_containers-are-not-limited-to-membership-and-containment-triples" role="heading" aria-level="2"><span class="secno">3.1 </span>Containers are not limited to membership and containment triples</h3> - - <p>It is important to remember that a Linked Data Platform - Container (LDPC) is also a Linked Data Platform RDF Source (LDP-RS) and - though it might exist as a membership controller, it may also represent - additional data that is valuable to the agents that access - it.</p> - - </section> - - <section id="finding-established-vocabularies"> - <h3 id="h3_finding-established-vocabularies" role="heading" aria-level="2"><span class="secno">3.2 </span>Finding established vocabularies</h3> - - <p>Following are some useful resources for finding and leveraging - pre-existing, common, and well-established vocabularies.</p> - - - <ul> - <li><strong>Linked Open Vocabularies (LOV)</strong> - [<cite><a href="#bib-LOV" class="bibref">LOV</a></cite>] - an entry point to the growing - ecosystem of linked open vocabularies (RDFS or OWL ontologies) used - in the Linked Data Cloud. Users can find vocabularies listed and - individually described by metadata, classified by vocabulary spaces, - and interlinked using the dedicated vocabulary VOAF. The site allows - users to query the LOV dataset either at vocabulary level or at - element level, exploring the vocabulary content using full-text - faceted search, and finding metrics about the use of vocabularies in - the Semantic Web. Users can also suggest a new vocabulary to add to - LOV. [<cite><a href="#bib-LOV" class="bibref">LOV</a></cite>]</li> - <li><strong>Common Vocabularies / Ontologies / Micromodels</strong> [<cite><a href="#bib-LOD-COMMON-VOCABS" class="bibref">LOD-COMMON-VOCABS</a></cite>] - a wiki list maintained by the Linked Data LOD community project.</li> - </ul> - - <div style="clear: both"></div> - - </section> - - </section> - <!-- End Guidelines Section --> - - <section id="acknowledgements" class="appendix"> - <!--OddPage--><h2 id="h2_acknowledgements" role="heading" aria-level="1"><span class="secno">A. </span>Acknowledgements</h2> - <p>Many thanks to Robin Berjon and all contributors to the <a href="http://www.w3.org/respec/">ReSpec</a> tool, which makes writing these kinds of documents much easier. - </p> - <p>To the following individuals who, in addition to the editors, have -contributed either directly or indirectly to the ongoing improvement of -this document: - </p><ul> - <li><a href="http://lehors.wordpress.com/">Arnaud Le Hors</a>, IBM</li> - <li><a href="http://www.linkedin.com/pub/ashok-malhotra/4/675/6a2">Ashok Malhotra</a>, Oracle</li> - <li>Bart van Leeuwen</li> - <li>David Wood</li> - <li><a href="http://www.w3.org/People/Eric/">Eric Prud'hommeaux</a>, <abbr title="World Wide Web Consortium">W3C</abbr></li> - <li>Henry Story</li> - <li>John Arwe, IBM</li> - <li>Kevin Page</li> - <li>Miel Vander Sande</li> - <li><a href="http://melvincarvalho.com/">Melvin Carvalho</a></li> - <li>Raúl García Castro</li> - <li><a href="http://richard.cyganiak.de/">Richard Cyganiak</a></li> - <li><a href="http://www.linkedin.com/in/yadnem">Roger Menday</a>, Fujitsu Laboratories of Europe</li> - <li><a href="http://www.w3.org/People/Sandro/">Sandro Hawke</a>, <abbr title="World Wide Web Consortium">W3C</abbr></li> - <li><a href="http://stevebattle.me/">Steve Battle</a></li> - <li><a href="http://stevespeicher.blogspot.com/">Steve Speicher</a>, IBM</li> - <li>Ted Thibodeau</li> - </ul> - </section> - - - - - -<div style="position: fixed; top: 20px; right: 20px; width: 202px; text-align: right;" id="respec-ui" class="removeOnSave"><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255); font-weight: bold; border: 1px solid rgb(204, 204, 204); border-radius: 5px;">ReSpec</button><div style="background: none repeat scroll 0% 0% rgb(255, 255, 255); border: 1px solid rgb(0, 0, 0); width: 200px; display: none; text-align: left; margin-top: 5px; margin-right: 5px;"><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255); border-width: medium medium 1px; border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image: none; width: 100%; text-align: left; font-size: inherit;">Save Snapshot</button><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255); border-width: medium medium 1px; border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image: none; width: 100%; text-align: left; font-size: inherit;">About ReSpec</button><button style="background: none repeat scroll 0% 0% rgb(255, 255, 255); border-width: medium medium 1px; border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image: none; width: 100%; text-align: left; font-size: inherit;">Search Specref DB</button></div></div><section rel="bibo:Chapter" resource="#references" typeof="bibo:Chapter" id="references" class="appendix"><!--OddPage--><h2 id="h2_references" role="heading" aria-level="1"><span class="secno">B. </span>References</h2><section rel="bibo:Chapter" resource="#informative-references" typeof="bibo:Chapter" id="informative-references"><h3 id="h3_informative-references" role="heading" aria-level="2"><span class="secno">B.1 </span>Informative references</h3><dl about="" class="bibliography"><dt id="bib-DC-RDF">[DC-RDF]</dt><dd rel="dcterms:references">M. Nilsson et al. <a href="http://dublincore.org/documents/dc-rdf/"><cite>Expressing Dublin Core metadata using the Resource Description Framework (RDF)</cite></a>. 14 January 2008. DCMI Recommendation. URL: <a href="http://dublincore.org/documents/dc-rdf/">http://dublincore.org/documents/dc-rdf/</a> -</dd><dt id="bib-HTTP11">[HTTP11]</dt><dd rel="dcterms:references">R. Fielding, Ed.; J. Reschke, Ed.. <a href="http://www.ietf.org/rfc/rfc7230.txt"><cite>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite></a>. June 2014. Proposed Standard. URL: <a href="http://www.ietf.org/rfc/rfc7230.txt">http://www.ietf.org/rfc/rfc7230.txt</a> -</dd><dt id="bib-LD-DI">[LD-DI]</dt><dd rel="dcterms:references">Tim Berners-Lee. <a href="http://www.w3.org/DesignIssues/LinkedData.html"><cite>Linked Data - Design Issues</cite></a>. URL: <a href="http://www.w3.org/DesignIssues/LinkedData.html">http://www.w3.org/DesignIssues/LinkedData.html</a> -</dd><dt id="bib-LD-GLOSSARY">[LD-GLOSSARY]</dt><dd rel="dcterms:references">B Hyland; G Atemezing; M Pendleton; B Srivastava. <a href="http://www.w3.org/TR/ld-glossary/"><cite>Linked Data Glossary</cite></a>. URL: <a href="http://www.w3.org/TR/ld-glossary/">http://www.w3.org/TR/ld-glossary/</a> -</dd><dt id="bib-LDP">[LDP]</dt><dd rel="dcterms:references">Steve Speicher; John Arwe; Ashok Malhotra. <a href="http://www.w3.org/TR/ldp/"><cite>Linked Data Platform 1.0</cite></a>. 19 June 2014. W3C Candidate Recommendation. URL: <a href="http://www.w3.org/TR/ldp/">http://www.w3.org/TR/ldp/</a> -</dd><dt id="bib-LDP-PRIMER">[LDP-PRIMER]</dt><dd rel="dcterms:references">Nandana Mihindukulasooriya; Roger Menday. <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html"><cite>Linked Data Platforn Primer</cite></a>. W3C Working Draft. URL: <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html">https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html</a> -</dd><dt id="bib-LDP-TESTS">[LDP-TESTS]</dt><dd rel="dcterms:references">Raúl García-Castro. <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/Test%20Cases/LDP%20Test%20Cases.html"><cite>Linked Data Platform 1.0 Test Cases</cite></a>. W3C Working Draft. URL: <a href="https://dvcs.w3.org/hg/ldpwg/raw-file/tip/Test%20Cases/LDP%20Test%20Cases.html">https://dvcs.w3.org/hg/ldpwg/raw-file/tip/Test%20Cases/LDP%20Test%20Cases.html</a> -</dd><dt id="bib-LDP-UCR">[LDP-UCR]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/TR/ldp-ucr/"><cite>Linked Data Platform Use Cases and Requirements</cite></a>. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/ldp-ucr/">http://www.w3.org/TR/ldp-ucr/</a> -</dd><dt id="bib-LOD-COMMON-VOCABS">[LOD-COMMON-VOCABS]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies"><cite>Common Vocabularies / Ontologies / Micromodels </cite></a>. URL: <a href="http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies">http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies</a> -</dd><dt id="bib-LOV">[LOV]</dt><dd rel="dcterms:references"><a href="http://lov.okfn.org/dataset/lov/"><cite>Linked Open Vocabularies (LOV)</cite></a>. URL: <a href="http://lov.okfn.org/dataset/lov/">http://lov.okfn.org/dataset/lov/</a> -</dd><dt id="bib-RDF-PRIMER11">[RDF-PRIMER11]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/"><cite>RDF 1.1 Primer</cite></a>. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/">http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/</a> -</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd rel="dcterms:references">Dan Brickley; Ramanathan Guha. <a href="http://www.w3.org/TR/rdf-schema/"><cite>RDF Schema 1.1</cite></a>. 25 February 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-schema/">http://www.w3.org/TR/rdf-schema/</a> -</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:references">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax</cite></a>. January 2005. Internet Standard. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a> -</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd rel="dcterms:references">M. Duerst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs)</cite></a>. January 2005. Proposed Standard. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a> -</dd><dt id="bib-RFC7231">[RFC7231]</dt><dd rel="dcterms:references">R. Fielding, Ed.; J. Reschke, Ed.. <a href="http://www.ietf.org/rfc/rfc7231.txt"><cite>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</cite></a>. June 2014. Proposed Standard. URL: <a href="http://www.ietf.org/rfc/rfc7231.txt">http://www.ietf.org/rfc/rfc7231.txt</a> -</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd rel="dcterms:references">Eric Prud'hommeaux; Gavin Carothers. <a href="http://www.w3.org/TR/turtle/"><cite>RDF 1.1 Turtle</cite></a>. 25 February 2014. W3C Recommendation. URL: <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a> -</dd><dt id="bib-WEBARCH">[WEBARCH]</dt><dd rel="dcterms:references">Ian Jacobs; Norman Walsh. <a href="http://www.w3.org/TR/webarch/"><cite>Architecture of the World Wide Web, Volume One</cite></a>. 15 December 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/webarch/">http://www.w3.org/TR/webarch/</a> -</dd><dt id="bib-XMLSCHEMA11-2">[XMLSCHEMA11-2]</dt><dd rel="dcterms:references">David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. <a href="http://www.w3.org/TR/xmlschema11-2/"><cite>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</cite></a>. 5 April 2012. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlschema11-2/">http://www.w3.org/TR/xmlschema11-2/</a> -</dd><dt id="bib-metaDataInURI">[metaDataInURI]</dt><dd rel="dcterms:references"><a href="http://www.w3.org/2001/tag/doc/metaDataInURI-31"><cite>The use of Metadata in URIs</cite></a>. finding. URL: <a href="http://www.w3.org/2001/tag/doc/metaDataInURI-31">http://www.w3.org/2001/tag/doc/metaDataInURI-31</a> -</dd></dl></section></section></body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ldp-acr.html Mon Aug 25 16:47:16 2014 -0400 @@ -0,0 +1,220 @@ +<!DOCTYPE html> +<html> + <head> + <title>LDP Access Control</title> + <!-- Changed by: , 25-Aug-2014 --> + <meta charset='utf-8'> + <script src='https://www.w3.org/Tools/respec/respec-w3c-common' + async class='remove'></script> + <script class='remove'> + var respecConfig = { + // specification status (e.g. WD, LCWD, WG-NOTE, etc.). If in doubt use ED. + specStatus: "WG-NOTE", + + // the specification's short name, as in http://www.w3.org/TR/short-name/ + shortName: "ldp-acr", + + // if your specification has a subtitle that goes below the main + // formal title, define it here + subtitle : "Usecases and Requirements for Access Control for the Linked Data Platform", + + // if you wish the publication date to be other than the last modification, set this + // publishDate: "2009-08-06", + + // if the specification's copyright date is a range of years, specify + // the start date here: + // copyrightStart: "2005" + + // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date + // and its maturity status + // previousPublishDate: "1977-03-15", + // previousMaturity: "WD", + + // if there a publicly available Editor's Draft, this is the link + edDraftURI: "https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-acr.html", + + // if this is a LCWD, uncomment and set the end of its review period + // lcEnd: "2009-08-05", + + // editors, add as many as you like + // only "name" is required + editors: [ + { + name: "Ashok Malhotra" + , mailto: "ashok.malhotra@oracle.com" + , company: "Oracle America, Inc." + , companyURL: "http://www.oracle.com/" + }, + ], + + // name of the WG + wg: "Linked Data Platform WG", + + // URI of the public WG page + wgURI: "http://www.w3.org/2012/ldp", + + // name (without the @w3c.org) of the public mailing to which comments are due + wgPublicList: "public-ldp-comments@w3.org", + + // URI of the patent status for this WG, for Rec-track documents + // !!!! IMPORTANT !!!! + // This is important for Rec-track documents, do not copy a patent URI from a random + // document unless you know what you're doing. If in doubt ask your friendly neighbourhood + // Team Contact. + wgPatentURI: "http://www.w3.org/2004/01/pp-impl/55082/status", + // !!!! IMPORTANT !!!! MAKE THE ABOVE BLINK IN YOUR HEAD + }; + </script> + </head> + <body> + <section id='abstract'> + <p> + This note discusses usecases and requirements for Access Control for the + <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> + It also outlines a charter for developing a standard for HTTP-based access control. + The work delineated in the charter may be pursued in the Linked Data Platform WG or an independent, related WG. + </p> + </section> + + <section id='sotd'> + <p> + While the <a href="https://www.w3.org/2012/ldp/wiki/Main_Page">Linked Data Platform WG.</a> did not + address Access Control directly, a number of usescases and requirements were identified as part of its + deliberations. These usecases and requirements are captured in this document to serve as a basis for + future work. + </p> + </section> + + <section> + <h2>Access Control</h2> + <p> + Access Control is a mechanism through which an agent ( an HTTP server in this case ) permits other agents -- + individuals, organizations, and/or groups made up of these -- to perform certain operations on resources as + specified by policies for the resources and for the agents. Within this document, the resources are LDP resources, but the access + control may operate at different granularities: RDF or other documents, named graphs or individual triples. + The operations are typically create, read, update, and delete (CRUD) but other operations can easily be accomodated by + this design. + </p> + <p> + When an agent requests a collection of resources it gets to see only those resources or parts of resources + it is authorized for.</p> + <p> + Depending on the granularity, the access control mechanisms may affect performance, but should not affect + semantics.</p> + <p> + For access control to come into play, the server must restrict some operations on some resources. + </p> + </section> + <section> + <h2>Terminology</h2> + <ul> + <li>ACG: An Access Control Graph describes the permitted modes of access for particular agents to apecific resources.</li> + <li>ACG Resource: A resource whose representation contains one or more ACGs which the server relies + upon to make access control decisions.</li> + </ul> + </section> + <section> + <h2>Usecases</h2> + <section> + <h3>Access Control on manipulation of resources via HTTP</h3> + Adam's user agent attempts: + <ol> + <li>To CREATE, READ, UPDATE (or PATCH), or DELETE a resource identified by a URL. The server may immediately + allow or deny the request, or it may request that he authenticate to confirm his privileges, + as specified by the ACG for the Resource.</li> + <li>If he is denied access, an explanation of why all or part of his request was denied should be provided + so that it becomes possible to detect errors, and so that he may modify the request -- + potentially to include making a request for such privileges. + </li> + <li>Adam would ideally like to know whether he will be able to perform an Action on a Resource + before attempting such - i.e., whether he will have to authenticate before he is able to Read or Write the Resource. + </li> + </ol> + </section> + <section> + <h3>Editability of Access Control Rules using HTTP</h3> + <ol> + <li> + Bart's user agent logs on to a server and requests + the capability to read a group of related resources such as all the papers presented at a conference.</li> + </li> + <li>Employees with job titles VP or SVP can sign (update) supplier contracts.</li> + <li>Charlie, the Webmaster, would like to grant read access to the papers presented at a conference to all the + people who attended the conference.</li> + </ol> + </section> + <section> + <h3>User Interface Scenarios</h3> + Eddie's HTTP based user agent would like to provide a user interface to allow, where possible, Eddie to + <ol> + <li>Know if he can edit or delete a resource.</li> + <li>Know what he would have to do to have access to a resource ( be someone's friend, be part of a club, have + paid a fee )</li> + <li>Allow Eddie to edit the access control rules for a resource such as: + <ol> + <li>Allow friends of his to access a document.</li> + <li>Allow friends of his to POST to a container, but only read a subset of the contents of the container, + those posted by that agent for example.</li> + <li>Allow all the members of the LDP WG to create and edit resources including LDP Containers under a + specific URL pattern.</li> + <li>Allow all friends of friends as expressed by the foaf:knows relations in one's foaf profile to POST comments + to a container related to some content, and edit their own comments.</li> + <li>Allow the members of the LDP WG, the RWW CG, the WebID CG, and the member of the European Ontologist Network, + to work together on set of ontologies. It should be possible to drag and drop URLs for these groups, + found on the web, onto the User Interface as a way of creating the union of the members of the group.</li> + </ol> + </ol> + </section> + <section> + <h2>Requirements</h2> + <ul> + <li>An Agent must be able to authenticate itself to a server with an identifier or as the owner of a token. + ( All use cases )</li> + <li>Ability to specify a collection of agents, identifying agents with URIs, URI patterns, or by description. + (Usecase 3.2.2, 3.2.3)</li> + <li>Ability to specify a collection of resources, identified by URIs or URI patterns or by description, + with a specified access policy. (Usecase 3.2.1, 3.2.3)</li> + <li>Ability to connect a collection of agents with a collection of resources with given access privileges. + ( All use cases )</li> + </ul> + + <p>The above requirements require the ability, by an authorized agent, to CREATE, EDIT, UPDATE relevant ACGs. + + <ul> + <li>Ability to specify access privileges at a fine-grained level. (Usecase 3.1.2, 3.2.1.2)</li> + <li>The server should be able to describe access control policies for a resource. (Usecase 3.1.4, 3.3.1, 3.3.2)</li> + <li>The server should be able explain the reasons for access being disallowed in a machine readable format. + (Usecase 3.1.3) + </li> + <li>A user-agent should be able to find the ACG for a given resource.(Usecase 3.1.1)</li> + <li>The ability by one user agent to delegate the authority to create and edit ACGs to another agent.(Usecase 3.3.3)</li> + </ul> + </section> + <section> + <h2>Outline of a Charter for a Access Control WG</h2> + <p>An Access Control Graph (ACG) consists of two kinds of collections: a collection of agents and a collection of + resources. It then connects a collection of agents with a collection of resources with the connection identifying + the privileges the agents have on the resources: CREATE, READ, UPDATE, DELETE.</p> + <p>ACGs are resources in their own right and can have access control priviledges specified for them just like + any other resource. This permits the creation and modification of ACGs to be delegated. + </p> + <p> + The members of the collection of agents contain tokens that the agents obtain from some authentication service. + The members of the collection of resources are URIs or URI templates.</p> + <p>The WG will need to decide whether it also wants to define fine-grained access control at an attribute level.</p> +<section> +<h2>Deliverables</h2> +<ul> +<li>Define the collections that are part of the ACG and define how a collection of agents is connected to a +connection of resources.</li> +<li>Define how ACGs can be created and edited and how these rights can be delegated.</li> +<li>Describe a proof-of-concept implementation of how a request for access to a resource by an agent can be processed +efficiently with the ACG structure defined above.</li> +</ul> +</section> + </section> + </section> + + + </body> +</html>
--- a/tests/ldp-testsuite.html Mon Aug 25 16:45:08 2014 -0400 +++ b/tests/ldp-testsuite.html Mon Aug 25 16:47:16 2014 -0400 @@ -1,3 +1,3 @@ <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" prefix="td: http://www.w3.org/2006/03/test-description# ldpt: http://www.w3.org/ns/ldp/test#"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!-- rgarcia: Had to uncomment it so it can read the local image <base href="http://www.w3.org/TR/ldp/TestCases">--> <title>Linked Data Platform 1.0 Test Cases</title> <script src='https://www.w3.org/Tools/respec/respec-w3c-common' class='remove' async></script> <script class='remove'> var respecConfig = { // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED. specStatus : "unofficial", // the specification's short name, as in http://www.w3.org/TR/short-name/ shortName : "ldp-testsuite", // TODO: Confirm short name // if your specification has a subtitle that goes below the main // formal title, define it here // subtitle : "an excellent document", // if you wish the publication date to be other than today, set this // publishDate: "2009-08-06", // if the specification's copyright date is a range of years, specify // the start date here: // copyrightStart: "2005" // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date // and its maturity status //previousPublishDate: "2013-03-07", //previousMaturity: "FPWD", //previousURI: "http://www.w3.org/TR/2013/WD-ldp-20130307/", // if there a publicly available Editor's Draft, this is the link //edDraftURI: "http://www.w3.org/2012/ldp/hg/ldp.html", // if this is a LCWD, uncomment and set the end of its review period // lcEnd: "2009-08-05", // if you want to have extra CSS, append them to this list // it is recommended that the respec.css stylesheet be kept //extraCSS: ["https://dvcs.w3.org/hg/ldpwg/css/respec.css"], // editors, add as many as you like // only "name" is required editors : [ { name : "Raúl García-Castro", url : "http://www.garcia-castro.com/", company : "Ontology Engineering Group, Universidad Politécnica de Madrid", companyURL : "http://www.oeg-upm.net/" }, { name : "Fernando Serena", company : "Ontology Engineering Group, Universidad Politécnica de Madrid", companyURL : "http://www.oeg-upm.net/" }, { name: "Steve Speicher", url: "http://stevespeicher.blogspot.com", company: "IBM Corporation", companyURL: "http://ibm.com/" } ], // authors, add as many as you like. // This is optional, uncomment if you have authors as well as editors. // only "name" is required. Same format as editors. //authors: [ // { name: "Your Name", url: "http://example.org/", // company: "Your Company", companyURL: "http://example.com/" }, //], // name of the WG wg : "Linked Data Platform Working Group", // URI of the public WG page wgURI : "http://www.w3.org/2012/ldp", // name (without the @w3c.org) of the public mailing to which comments are due wgPublicList : "public-ldp-wg", // URI of the patent status for this WG, for Rec-track documents // !!!! IMPORTANT !!!! // This is important for Rec-track documents, do not copy a patent URI from a random // document unless you know what you're doing. If in doubt ask your friendly neighbourhood // Team Contact. wgPatentURI : "http://www.w3.org/2004/01/pp-impl/55082/status", doRDFa : "1.1", - localBiblio: { "LDP-PRIMER": { title: "Linked Data Platform 1.0 Primer", href: "https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html", authors: [ "Nandana Mihindukulasooriya", - "Roger Menday" ], status: "WD", deliveredBy: [ "http://www.w3.org/2012/ldp/" ], publisher: "W3C" }, "LDP-TESTCASES": { title: "Linked Data Platform Test Cases", href: "http://w3c.github.io/ldp-testsuite/", deliveredBy: [ "http://www.w3.org/2012/ldp/" ] }, "LDP-TESTSUITE-COVERAGE": { title: "Linked Data Platform Test Suite Coverage", href: "http://w3c.github.io/ldp-testsuite/report/ldp-testsuite-coverage-report.html", deliveredBy: [ "http://www.w3.org/2012/ldp/" ] }, "LDP-IMPL": { title: "Linked Data Platform Implementation Reports", href: "https://dvcs.w3.org/hg/ldpwg/raw-file/default/tests/reports/ldp.html", deliveredBy: [ "http://www.w3.org/2012/ldp/" ] }, } }; </script> </head> <body> <section id='abstract'> <p>The Linked Data Platform specification, informally LDP, describes the use of HTTP for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data. This document introduces the conditions that LDP servers must satisfy in order to be conformant with the specification and presents a common format for describing LDP test results. These test cases both illustrate the features of the specification and can be used for testing conformance. [[LINKED-DATA-PLATFORM]]</p> </section> <section id='sotd'> <p> <!--Empty. Nothing else to add.--> </p> </section> <section> <h2>Introduction</h2> <p> This document introduces a test suite that can be used to evaluate the conformance of LDP servers to the LDP specification [[LINKED-DATA-PLATFORM]]. The document also presents the design principles that guided the development of the test suite, a testing process, and a common format for describing test results.</p> <p>The purpose of the test cases is to illustrate the specification features and to help in testing conformance. The provided set of test cases is "incomplete" in the sense that passing all the tests does not prove that a given system conforms to the LDP specification; failing a test does, however, prove that the system does not conform to the specification.</p> <p>The presented format is intended to facilitate the use of tests by LDP server developers, e.g., in a test harness, as well as the extension of the test suite with new tests. Developers can check the LDP Primer [[LDP-PRIMER]] for concrete examples of inputs and expected outputs that can be used for testing. </p> </section> <section> <h2>Design principles</h2> <section> <h3>Generic vs domain-specific servers</h3> <p>There will be two types of servers implementing the LDP specification:</p> <ul> <li>Generic storage systems that allow interacting with their resources by means of the LDP specification. These servers do not impose any restriction on LDPRs.</li> <li>Servers exposing their data using the LDP specification. These servers impose restrictions on LDPRs since they have an underlying business logic and data model.</li> </ul> <p>In order to cover both types of servers, there are some basic input data and a way to provide specific input data in the test suite. It is up to the evaluator to define specific input data for a certain server. Evaluators must include these input data along with the results when reporting the results of a certain server.</p> </section> <section> <h3>Protocol evaluation vs data evaluation</h3> <p>The LDP specification includes restrictions on LDP servers at the protocol level and at the data level. Currently, the restrictions at the data level are minimal and servers are not forced to have a certain behavior when processing LDPR representations. Therefore, the test suite evaluates LDP servers mostly at a protocol level; the only exception is in the case of LDPCs, since they are required to include a <code>rdf:type</code>, containment and membership statements in their representation.</p> <p>It is out of the scope of the test suite to test LDP servers in terms of the restrictions imposed by their underlying data models.</p> </section> <section> <h3>Test suite coverage</h3> <p> The test suite covers those requirements present in the LDP specification of any compliance level: MUST, SHOULD and MAY. This set of absolute requirements identifies the core subset of the LDP specification, <dfn>LDP Core</dfn> from now on, and any LDP server that satisfies these absolute requirements will be an LDP Core conformant server. </p> <p>It is out of the scope of the test suite to test other levels of conformance in terms of optional capabilities (e.g., paging, patch formats).</p> <p> Furthermore, the LDP specification [[LINKED-DATA-PLATFORM]] contains a number of requirements that can not validated by automated means, these are identified in a coverage report for the [[LINKED-DATA-PLATFORM]]. These requirements will need to be validated by some non-automatic method and results evaluated. </p> </section> <section> <h3>Separation of results and assertions</h3> <p>Instead of defining expected results for tests, which will be dependent on specific implementations, we have defined the assertions to be made over test results. In order to successfully pass a test, all of the assertions must be satisfied.</p> <p>Separating test outputs and assertions has other benefits: it makes simpler to report tool results and assertions can be made by a third party.</p> </section> <section> <h3>Traceability of test cases</h3> <p>Any test case and its produced results and assertions should be related to those documents that are relevant for it (e.g., specifications, uses cases, etc.).</p> </section> </section> <section> <h2>Testing process</h2> <p>The LDP Test Cases are defined in a location, within Java source code. [[LDP-TESTCASES]] Details about each individual test case, such as information about whether it can be executed by automated means, manual or client only, will be found in the Java source code annotations. Also in the Java source code annotations the status of each test case, such as approved by the LDP Working Group, awaiting approval or not yet implemented.[[LDP-TESTSUITE-COVERAGE]]</p> <ol> <li>The person or agent in charge of executing the test cases in a specific LDP server will take the test case definitions and run every test case on the LDP server. The execution of test cases must produce a test execution report for the LDP server, in RDF format, that contains for every test case: the specific inputs used during its execution, the produced outputs, and the assertion of whether the test case is passed. The test execution report must be supplied as defined in the document on implementation reports. [[LDP-IMPL]]</li> <li>A report generator software will take all the LDP server execution reports and will generate an implementation report that includes the results of all the LDP servers. [[LDP-IMPL]]</li> </ol> <p><object data="TestingProcess.svg" type="image/svg+xml">Your browser does not support SVG.</object> </p> </section> <section> <h2>Describing testing artifacts in RDF</h2> <section> <h3>Namespaces used</h3> <p> The following vocabularies are reused for describing the testing artifacts: DOAP ( <code>doap</code> ), Dublin Core ( <code>dcterms</code> ) [[DC11]], FOAF ( <code>foaf</code> ) [[FOAF]], and W3C Test Metadata ( <code>td</code> ) [[TEST-METADATA]]. </p> <p> All the new required entities that are not covered by those vocabularies have been defined under a new namespace ( <code>ldpt</code> ), as well as the LDP test cases. </p> <p>Next we present the definition of these namespaces and of all the namespaces used in the examples.</p> <pre>dcterms: <http://purl.org/dc/terms/> doap: <http://usefulinc.com/ns/doap#> earl: <http://www.w3.org/ns/earl#> foaf: <http://xmlns.com/foaf/0.1/> mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> rdfs: <http://www.w3.org/2000/01/rdf-schema#> rdft: <http://www.w3.org/ns/rdftest#> td: <http://www.w3.org/2006/03/test-description#> ldpt: <http://www.w3.org/ns/ldp/test#></pre> </section> <section> <h3>Test case description</h3> <p> A <dfn id="dfn-test-case" title="test case">test case</dfn> is defined as an instance of the <code>td:TestCase</code> class and it can be further described using the following properties: </p> <ul> <li><code>rdfs:label</code>. The human-readable label of the test.</li> <li><code>mf:name</code>. Like <code>rdfs:label</code> but less human focus.</li> <li><code>dcterms:title</code>. The name of the test.</li> <li><code>dcterms:description</code>. The description of the test.</li> <li><code>dcterms:contributor</code>. The person (<code>foaf:Person</code>) contributing the test.</li> <li><code>dcterms:subject</code>. The grouping of test or compliance level.</li> <li><code>td:reviewStatus</code>. The status of the test; possible status are: <code>td:unreviewed</code>, <code>td:approved</code> or <code>td:rejected</code>.</li> <li><code>rdfs:seeAlso</code>. A link to the specification it refers to.</li> <li><code>td:specificationReference</code>. An <a href="#dfn-excerpt">excerpt</a> (<code>tn:Excerpt</code>) of the specification that is relevant to the test.</li> </ul> <p> An <dfn id="dfn-excerpt" title="excerpt">excerpt</dfn> is defined as an instance of the <code>tn:Excerpt</code> class and it can be further described using the following properties: </p> <ul> <li><code>rdfs:seeAlso</code>: The document where the excerpt is included.</li> <li><code>tn:includesText</code>. The excerpt from the document.</li> </ul> <p>The following example contains the description of one of the LDP test cases.</p> <pre class="example" id="test-case-example">ldpt:CommonResource-GetResource a td:TestCase; rdfs:label "CommonResource-GetResource"; mf:name "CommonResource-GetResource"; dcterms:title "GET on an LDPR"; dcterms:description "Tests making a GET request on an existing LDPR"; dcterms:contributor :RaulGarciaCastro; td:reviewStatus td:approved; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-must>; dcterms:subject "MUST" ; td:specificationReference [ a tn:Excerpt; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-must>; tn:includesText "LDP servers MUST support the HTTP GET Method for LDPRs". ]. :RaulGarciaCastro a foaf:Person; rdfs:label "Raúl García-Castro"; owl:sameAs <http://www.garcia-castro.com/#me>.</pre> </section> <section> <h3> Test case assertion description </h3> <p> An <dfn id="dfn-assertion" title="assertion">assertion</dfn> is defined as an instance of the <code>earl:Assertion</code> class and it can be further described using the following properties: </p> <ul> <li><code>earl:subject</code>.The subject (<code>doap:Project</code>) asserted.</li> <li><code>earl:test</code>. The <a href="#dfn-test-case">test case</a> (<code>td:TestCase</code>) to which the assertion refers to.</li> <li><code>dcterms:date</code>. The date when the assertion was performed.</li> <li><code>earl:assertedBy</code>. The validator (<code>doap:Project</code>) that makes the assertion.</li> <li><code>earl:mode</code>. The execution mode of the validator. In this case it will always be <code>earl:automatic</code>.</li> <li><code>earl:result</code>. The outcome value (<code>earl:OutcomeValue</code>) of the assertion.</li> </ul> <p>The following example contains the description of one test assertion.</p> <pre class="example" id="test-assertion-example">:TCR1-Assertion-SomeServer a earl:Assertion; earl:subject :AwesomeLDP; earl:test ldpt:CommonResource-GetResource; earl:assertedBy :AwesomeLDP; earl:mode: earl:automatic; earl:result [ a earl:OutcomeValue ; dcterms:date "2014-07-06T09:30:10"; earl:outcome earl:passed ]. :AwesomeLDP a doap:Project, earl:TestSubject, earl:Software, earl:Assertor; doap:name "Awesome LDP"; doap:description "Awesome LDP implementation"; doap:developer [ a foaf:Person ; foaf:mbox "awesomeldp@example.org" ; foaf:name "Dope Developer" ]; doap:homepage <http://example.org/AwesomeLDP>; doap:programming-language "JavaScript".</pre> </section> </section> </section> </section> <section class="appendix"> <h2>Change history</h2> <ul> <li>2014-07-08 Various grammar fixes and removed todos (SS)</li> <li>2014-07-07 Further alignment with current testing approach and namespaces (SS)</li> <li>2014-06-22 Brought inline with separate automated testsuite hosted on GitHub (SS)</li> <li>2014-04-09 Updated according to Last Call Working Draft from 11 March 2014 (FS and RGC)</li> <li>2013-08-27 Updated according to Last Call Working Draft from 30 July 2013 (RGC)</li> <li>2013-06-03 Updated to use ReSpec (RGC)</li> <li>2013-06-03 Implemented <a href="http://lists.w3.org/Archives/Public/public-ldp-wg/2013May/0153.html">changes suggested by Eric Prud'hommeaux</a> (RGC) </li> </ul> </section> </body> </html> \ No newline at end of file + localBiblio: { "LDP-PRIMER": { title: "Linked Data Platform 1.0 Primer", href: "http://www.w3.org/TR/ldp-primer/", authors: [ "Nandana Mihindukulasooriya", + "Roger Menday" ], status: "NOTE", deliveredBy: [ "http://www.w3.org/2012/ldp/" ], publisher: "W3C" }, "LDP-TESTCASES": { title: "Linked Data Platform Test Cases", href: "http://w3c.github.io/ldp-testsuite/", deliveredBy: [ "http://www.w3.org/2012/ldp/" ] }, "LDP-TESTSUITE-COVERAGE": { title: "Linked Data Platform Test Suite Coverage", href: "http://w3c.github.io/ldp-testsuite/report/ldp-testsuite-coverage-report.html", deliveredBy: [ "http://www.w3.org/2012/ldp/" ] }, "LDP-CONFORM": { title: "Linked Data Platform Implementation Conformance Report", href: "https://dvcs.w3.org/hg/ldpwg/raw-file/default/tests/reports/ldp.html", deliveredBy: [ "http://www.w3.org/2012/ldp/" ] }, } }; </script> </head> <body> <section id='abstract'> <p>The Linked Data Platform specification, informally LDP, describes the use of HTTP for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data. This document introduces the conditions that LDP servers must satisfy in order to be conformant with the specification and presents a common format for describing LDP test results. These test cases both illustrate the features of the specification and can be used for testing conformance. [[LINKED-DATA-PLATFORM]]</p> </section> <section id='sotd'> <p> <!--Empty. Nothing else to add.--> </p> </section> <section> <h2>Introduction</h2> <p> This document introduces a test suite that can be used to evaluate the conformance of LDP servers to the LDP specification [[LINKED-DATA-PLATFORM]]. The document also presents the design principles that guided the development of the test suite, a testing process, and a common format for describing test results.</p> <p>The purpose of the test cases is to illustrate the specification features and to help in testing conformance. The provided set of test cases is "incomplete" in the sense that passing all the tests does not prove that a given system conforms to the LDP specification; failing a test does, however, prove that the system does not conform to the specification.</p> <p>The presented format is intended to facilitate the use of tests by LDP server developers, e.g., in a test harness, as well as the extension of the test suite with new tests. Developers can check the LDP Primer [[LDP-PRIMER]] for concrete examples of inputs and expected outputs that can be used for testing. </p> </section> <section> <h2>Design principles</h2> <section> <h3>Generic vs domain-specific servers</h3> <p>There will be two types of servers implementing the LDP specification:</p> <ul> <li>Generic storage systems that allow interacting with their resources by means of the LDP specification. These servers do not impose any restriction on LDPRs.</li> <li>Servers exposing their data using the LDP specification. These servers impose restrictions on LDPRs since they have an underlying business logic and data model.</li> </ul> <p>In order to cover both types of servers, there are some basic input data and a way to provide specific input data in the test suite. It is up to the evaluator to define specific input data for a certain server. Evaluators must include these input data along with the results when reporting the results of a certain server.</p> </section> <section> <h3>Protocol evaluation vs data evaluation</h3> <p>The LDP specification includes restrictions on LDP servers at the protocol level and at the data level. Currently, the restrictions at the data level are minimal and servers are not forced to have a certain behavior when processing LDPR representations. Therefore, the test suite evaluates LDP servers mostly at a protocol level; the only exception is in the case of LDPCs, since they are required to include a <code>rdf:type</code>, containment and membership statements in their representation.</p> <p>It is out of the scope of the test suite to test LDP servers in terms of the restrictions imposed by their underlying data models.</p> </section> <section> <h3>Test suite coverage</h3> <p> The test suite covers those requirements present in the LDP specification of any compliance level: MUST, SHOULD and MAY. This set of absolute requirements identifies the core subset of the LDP specification, <dfn>LDP Core</dfn> from now on, and any LDP server that satisfies these absolute requirements will be an LDP Core conformant server. </p> <p>It is out of the scope of the test suite to test other levels of conformance in terms of optional capabilities (e.g., paging, patch formats).</p> <p> Furthermore, the LDP specification [[LINKED-DATA-PLATFORM]] contains a number of requirements that can not validated by automated means, these are identified in a coverage report for the [[LINKED-DATA-PLATFORM]]. These requirements will need to be validated by some non-automatic method and results evaluated. </p> </section> <section> <h3>Separation of results and assertions</h3> <p>Instead of defining expected results for tests, which will be dependent on specific implementations, we have defined the assertions to be made over test results. In order to successfully pass a test, all of the assertions must be satisfied.</p> <p>Separating test outputs and assertions has other benefits: it makes simpler to report tool results and assertions can be made by a third party.</p> </section> <section> <h3>Traceability of test cases</h3> <p>Any test case and its produced results and assertions should be related to those documents that are relevant for it (e.g., specifications, uses cases, etc.).</p> </section> </section> <section> <h2>Testing process</h2> <p>The LDP Test Cases are defined in a location, within Java source code. [[LDP-TESTCASES]] Details about each individual test case, such as information about whether it can be executed by automated means, manual or client only, will be found in the Java source code annotations. Also in the Java source code annotations the status of each test case, such as approved by the LDP Working Group, awaiting approval or not yet implemented.[[LDP-TESTSUITE-COVERAGE]]</p> <ol> <li>The person or agent in charge of executing the test cases in a specific LDP server will take the test case definitions and run every test case on the LDP server. The execution of test cases must produce a test execution report for the LDP server, in RDF format, that contains for every test case: the specific inputs used during its execution, the produced outputs, and the assertion of whether the test case is passed. The test execution report must be supplied as defined in the document on implementation conformance reports. [[LDP-CONFORM]]</li> <li>A report generator software will take all the LDP server execution reports and will generate an implementation report that includes the results of all the LDP servers. [[LDP-CONFORM]]</li> </ol> <p><object data="TestingProcess.svg" type="image/svg+xml">Your browser does not support SVG.</object> </p> <section> <h2>Submitting results</h2> <p>Here is a summary of the steps needed for an assertor to submit the compliance results for an implementation.</p> <ul> <li>Run the automated test suite [[LDP-TESTCASES]]</li> <li>Run the manual tests and update the results within the same EARL results file</li> <li>Email results file (at minimum) EARL file (Turtle preferred) to <a href="mailto:public-ldp-comments@w3.org">public-ldp-comments@w3.org</a>. Be sure to indicate if this is intended to replace any previously submitted results. It is also helpful to indicate if these are preliminary results and that plans are to submit additional progress in the future.</li> </ul> </section> </section> <section> <h2>Describing testing artifacts in RDF</h2> <section> <h3>Namespaces used</h3> <p> The following vocabularies are reused for describing the testing artifacts: DOAP ( <code>doap</code> ), Dublin Core ( <code>dcterms</code> ) [[DC11]], FOAF ( <code>foaf</code> ) [[FOAF]], and W3C Test Metadata ( <code>td</code> ) [[TEST-METADATA]]. </p> <p> All the new required entities that are not covered by those vocabularies have been defined under a new namespace ( <code>ldpt</code> ), as well as the LDP test cases. </p> <p>Next we present the definition of these namespaces and of all the namespaces used in the examples.</p> <pre>dcterms: <http://purl.org/dc/terms/> doap: <http://usefulinc.com/ns/doap#> earl: <http://www.w3.org/ns/earl#> foaf: <http://xmlns.com/foaf/0.1/> mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> rdfs: <http://www.w3.org/2000/01/rdf-schema#> rdft: <http://www.w3.org/ns/rdftest#> td: <http://www.w3.org/2006/03/test-description#> ldpt: <http://www.w3.org/ns/ldp/test#></pre> </section> <section> <h3>Test case description</h3> <p> A <dfn id="dfn-test-case" title="test case">test case</dfn> is defined as an instance of the <code>td:TestCase</code> class and it can be further described using the following properties: </p> <ul> <li><code>rdfs:label</code>. The human-readable label of the test.</li> <li><code>mf:name</code>. Like <code>rdfs:label</code> but less human focus.</li> <li><code>dcterms:title</code>. The name of the test.</li> <li><code>dcterms:description</code>. The description of the test.</li> <li><code>dcterms:contributor</code>. The person (<code>foaf:Person</code>) contributing the test.</li> <li><code>dcterms:subject</code>. The grouping of test or compliance level.</li> <li><code>td:reviewStatus</code>. The status of the test; possible status are: <code>td:unreviewed</code>, <code>td:approved</code> or <code>td:rejected</code>.</li> <li><code>rdfs:seeAlso</code>. A link to the specification it refers to.</li> <li><code>td:specificationReference</code>. An <a href="#dfn-excerpt">excerpt</a> (<code>tn:Excerpt</code>) of the specification that is relevant to the test.</li> </ul> <p> An <dfn id="dfn-excerpt" title="excerpt">excerpt</dfn> is defined as an instance of the <code>tn:Excerpt</code> class and it can be further described using the following properties: </p> <ul> <li><code>rdfs:seeAlso</code>: The document where the excerpt is included.</li> <li><code>tn:includesText</code>. The excerpt from the document.</li> </ul> <p>The following example contains the description of one of the LDP test cases.</p> <pre class="example" id="test-case-example">ldpt:CommonResource-GetResource a td:TestCase; rdfs:label "CommonResource-GetResource"; mf:name "CommonResource-GetResource"; dcterms:title "GET on an LDPR"; dcterms:description "Tests making a GET request on an existing LDPR"; dcterms:contributor :RaulGarciaCastro; td:reviewStatus td:approved; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-must>; dcterms:subject "MUST" ; td:specificationReference [ a tn:Excerpt; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-must>; tn:includesText "LDP servers MUST support the HTTP GET Method for LDPRs". ]. :RaulGarciaCastro a foaf:Person; rdfs:label "Raúl García-Castro"; owl:sameAs <http://www.garcia-castro.com/#me>.</pre> </section> <section> <h3> Test case assertion description </h3> <p> An <dfn id="dfn-assertion" title="assertion">assertion</dfn> is defined as an instance of the <code>earl:Assertion</code> class and it can be further described using the following properties: </p> <ul> <li><code>earl:subject</code>.The subject (<code>doap:Project</code>) asserted.</li> <li><code>earl:test</code>. The <a href="#dfn-test-case">test case</a> (<code>td:TestCase</code>) to which the assertion refers to.</li> <li><code>dcterms:date</code>. The date when the assertion was performed.</li> <li><code>earl:assertedBy</code>. The validator (<code>doap:Project</code>) that makes the assertion.</li> <li><code>earl:mode</code>. The execution mode of the validator. In this case it will always be <code>earl:automatic</code>.</li> <li><code>earl:result</code>. The outcome value (<code>earl:OutcomeValue</code>) of the assertion.</li> </ul> <p>The following example contains the description of one test assertion.</p> <pre class="example" id="test-assertion-example">:TCR1-Assertion-SomeServer a earl:Assertion; earl:subject :AwesomeLDP; earl:test ldpt:CommonResource-GetResource; earl:assertedBy :AwesomeLDP; earl:mode: earl:automatic; earl:result [ a earl:OutcomeValue ; dcterms:date "2014-07-06T09:30:10"; earl:outcome earl:passed ]. :AwesomeLDP a doap:Project, earl:TestSubject, earl:Software, earl:Assertor; doap:name "Awesome LDP"; doap:description "Awesome LDP implementation"; doap:developer [ a foaf:Person ; foaf:mbox "awesomeldp@example.org" ; foaf:name "Dope Developer" ]; doap:homepage <http://example.org/AwesomeLDP>; doap:programming-language "JavaScript".</pre> </section> </section> </section> </section> <section class="appendix"> <h2>Change history</h2> <ul> <li>2014-08-25 Added section on submitting results and fixed references (SS)</li> <li>2014-07-08 Various grammar fixes and removed todos (SS)</li> <li>2014-07-07 Further alignment with current testing approach and namespaces (SS)</li> <li>2014-06-22 Brought inline with separate automated testsuite hosted on GitHub (SS)</li> <li>2014-04-09 Updated according to Last Call Working Draft from 11 March 2014 (FS and RGC)</li> <li>2013-08-27 Updated according to Last Call Working Draft from 30 July 2013 (RGC)</li> <li>2013-06-03 Updated to use ReSpec (RGC)</li> <li>2013-06-03 Implemented <a href="http://lists.w3.org/Archives/Public/public-ldp-wg/2013May/0153.html">changes suggested by Eric Prud'hommeaux</a> (RGC) </li> </ul> </section> </body> </html> \ No newline at end of file
--- a/tests/reports/ldp-earl-manifest.jsonld Mon Aug 25 16:45:08 2014 -0400 +++ b/tests/reports/ldp-earl-manifest.jsonld Mon Aug 25 16:47:16 2014 -0400 @@ -4,174 +4,209 @@ "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr", - "td:includesText" : "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." - }, { - "@id" : "_:t100", + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", + "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " + }, { + "@id" : "_:t102", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." }, { - "@id" : "_:t103", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", - "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " - }, { - "@id" : "_:t107", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", - "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." - }, { - "@id" : "_:t108", + "@id" : "_:t105", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes", + "td:includesText" : "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." + }, { + "@id" : "_:t106", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", + "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " + }, { + "@id" : "_:t112", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", + "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." + }, { + "@id" : "_:t113", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." + }, { + "@id" : "_:t114", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t115", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-created201", + "td:includesText" : "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." + }, { + "@id" : "_:t116", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-options-linkmetahdr", "td:includesText" : "When responding to requests whose request-URI is a LDP-NR with anassociated LDP-RS, a LDPC server must provide the same HTTP Link responseheader as is required in the create response" }, { - "@id" : "_:t111", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", - "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." - }, { - "@id" : "_:t114", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-binary", - "td:includesText" : "LDP servers may host a mixture of LDP-RSs and LDP-NRs. For example, it is common for LDP servers to need to host binary or text resources that do not have useful RDF representations." - }, { "@id" : "_:t117", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpic-indirectmbr", - "td:includesText" : "LDP Indirect Containers MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is ldp:insertedContentRelation, and whose object ICR describes how the member-derived-URI in the container's membership triples is chosen." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-patch-req", + "td:includesText" : "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " }, { "@id" : "_:t118", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." - }, { - "@id" : "_:t119", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", - "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." }, { "@id" : "_:t12", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-created201", - "td:includesText" : "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." - }, { - "@id" : "_:t126", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", - "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." - }, { - "@id" : "_:t128", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." - }, { - "@id" : "_:t13", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", - "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." - }, { - "@id" : "_:t133", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", - "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." - }, { - "@id" : "_:t134", - "rdf:type" : { - "@id" : "td:Excerpt" - }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr", "td:includesText" : "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." }, { + "@id" : "_:t121", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", + "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." + }, { + "@id" : "_:t128", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-binary", + "td:includesText" : "LDP servers may host a mixture of LDP-RSs and LDP-NRs. For example, it is common for LDP servers to need to host binary or text resources that do not have useful RDF representations." + }, { + "@id" : "_:t129", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", + "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." + }, { + "@id" : "_:t13", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-mbrprops", + "td:includesText" : "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." + }, { + "@id" : "_:t130", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", + "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." + }, { + "@id" : "_:t131", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." + }, { + "@id" : "_:t132", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", + "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + }, { + "@id" : "_:t133", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-isldpr", + "td:includesText" : "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source." + }, { + "@id" : "_:t134", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", + "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + }, { + "@id" : "_:t137", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", + "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." + }, { + "@id" : "_:t138", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." + }, { "@id" : "_:t139", "rdf:type" : { "@id" : "td:Excerpt" }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", + "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " + }, { + "@id" : "_:t140", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" + }, { + "@id" : "_:t141", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr", + "td:includesText" : "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." + }, { + "@id" : "_:t144", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." + }, { + "@id" : "_:t147", + "rdf:type" : { + "@id" : "td:Excerpt" + }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." }, { - "@id" : "_:t14", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t140", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", - "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " - }, { - "@id" : "_:t141", + "@id" : "_:t148", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." }, { - "@id" : "_:t142", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createbins", - "td:includesText" : "LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources." - }, { - "@id" : "_:t147", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-mincontraints", - "td:includesText" : "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." - }, { - "@id" : "_:t148", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-slug", - "td:includesText" : "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." - }, { "@id" : "_:t149", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t15", - "rdf:type" : { - "@id" : "td:Excerpt" - }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " }, { @@ -179,260 +214,211 @@ "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", - "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", + "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." }, { "@id" : "_:t151", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", - "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t152", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createbins", + "td:includesText" : "LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources." + }, { + "@id" : "_:t153", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", + "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." + }, { + "@id" : "_:t154", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-mincontraints", + "td:includesText" : "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." + }, { + "@id" : "_:t155", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-rdftype", + "td:includesText" : "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." }, { "@id" : "_:t156", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-contenttype", - "td:includesText" : "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." - }, { - "@id" : "_:t161", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-jsonld", - "td:includesText" : "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." - }, { - "@id" : "_:t162", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpnr-type", - "td:includesText" : "LDP servers exposing an LDP Non-RDF Source may advertise this by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#NonRDFSource, and a link relation type of type (that is, rel='type') in responses to requests made to the LDP-NR's HTTP Request-URI." - }, { - "@id" : "_:t163", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-create", + "td:includesText" : "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." + }, { + "@id" : "_:t159", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", + "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " + }, { + "@id" : "_:t167", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-turtle", + "td:includesText" : "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." + }, { + "@id" : "_:t168", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains", + "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." + }, { + "@id" : "_:t169", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", + "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " + }, { + "@id" : "_:t17", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", + "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " + }, { + "@id" : "_:t172", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." + }, { + "@id" : "_:t173", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", + "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." + }, { + "@id" : "_:t18", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." }, { - "@id" : "_:t164", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." - }, { - "@id" : "_:t171", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-patch-req", - "td:includesText" : "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " - }, { - "@id" : "_:t175", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." - }, { - "@id" : "_:t176", + "@id" : "_:t180", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-mincontraints", + "td:includesText" : "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." + }, { + "@id" : "_:t181", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpbc-are-ldpcs", + "td:includesText" : "Each LDP Basic Container MUST also be a conforming LDP Container in section 5.2 Container along with the following restrictions in this section." + }, { + "@id" : "_:t184", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", + "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." + }, { + "@id" : "_:t189", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." }, { - "@id" : "_:t179", + "@id" : "_:t190", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t195", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-contenttype", + "td:includesText" : "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." + }, { + "@id" : "_:t197", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains", + "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." + }, { + "@id" : "_:t198", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." }, { - "@id" : "_:t18", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-rdftype", - "td:includesText" : "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." - }, { - "@id" : "_:t180", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t183", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", - "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." - }, { - "@id" : "_:t19", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", - "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." - }, { - "@id" : "_:t190", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", - "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." - }, { - "@id" : "_:t191", + "@id" : "_:t199", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-del-contremovesmbrtriple", "td:includesText" : "When an LDPR identified by the object of a membership triple which was originally created by the LDP-DC is deleted, the LDPC server MUST also remove the corresponding membership triple." }, { - "@id" : "_:t192", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-serverassignuri", - "td:includesText" : "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." - }, { - "@id" : "_:t193", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", - "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." - }, { - "@id" : "_:t194", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", - "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." - }, { - "@id" : "_:t195", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t198", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", - "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." - }, { "@id" : "_:t2", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t20", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", + "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." + }, { + "@id" : "_:t200", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", + "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." + }, { + "@id" : "_:t21", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." }, { - "@id" : "_:t201", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-create", - "td:includesText" : "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." - }, { - "@id" : "_:t204", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t205", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple", - "td:includesText" : "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." - }, { - "@id" : "_:t206", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", - "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." - }, { - "@id" : "_:t207", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains", - "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." - }, { - "@id" : "_:t208", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", - "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." - }, { - "@id" : "_:t209", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-create", - "td:includesText" : "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." - }, { - "@id" : "_:t21", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-linktypehdr", - "td:includesText" : "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." - }, { "@id" : "_:t210", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-mbrprops", - "td:includesText" : "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." - }, { - "@id" : "_:t211", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", - "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " - }, { - "@id" : "_:t214", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", - "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." - }, { - "@id" : "_:t217", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t218", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpnr-are-ldpr", - "td:includesText" : "Each LDP Non-RDF Source must also be a conforming LDP Resource. LDP Non-RDF Sources may not be able to fully express their state using RDF." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-mbrpred", + "td:includesText" : "LDP Direct Containers SHOULD use the ldp:member predicate as an LDPC's membership predicate if there is no obvious predicate from an application vocabulary to use." + }, { + "@id" : "_:t215", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", + "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." + }, { + "@id" : "_:t216", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" }, { "@id" : "_:t22", "rdf:type" : { @@ -441,776 +427,762 @@ "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." }, { - "@id" : "_:t221", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", - "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " - }, { - "@id" : "_:t222", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-containtriples", - "td:includesText" : "Each LDP Direct Container representation must contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:hasMemberRelation or ldp:isMemberOfRelation. The object of the triple is constrained by other sections, such as ldp:hasMemberRelation or ldp:isMemberOfRelation, based on the membership triple pattern used by the container." - }, { - "@id" : "_:t223", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" - }, { - "@id" : "_:t224", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", - "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." - }, { - "@id" : "_:t227", + "@id" : "_:t225", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-create", + "td:includesText" : "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." + }, { + "@id" : "_:t226", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-mbrprops", + "td:includesText" : "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." + }, { + "@id" : "_:t228", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t23", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t231", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", + "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." + }, { + "@id" : "_:t232", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-create", + "td:includesText" : "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." + }, { + "@id" : "_:t24", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpnr-are-ldpr", + "td:includesText" : "Each LDP Non-RDF Source must also be a conforming LDP Resource. LDP Non-RDF Sources may not be able to fully express their state using RDF." + }, { + "@id" : "_:t243", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-rdftype", "td:includesText" : "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." }, { - "@id" : "_:t228", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", - "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." - }, { - "@id" : "_:t23", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-contenttype", - "td:includesText" : "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." - }, { - "@id" : "_:t234", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-linktypehdr", - "td:includesText" : "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." - }, { - "@id" : "_:t235", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", - "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." - }, { - "@id" : "_:t236", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", - "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." - }, { - "@id" : "_:t237", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createbins", - "td:includesText" : "LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources." - }, { - "@id" : "_:t238", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", - "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." - }, { - "@id" : "_:t24", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", - "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " - }, { - "@id" : "_:t241", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple", - "td:includesText" : "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." - }, { - "@id" : "_:t243", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", - "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " - }, { - "@id" : "_:t244", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." - }, { - "@id" : "_:t245", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", - "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." - }, { - "@id" : "_:t251", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t252", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", - "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." - }, { - "@id" : "_:t259", + "@id" : "_:t246", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovescontres", + "td:includesText" : "When a contained LDPR is deleted, and the LDPC server created anassociated LDP-RS (see the LDPC POST section), the LDPC server must alsodelete the associated LDP-RS it created." + }, { + "@id" : "_:t247", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." }, { - "@id" : "_:t262", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-turtle", - "td:includesText" : "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." - }, { - "@id" : "_:t263", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", - "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." - }, { - "@id" : "_:t266", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", - "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " - }, { - "@id" : "_:t267", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", - "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " - }, { - "@id" : "_:t273", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t278", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", - "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." - }, { - "@id" : "_:t283", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-created201", - "td:includesText" : "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." - }, { - "@id" : "_:t284", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." - }, { - "@id" : "_:t289", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t291", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", - "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." - }, { - "@id" : "_:t294", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-typecontainer", - "td:includesText" : "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " - }, { - "@id" : "_:t295", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains", - "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." - }, { - "@id" : "_:t296", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", - "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." - }, { - "@id" : "_:t297", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." - }, { - "@id" : "_:t3", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", - "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " - }, { - "@id" : "_:t30", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", - "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " - }, { - "@id" : "_:t300", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" - }, { - "@id" : "_:t303", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." - }, { - "@id" : "_:t309", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." - }, { - "@id" : "_:t318", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", - "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " - }, { - "@id" : "_:t319", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-turtle", - "td:includesText" : "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." - }, { - "@id" : "_:t320", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", - "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " - }, { - "@id" : "_:t321", + "@id" : "_:t248", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel", + "td:includesText" : "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." + }, { + "@id" : "_:t249", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." }, { - "@id" : "_:t322", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", - "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " - }, { - "@id" : "_:t323", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t33", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-linktypehdr", - "td:includesText" : "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." - }, { - "@id" : "_:t331", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", - "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." - }, { - "@id" : "_:t334", + "@id" : "_:t25", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-contenttype", "td:includesText" : "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." }, { - "@id" : "_:t335", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-mincontraints", - "td:includesText" : "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." - }, { - "@id" : "_:t336", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t337", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", - "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " - }, { - "@id" : "_:t34", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-rdftype", - "td:includesText" : "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." - }, { - "@id" : "_:t343", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", - "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." - }, { - "@id" : "_:t344", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", - "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." - }, { - "@id" : "_:t345", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t348", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", - "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " - }, { - "@id" : "_:t349", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", - "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " - }, { - "@id" : "_:t35", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t350", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t352", + "@id" : "_:t250", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createbins", + "td:includesText" : "LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources." + }, { + "@id" : "_:t253", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." + }, { + "@id" : "_:t256", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple", + "td:includesText" : "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." + }, { + "@id" : "_:t264", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple", + "td:includesText" : "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." + }, { + "@id" : "_:t265", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." + }, { + "@id" : "_:t266", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", + "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." + }, { + "@id" : "_:t269", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." }, { - "@id" : "_:t353", + "@id" : "_:t270", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-are-ldpcs", + "td:includesText" : "Each LDP Direct Container MUST also be a conforming LDP Container in section 5.2 Container along the following restrictions." + }, { + "@id" : "_:t271", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-create", + "td:includesText" : "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." + }, { + "@id" : "_:t274", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", + "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." + }, { + "@id" : "_:t275", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", + "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + }, { + "@id" : "_:t280", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-jsonld", + "td:includesText" : "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." + }, { + "@id" : "_:t281", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-turtle", + "td:includesText" : "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." + }, { + "@id" : "_:t282", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", + "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." + }, { + "@id" : "_:t283", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", + "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." + }, { + "@id" : "_:t286", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", + "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." + }, { + "@id" : "_:t288", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t289", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", + "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." + }, { + "@id" : "_:t292", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", + "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." + }, { + "@id" : "_:t293", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." + }, { + "@id" : "_:t294", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." }, { - "@id" : "_:t354", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-mbrpred", - "td:includesText" : "LDP Direct Containers SHOULD use the ldp:member predicate as an LDPC's membership predicate if there is no obvious predicate from an application vocabulary to use." - }, { - "@id" : "_:t355", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", - "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." - }, { - "@id" : "_:t356", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", - "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." - }, { - "@id" : "_:t358", + "@id" : "_:t299", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-linktypehdr", + "td:includesText" : "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." + }, { + "@id" : "_:t30", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-isldpr", + "td:includesText" : "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source." + }, { + "@id" : "_:t305", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", + "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." + }, { + "@id" : "_:t306", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." }, { - "@id" : "_:t36", + "@id" : "_:t309", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." + }, { + "@id" : "_:t313", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains", + "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." + }, { + "@id" : "_:t314", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", + "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." + }, { + "@id" : "_:t315", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-jsonld", + "td:includesText" : "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." + }, { + "@id" : "_:t316", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." + }, { + "@id" : "_:t320", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel", + "td:includesText" : "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." + }, { + "@id" : "_:t323", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", + "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " + }, { + "@id" : "_:t328", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", + "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " + }, { + "@id" : "_:t329", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", + "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " + }, { + "@id" : "_:t330", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", + "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." + }, { + "@id" : "_:t333", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." + }, { + "@id" : "_:t334", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", + "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " + }, { + "@id" : "_:t335", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-options", + "td:includesText" : "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " + }, { + "@id" : "_:t339", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", + "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." + }, { + "@id" : "_:t340", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " }, { - "@id" : "_:t364", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-create", - "td:includesText" : "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." + "@id" : "_:t350", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-serverassignuri", + "td:includesText" : "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." + }, { + "@id" : "_:t351", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", + "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." + }, { + "@id" : "_:t352", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-containtriples", + "td:includesText" : "Each LDP Direct Container representation must contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:hasMemberRelation or ldp:isMemberOfRelation. The object of the triple is constrained by other sections, such as ldp:hasMemberRelation or ldp:isMemberOfRelation, based on the membership triple pattern used by the container." + }, { + "@id" : "_:t355", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", + "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." + }, { + "@id" : "_:t356", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", + "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." + }, { + "@id" : "_:t360", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", + "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " + }, { + "@id" : "_:t361", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", + "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." + }, { + "@id" : "_:t363", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", + "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." + }, { + "@id" : "_:t365", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." }, { "@id" : "_:t366", "rdf:type" : { "@id" : "td:Excerpt" }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", + "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " + }, { + "@id" : "_:t37", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", + "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " + }, { + "@id" : "_:t370", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t373", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", + "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." + }, { + "@id" : "_:t377", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-patch-req", + "td:includesText" : "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " + }, { + "@id" : "_:t379", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpnr-type", + "td:includesText" : "LDP servers exposing an LDP Non-RDF Source may advertise this by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#NonRDFSource, and a link relation type of type (that is, rel='type') in responses to requests made to the LDP-NR's HTTP Request-URI." + }, { + "@id" : "_:t38", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", + "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." + }, { + "@id" : "_:t380", + "rdf:type" : { + "@id" : "td:Excerpt" + }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpic-post-indirectmbrrel", "td:includesText" : "LDPCs whose ldp:insertedContentRelation triple has an object other than ldp:MemberSubject and that create new resources MUST add a triple to the container whose subject is the container's URI, whose predicate is ldp:contains, and whose object is the newly created resource's URI (which will be different from the member-derived URI in this case). This ldp:contains triple can be the only link from the container to the newly created resource in certain cases." }, { - "@id" : "_:t370", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-mincontraints", - "td:includesText" : "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." - }, { - "@id" : "_:t373", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel", - "td:includesText" : "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." - }, { - "@id" : "_:t374", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", - "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." - }, { - "@id" : "_:t376", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", - "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " - }, { - "@id" : "_:t377", + "@id" : "_:t381", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-turtle", + "td:includesText" : "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." + }, { + "@id" : "_:t388", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-post-createdmbr-member", + "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, the LDPC MUST update its membership triples to reflect that addition, and the resulting membership triple MUST be consistent with any LDP-defined predicates it exposes." + }, { + "@id" : "_:t39", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", + "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." + }, { + "@id" : "_:t391", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-mbrprops", + "td:includesText" : "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." + }, { + "@id" : "_:t393", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createbinlinkmetahdr", "td:includesText" : "Upon successful creation of an LDP-NR (HTTP status code of 201-Created and URI indicated by Location response header), LDP servers may create an associated LDP-RS to contain data about the newly created LDP-NR. If a LDP server creates this associated LDP-RS it must indicate its location on the HTTP response using the HTTP Link response header with link relation describedby and href to be the URI of the associated LDP-RS resource." }, { - "@id" : "_:t380", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t381", + "@id" : "_:t394", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", + "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " + }, { + "@id" : "_:t396", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "td:includesText" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." + }, { + "@id" : "_:t401", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." + }, { + "@id" : "_:t402", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-typecontainer", + "td:includesText" : "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " + }, { + "@id" : "_:t406", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", + "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " + }, { + "@id" : "_:t407", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", + "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." + }, { + "@id" : "_:t408", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", + "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." + }, { + "@id" : "_:t409", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", + "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." + }, { + "@id" : "_:t410", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", + "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." + }, { + "@id" : "_:t411", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", + "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." + }, { + "@id" : "_:t412", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", + "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." + }, { + "@id" : "_:t414", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." }, { - "@id" : "_:t386", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-create", - "td:includesText" : "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." - }, { - "@id" : "_:t389", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-turtle", - "td:includesText" : "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." - }, { - "@id" : "_:t39", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t390", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel", - "td:includesText" : "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." - }, { - "@id" : "_:t391", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", - "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." - }, { - "@id" : "_:t392", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-patch-req", - "td:includesText" : "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " - }, { - "@id" : "_:t395", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", - "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." - }, { - "@id" : "_:t397", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-serverassignuri", - "td:includesText" : "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." - }, { - "@id" : "_:t40", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." - }, { - "@id" : "_:t401", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple", - "td:includesText" : "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." - }, { - "@id" : "_:t402", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." - }, { - "@id" : "_:t403", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes", - "td:includesText" : "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." - }, { - "@id" : "_:t404", + "@id" : "_:t415", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-slug", + "td:includesText" : "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." + }, { + "@id" : "_:t418", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", + "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." + }, { + "@id" : "_:t419", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." }, { - "@id" : "_:t405", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", - "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." - }, { - "@id" : "_:t406", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-jsonld", - "td:includesText" : "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." - }, { - "@id" : "_:t41", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes", - "td:includesText" : "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." - }, { - "@id" : "_:t413", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-indirectmbr-basic", - "td:includesText" : "LDP Direct Containers MUST behave as if they have a (LDPC URI, ldp:insertedContentRelation , ldp:MemberSubject) triple, but LDP imposes no requirement to materialize such a triple in the LDP-DC representation." - }, { - "@id" : "_:t418", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr", - "td:includesText" : "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." - }, { "@id" : "_:t42", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-create", - "td:includesText" : "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-linktypehdr", + "td:includesText" : "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." + }, { + "@id" : "_:t420", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-typecontainer", + "td:includesText" : "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " }, { "@id" : "_:t422", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel", - "td:includesText" : "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." - }, { - "@id" : "_:t423", - "rdf:type" : { - "@id" : "td:Excerpt" - }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." }, { - "@id" : "_:t428", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", - "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." - }, { - "@id" : "_:t429", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." + "@id" : "_:t426", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "td:includesText" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." + }, { + "@id" : "_:t43", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", + "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." }, { "@id" : "_:t430", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", + "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." + }, { + "@id" : "_:t431", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", + "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " }, { "@id" : "_:t432", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" + "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." }, { "@id" : "_:t433", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", - "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " - }, { - "@id" : "_:t435", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes", + "td:includesText" : "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." + }, { + "@id" : "_:t436", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes", + "td:includesText" : "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." + }, { + "@id" : "_:t437", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", + "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." + }, { + "@id" : "_:t438", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." }, { - "@id" : "_:t437", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains", - "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." - }, { - "@id" : "_:t438", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", - "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." - }, { "@id" : "_:t439", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-turtle", - "td:includesText" : "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." - }, { - "@id" : "_:t440", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpic-are-ldpcs", - "td:includesText" : "Each LDP Indirect Container MUST also be a conforming LDP Direct Container in section 5.4 Direct along the following restrictions." - }, { - "@id" : "_:t441", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype", - "td:includesText" : "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." - }, { - "@id" : "_:t443", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", - "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." - }, { - "@id" : "_:t444", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-patch-req", - "td:includesText" : "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " - }, { - "@id" : "_:t447", - "rdf:type" : { - "@id" : "td:Excerpt" - }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." }, { + "@id" : "_:t44", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch", + "td:includesText" : "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " + }, { + "@id" : "_:t442", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", + "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." + }, { + "@id" : "_:t444", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t446", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "td:includesText" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." + }, { + "@id" : "_:t447", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." + }, { "@id" : "_:t448", "rdf:type" : { "@id" : "td:Excerpt" @@ -1218,194 +1190,166 @@ "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " }, { - "@id" : "_:t449", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t45", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", - "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." - }, { "@id" : "_:t450", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." - }, { - "@id" : "_:t452", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", - "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " - }, { - "@id" : "_:t455", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", - "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " - }, { - "@id" : "_:t456", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-jsonld", - "td:includesText" : "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." - }, { - "@id" : "_:t457", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", - "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." - }, { - "@id" : "_:t459", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", - "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." - }, { - "@id" : "_:t46", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", - "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." - }, { - "@id" : "_:t460", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", - "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." - }, { - "@id" : "_:t461", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." - }, { - "@id" : "_:t462", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." - }, { - "@id" : "_:t463", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" + }, { + "@id" : "_:t451", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-get-must", "td:includesText" : "LDP servers MUST support the HTTP GET Method for LDPRs" }, { - "@id" : "_:t464", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-slug", - "td:includesText" : "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." - }, { - "@id" : "_:t465", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr", - "td:includesText" : "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." - }, { - "@id" : "_:t466", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-rdf", - "td:includesText" : "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." - }, { - "@id" : "_:t467", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." - }, { - "@id" : "_:t468", + "@id" : "_:t452", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-linktypehdr", + "td:includesText" : "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." + }, { + "@id" : "_:t453", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." }, { - "@id" : "_:t469", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" - }, { - "@id" : "_:t47", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-created201", - "td:includesText" : "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." - }, { - "@id" : "_:t471", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", - "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." - }, { - "@id" : "_:t472", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-create", - "td:includesText" : "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." - }, { - "@id" : "_:t473", + "@id" : "_:t454", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t456", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpic-are-ldpcs", + "td:includesText" : "Each LDP Indirect Container MUST also be a conforming LDP Direct Container in section 5.4 Direct along the following restrictions." + }, { + "@id" : "_:t457", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", + "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." + }, { + "@id" : "_:t458", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", + "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + }, { + "@id" : "_:t459", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-containres", "td:includesText" : "Each LDP Direct Container representation MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is the ldp:membershipResource, and whose object is the LDPC's membership-constant-URI. Commonly the LDPC's URI is the membership-constant-URI, but LDP does not require this." }, { - "@id" : "_:t474", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", - "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." - }, { - "@id" : "_:t475", + "@id" : "_:t460", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", + "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." + }, { + "@id" : "_:t461", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "td:includesText" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." + }, { + "@id" : "_:t462", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris", + "td:includesText" : "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." + }, { + "@id" : "_:t463", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", + "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." + }, { + "@id" : "_:t466", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-contenttype", + "td:includesText" : "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." + }, { + "@id" : "_:t467", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-serverassignuri", + "td:includesText" : "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." + }, { + "@id" : "_:t468", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", + "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + }, { + "@id" : "_:t469", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple", + "td:includesText" : "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." + }, { + "@id" : "_:t472", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", + "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " + }, { + "@id" : "_:t473", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." }, { + "@id" : "_:t474", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-create", + "td:includesText" : "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." + }, { + "@id" : "_:t475", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", + "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." + }, { "@id" : "_:t476", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", + "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " }, { "@id" : "_:t477", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", - "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", + "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." }, { "@id" : "_:t478", "rdf:type" : { @@ -1418,195 +1362,279 @@ "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-del-contremovescontres", - "td:includesText" : "When a contained LDPR is deleted, and the LDPC server created anassociated LDP-RS (see the LDPC POST section), the LDPC server must alsodelete the associated LDP-RS it created." - }, { - "@id" : "_:t48", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-slug", + "td:includesText" : "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." + }, { + "@id" : "_:t481", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-created201", + "td:includesText" : "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." + }, { + "@id" : "_:t482", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", + "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " + }, { + "@id" : "_:t483", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", + "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." + }, { + "@id" : "_:t484", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-rdftype", "td:includesText" : "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." }, { - "@id" : "_:t481", + "@id" : "_:t486", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel", + "td:includesText" : "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." + }, { + "@id" : "_:t487", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", + "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." + }, { + "@id" : "_:t488", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", + "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." + }, { + "@id" : "_:t489", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." + }, { + "@id" : "_:t5", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-must", + "td:includesText" : "LDP servers MUST support the HTTP OPTIONS method. " + }, { + "@id" : "_:t50", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-create", + "td:includesText" : "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." + }, { + "@id" : "_:t51", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-indirectmbr-basic", + "td:includesText" : "LDP Direct Containers MUST behave as if they have a (LDPC URI, ldp:insertedContentRelation , ldp:MemberSubject) triple, but LDP imposes no requirement to materialize such a triple in the LDP-DC representation." + }, { + "@id" : "_:t54", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-createrdf", + "td:includesText" : "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." + }, { + "@id" : "_:t57", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr", + "td:includesText" : "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." + }, { + "@id" : "_:t58", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-created201", + "td:includesText" : "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." + }, { + "@id" : "_:t6", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", + "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " + }, { + "@id" : "_:t60", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-rdftype", + "td:includesText" : "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." + }, { + "@id" : "_:t61", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", + "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." + }, { + "@id" : "_:t65", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." }, { - "@id" : "_:t482", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-mbrprops", - "td:includesText" : "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." - }, { - "@id" : "_:t49", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas", - "td:includesText" : "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." - }, { - "@id" : "_:t53", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-prefer", - "td:includesText" : "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." - }, { - "@id" : "_:t58", + "@id" : "_:t69", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." + }, { + "@id" : "_:t74", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-typecontainer", "td:includesText" : "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " }, { - "@id" : "_:t59", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", - "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " - }, { - "@id" : "_:t64", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-typecontainer", - "td:includesText" : "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " - }, { - "@id" : "_:t65", + "@id" : "_:t75", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." }, { - "@id" : "_:t66", + "@id" : "_:t76", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops", + "td:includesText" : "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" + }, { + "@id" : "_:t77", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." }, { - "@id" : "_:t69", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-post-createdmbr-member", - "td:includesText" : "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, the LDPC MUST update its membership triples to reflect that addition, and the resulting membership triple MUST be consistent with any LDP-defined predicates it exposes." - }, { - "@id" : "_:t70", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-put-failed", - "td:includesText" : "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." - }, { - "@id" : "_:t71", + "@id" : "_:t78", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-jsonld", + "td:includesText" : "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." + }, { + "@id" : "_:t79", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-patch-req", + "td:includesText" : "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " + }, { + "@id" : "_:t88", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." }, { - "@id" : "_:t73", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-precond", - "td:includesText" : "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." - }, { - "@id" : "_:t74", + "@id" : "_:t89", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-slug", + "td:includesText" : "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." + }, { + "@id" : "_:t9", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", + "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." + }, { + "@id" : "_:t90", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-noinferencing", + "td:includesText" : "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." + }, { + "@id" : "_:t91", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " }, { - "@id" : "_:t78", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-slug", - "td:includesText" : "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." - }, { - "@id" : "_:t79", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", - "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " - }, { - "@id" : "_:t8", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-replaceall", - "td:includesText" : "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." - }, { - "@id" : "_:t84", + "@id" : "_:t92", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", + "td:includesText" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." + }, { + "@id" : "_:t93", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-isldpr", + "td:includesText" : "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source." + }, { + "@id" : "_:t94", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-etags", "td:includesText" : "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." }, { - "@id" : "_:t87", + "@id" : "_:t95", "rdf:type" : { "@id" : "td:Excerpt" }, "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-get-jsonld", "td:includesText" : "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " }, { - "@id" : "_:t88", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri", - "td:includesText" : "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." - }, { - "@id" : "_:t9", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-put-mbrprops", - "td:includesText" : "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." - }, { - "@id" : "_:t93", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes", - "td:includesText" : "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." - }, { - "@id" : "_:t94", - "rdf:type" : { - "@id" : "td:Excerpt" - }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-head-must", - "td:includesText" : "LDP servers MUST support the HTTP HEAD method. " - }, { "@id" : "_:t96", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-gen-reusevocab", - "td:includesText" : "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpic-indirectmbr", + "td:includesText" : "LDP Indirect Containers MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is ldp:insertedContentRelation, and whose object ICR describes how the member-derived-URI in the container's membership triples is chosen." }, { "@id" : "_:t97", "rdf:type" : { "@id" : "td:Excerpt" }, - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs", - "td:includesText" : "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-put-simpleupdate", + "td:includesText" : "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." + }, { + "@id" : "_:t98", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-post-mincontraints", + "td:includesText" : "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." + }, { + "@id" : "_:t99", + "rdf:type" : { + "@id" : "td:Excerpt" + }, + "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-options-allow", + "td:includesText" : "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " }, { "@id" : "ldpt:BasicContainer-4xxErrorHasResponseBody", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.375Z" + "@value" : "2014-08-25T13:17:51.747Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -1618,17 +1646,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-4xxErrorHasResponseBody", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t450", + "specificationReference" : "_:t432", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-4xxErrorHasResponseBody", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:BasicContainer-AcceptPatchHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.384Z" + "@value" : "2014-08-25T13:17:51.756Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1640,7 +1668,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-AcceptPatchHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t30", + "specificationReference" : "_:t37", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-AcceptPatchHeader", @@ -1650,7 +1678,7 @@ "@id" : "ldpt:BasicContainer-AcceptPostResponseHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.359Z" + "@value" : "2014-08-25T13:17:51.732Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1662,7 +1690,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-AcceptPostResponseHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t1", + "specificationReference" : "_:t12", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-AcceptPostResponseHeader", @@ -1672,7 +1700,7 @@ "@id" : "ldpt:BasicContainer-AcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.355Z" + "@value" : "2014-08-25T13:17:51.728Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1684,7 +1712,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-AcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t389", + "specificationReference" : "_:t381", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-AcceptTurtle", @@ -1694,7 +1722,7 @@ "@id" : "ldpt:BasicContainer-ConditionFailedStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.382Z" + "@value" : "2014-08-25T13:17:51.754Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1706,17 +1734,86 @@ "mf:action" : "", "mf:name" : "BasicContainer-ConditionFailedStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t273", + "specificationReference" : "_:t190", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-ConditionFailedStatusCode", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testConditionFailedStatusCode()", "testMethod" : "ldpt:automated" }, { + "@id" : "ldpt:BasicContainer-ConformsBcLdpContainer", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.719Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#CommonContainer-PostResponseStatusAndLocation", "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelCreateNotAllowed", "http://www.w3c.org/ns/ldp/test#CommonContainer-DeleteRemovesContainmentTriple", "http://www.w3c.org/ns/ldp/test#CommonContainer-NullRelativeUriPost", "http://www.w3c.org/ns/ldp/test#CommonContainer-PostContainer", "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptPostResponseHeader", "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelHeaders", "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptTurtle", "http://www.w3c.org/ns/ldp/test#CommonContainer-RelativeUriResolutionPost", "http://www.w3c.org/ns/ldp/test#CommonContainer-ConformsContainerRdfResource" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each LDP Basic Container MUST also be a conforming LDP Container in section 5.2 Container along with the following restrictions in this section.", + "rdfs:label" : "BasicContainer-ConformsBcLdpContainer", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpbc-are-ldpcs", + "mf:action" : "", + "mf:name" : "BasicContainer-ConformsBcLdpContainer", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t181", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", + "declaredTestCase" : "ldpt:BasicContainer-ConformsBcLdpContainer", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/BasicContainerTest.html#testConformsBcLdpContainer()", + "testMethod" : "ldpt:indirect" + }, { + "@id" : "ldpt:BasicContainer-ConformsContainerRdfResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.736Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#RdfSource-PutReadOnlyProperties4xxStatus", "http://www.w3c.org/ns/ldp/test#RdfSource-GetResourceAcceptTurtle", "http://www.w3c.org/ns/ldp/test#RdfSource-PutSimpleUpdate", "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsReadOnlyProp", "http://www.w3c.org/ns/ldp/test#RdfSource-RelativeUriResolutionPut", "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsUnknownProp", "http://www.w3c.org/ns/ldp/test#RdfSource-PutPropertiesNotPersisted", "http://www.w3c.org/ns/ldp/test#RdfSource-RestrictClientInference", "http://www.w3c.org/ns/ldp/test#RdfSource-PutReplacesResource", "http://www.w3c.org/ns/ldp/test#RdfSource-ConformsRdfSourceLdpResource", "http://www.w3c.org/ns/ldp/test#RdfSource-GetResource" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.", + "rdfs:label" : "BasicContainer-ConformsContainerRdfResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-isldpr", + "mf:action" : "", + "mf:name" : "BasicContainer-ConformsContainerRdfResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t133", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", + "declaredTestCase" : "ldpt:CommonContainer-ConformsContainerRdfResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testConformsContainerRdfResource()", + "testMethod" : "ldpt:indirect" + }, { + "@id" : "ldpt:BasicContainer-ConformsRdfSourceLdpResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.748Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#CommonResource-Head", "http://www.w3c.org/ns/ldp/test#CommonResource-Options", "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode", "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual", "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode", "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag", "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.", + "rdfs:label" : "BasicContainer-ConformsRdfSourceLdpResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "mf:action" : "", + "mf:name" : "BasicContainer-ConformsRdfSourceLdpResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t446", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", + "declaredTestCase" : "ldpt:RdfSource-ConformsRdfSourceLdpResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()", + "testMethod" : "ldpt:indirect" + }, { "@id" : "ldpt:BasicContainer-ContainerSupportsHttpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.348Z" + "@value" : "2014-08-25T13:17:51.723Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1728,7 +1825,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ContainerSupportsHttpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t234", + "specificationReference" : "_:t452", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:BasicContainer-ContainerSupportsHttpLinkHeader", @@ -1738,7 +1835,7 @@ "@id" : "ldpt:BasicContainer-ContainsRdfType", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.368Z" + "@value" : "2014-08-25T13:17:51.741Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -1750,7 +1847,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ContainsRdfType", "reviewStatus" : "td:approved", - "specificationReference" : "_:t291", + "specificationReference" : "_:t306", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-ContainsRdfType", @@ -1760,7 +1857,7 @@ "@id" : "ldpt:BasicContainer-ContentTypeHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.356Z" + "@value" : "2014-08-25T13:17:51.729Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -1772,7 +1869,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ContentTypeHeader", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t334", + "specificationReference" : "_:t466", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-ContentTypeHeader", @@ -1782,7 +1879,7 @@ "@id" : "ldpt:BasicContainer-CreateWithoutConstraints", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.358Z" + "@value" : "2014-08-25T13:17:51.73Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -1794,7 +1891,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-CreateWithoutConstraints", "reviewStatus" : "td:approved", - "specificationReference" : "_:t370", + "specificationReference" : "_:t98", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-CreateWithoutConstraints", @@ -1804,7 +1901,7 @@ "@id" : "ldpt:BasicContainer-DeleteRemovesContainmentTriple", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.361Z" + "@value" : "2014-08-25T13:17:51.733Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1816,7 +1913,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-DeleteRemovesContainmentTriple", "reviewStatus" : "td:approved", - "specificationReference" : "_:t205", + "specificationReference" : "_:t469", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-DeleteRemovesContainmentTriple", @@ -1826,7 +1923,7 @@ "@id" : "ldpt:BasicContainer-ETagHeadersGet", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.379Z" + "@value" : "2014-08-25T13:17:51.752Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1838,7 +1935,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ETagHeadersGet", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t443", + "specificationReference" : "_:t137", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersGet", @@ -1848,7 +1945,7 @@ "@id" : "ldpt:BasicContainer-ETagHeadersHead", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.379Z" + "@value" : "2014-08-25T13:17:51.752Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1860,7 +1957,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ETagHeadersHead", "reviewStatus" : "td:approved", - "specificationReference" : "_:t238", + "specificationReference" : "_:t363", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersHead", @@ -1870,7 +1967,7 @@ "@id" : "ldpt:BasicContainer-GetResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.367Z" + "@value" : "2014-08-25T13:17:51.741Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1882,7 +1979,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-GetResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t190", + "specificationReference" : "_:t198", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-GetResource", @@ -1892,7 +1989,7 @@ "@id" : "ldpt:BasicContainer-GetResourceAcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.372Z" + "@value" : "2014-08-25T13:17:51.744Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1904,7 +2001,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-GetResourceAcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t439", + "specificationReference" : "_:t408", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-GetResourceAcceptTurtle", @@ -1914,7 +2011,7 @@ "@id" : "ldpt:BasicContainer-GetResponseHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.381Z" + "@value" : "2014-08-25T13:17:51.753Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1926,7 +2023,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-GetResponseHeaders", "reviewStatus" : "td:approved", - "specificationReference" : "_:t103", + "specificationReference" : "_:t323", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-GetResponseHeaders", @@ -1936,7 +2033,7 @@ "@id" : "ldpt:BasicContainer-Head", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.384Z" + "@value" : "2014-08-25T13:17:51.756Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -1948,7 +2045,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-Head", "reviewStatus" : "td:approved", - "specificationReference" : "_:t94", + "specificationReference" : "_:t106", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-Head", @@ -1958,7 +2055,7 @@ "@id" : "ldpt:BasicContainer-IsHttp11Manual", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.378Z" + "@value" : "2014-08-25T13:17:51.751Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -1970,38 +2067,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-IsHttp11Manual", "reviewStatus" : "td:approved", - "specificationReference" : "_:t345", + "specificationReference" : "_:t356", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-IsHttp11Manual", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Manual()", "testMethod" : "ldpt:manual" }, { - "@id" : "ldpt:BasicContainer-IsHttp11Server", - "dcterms:date" : { - "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.377Z" - }, - "dcterms:subject" : "MUST", - "rdf:type" : { - "@id" : "earl:TestCase" - }, - "rdfs:comment" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].", - "rdfs:label" : "BasicContainer-IsHttp11Server", - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "mf:action" : "", - "mf:name" : "BasicContainer-IsHttp11Server", - "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t39", - "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", - "declaredTestCase" : "ldpt:CommonResource-IsHttp11Server", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()", - "testMethod" : "ldpt:automated" - }, { "@id" : "ldpt:BasicContainer-JsonLdRepresentation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.373Z" + "@value" : "2014-08-25T13:17:51.745Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2013,7 +2089,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-JsonLdRepresentation", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t24", + "specificationReference" : "_:t394", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-JsonLdRepresentation", @@ -2023,7 +2099,7 @@ "@id" : "ldpt:BasicContainer-LdpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.38Z" + "@value" : "2014-08-25T13:17:51.753Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2035,7 +2111,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-LdpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t423", + "specificationReference" : "_:t437", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-LdpLinkHeader", @@ -2060,14 +2136,14 @@ }, "rdfs:comment" : "LDP Basic Container tests. MUST conformance tests.", "entries" : { - "@list" : [ "ldpt:BasicContainer-ContainerSupportsHttpLinkHeader", "ldpt:BasicContainer-RelativeUriResolutionPost", "ldpt:BasicContainer-PostResponseStatusAndLocation", "ldpt:BasicContainer-PostContainer", "ldpt:BasicContainer-RequestedInteractionModelCreateNotAllowed", "ldpt:BasicContainer-RequestedInteractionModelHeaders", "ldpt:BasicContainer-AcceptTurtle", "ldpt:BasicContainer-NullRelativeUriPost", "ldpt:BasicContainer-AcceptPostResponseHeader", "ldpt:BasicContainer-DeleteRemovesContainmentTriple", "ldpt:BasicContainer-RelativeUriResolutionPut", "ldpt:BasicContainer-PutReplacesResource", "ldpt:BasicContainer-PutSimpleUpdate", "ldpt:BasicContainer-GetResource", "ldpt:BasicContainer-RestrictClientInference", "ldpt:BasicContainer-GetResourceAcceptTurtle", "ldpt:BasicContainer-PublishConstraintsReadOnlyProp", "ldpt:BasicContainer-PublishConstraintsUnknownProp", "ldpt:BasicContainer-PutReadOnlyProperties4xxStatus", "ldpt:BasicContainer-PutPropertiesNotPersisted", "ldpt:BasicContainer-IsHttp11Manual", "ldpt:BasicContainer-ETagHeadersGet", "ldpt:BasicContainer-ETagHeadersHead", "ldpt:BasicContainer-LdpLinkHeader", "ldpt:BasicContainer-GetResponseHeaders", "ldpt:BasicContainer-ConditionFailedStatusCode", "ldpt:BasicContainer-PreconditionRequiredStatusCode", "ldpt:BasicContainer-PutBadETag", "ldpt:BasicContainer-Head", "ldpt:BasicContainer-AcceptPatchHeader", "ldpt:BasicContainer-Options", "ldpt:BasicContainer-OptionsAllowHeader" ] + "@list" : [ "ldpt:BasicContainer-ConformsBcLdpContainer", "ldpt:BasicContainer-ContainerSupportsHttpLinkHeader", "ldpt:BasicContainer-RelativeUriResolutionPost", "ldpt:BasicContainer-PostResponseStatusAndLocation", "ldpt:BasicContainer-PostContainer", "ldpt:BasicContainer-RequestedInteractionModelCreateNotAllowed", "ldpt:BasicContainer-RequestedInteractionModelHeaders", "ldpt:BasicContainer-AcceptTurtle", "ldpt:BasicContainer-NullRelativeUriPost", "ldpt:BasicContainer-AcceptPostResponseHeader", "ldpt:BasicContainer-DeleteRemovesContainmentTriple", "ldpt:BasicContainer-ConformsContainerRdfResource", "ldpt:BasicContainer-RelativeUriResolutionPut", "ldpt:BasicContainer-PutReplacesResource", "ldpt:BasicContainer-PutSimpleUpdate", "ldpt:BasicContainer-GetResource", "ldpt:BasicContainer-RestrictClientInference", "ldpt:BasicContainer-GetResourceAcceptTurtle", "ldpt:BasicContainer-PublishConstraintsReadOnlyProp", "ldpt:BasicContainer-PublishConstraintsUnknownProp", "ldpt:BasicContainer-PutReadOnlyProperties4xxStatus", "ldpt:BasicContainer-PutPropertiesNotPersisted", "ldpt:BasicContainer-ConformsRdfSourceLdpResource", "ldpt:BasicContainer-IsHttp11Manual", "ldpt:BasicContainer-ETagHeadersGet", "ldpt:BasicContainer-ETagHeadersHead", "ldpt:BasicContainer-LdpLinkHeader", "ldpt:BasicContainer-GetResponseHeaders", "ldpt:BasicContainer-ConditionFailedStatusCode", "ldpt:BasicContainer-PreconditionRequiredStatusCode", "ldpt:BasicContainer-PutBadETag", "ldpt:BasicContainer-Head", "ldpt:BasicContainer-AcceptPatchHeader", "ldpt:BasicContainer-Options", "ldpt:BasicContainer-OptionsAllowHeader" ] }, "mf:name" : "BasicContainer (MUST)" }, { "@id" : "ldpt:BasicContainer-NoRdfBagSeqOrList", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.351Z" + "@value" : "2014-08-25T13:17:51.725Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2079,7 +2155,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-NoRdfBagSeqOrList", "reviewStatus" : "td:approved", - "specificationReference" : "_:t403", + "specificationReference" : "_:t433", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-NoRdfBagSeqOrList", @@ -2089,7 +2165,7 @@ "@id" : "ldpt:BasicContainer-NullRelativeUriPost", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.356Z" + "@value" : "2014-08-25T13:17:51.729Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2101,28 +2177,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-NullRelativeUriPost", "reviewStatus" : "td:approved", - "specificationReference" : "_:t373", + "specificationReference" : "_:t248", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-NullRelativeUriPost", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testNullRelativeUriPost()", "testMethod" : "ldpt:automated" }, { - "@id" : "ldpt:BasicContainer-OTHERManifest", - "http://purl.org/dc/elements/1.1/title" : "BasicContainer (OTHER)", - "rdf:type" : { - "@id" : "mf:Manifest" - }, - "rdfs:comment" : "LDP Basic Container tests. No official conformance status.", - "entries" : { - "@list" : [ "ldpt:BasicContainer-IsHttp11Server" ] - }, - "mf:name" : "BasicContainer (OTHER)" - }, { "@id" : "ldpt:BasicContainer-Options", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.385Z" + "@value" : "2014-08-25T13:17:51.757Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2134,7 +2199,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-Options", "reviewStatus" : "td:approved", - "specificationReference" : "_:t3", + "specificationReference" : "_:t5", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-Options", @@ -2144,7 +2209,7 @@ "@id" : "ldpt:BasicContainer-OptionsAllowHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.386Z" + "@value" : "2014-08-25T13:17:51.757Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2156,7 +2221,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-OptionsAllowHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t337", + "specificationReference" : "_:t406", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-OptionsAllowHeader", @@ -2166,7 +2231,7 @@ "@id" : "ldpt:BasicContainer-PatchMethod", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.362Z" + "@value" : "2014-08-25T13:17:51.734Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2178,7 +2243,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PatchMethod", "reviewStatus" : "td:approved", - "specificationReference" : "_:t392", + "specificationReference" : "_:t117", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PatchMethod", @@ -2188,7 +2253,7 @@ "@id" : "ldpt:BasicContainer-PostContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.353Z" + "@value" : "2014-08-25T13:17:51.726Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2200,7 +2265,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PostContainer", "reviewStatus" : "td:approved", - "specificationReference" : "_:t437", + "specificationReference" : "_:t197", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostContainer", @@ -2210,7 +2275,7 @@ "@id" : "ldpt:BasicContainer-PostJsonLd", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.364Z" + "@value" : "2014-08-25T13:17:51.735Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2222,7 +2287,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PostJsonLd", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t456", + "specificationReference" : "_:t315", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostJsonLd", @@ -2232,7 +2297,7 @@ "@id" : "ldpt:BasicContainer-PostNoSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.357Z" + "@value" : "2014-08-25T13:17:51.73Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2244,7 +2309,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PostNoSlug", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t192", + "specificationReference" : "_:t467", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostNoSlug", @@ -2254,7 +2319,7 @@ "@id" : "ldpt:BasicContainer-PostResponseStatusAndLocation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.352Z" + "@value" : "2014-08-25T13:17:51.726Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2266,7 +2331,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PostResponseStatusAndLocation", "reviewStatus" : "td:approved", - "specificationReference" : "_:t283", + "specificationReference" : "_:t481", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostResponseStatusAndLocation", @@ -2276,7 +2341,7 @@ "@id" : "ldpt:BasicContainer-PreconditionRequiredStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.383Z" + "@value" : "2014-08-25T13:17:51.755Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2288,7 +2353,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PreconditionRequiredStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t289", + "specificationReference" : "_:t444", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-PreconditionRequiredStatusCode", @@ -2298,7 +2363,7 @@ "@id" : "ldpt:BasicContainer-PreferContainmentTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.351Z" + "@value" : "2014-08-25T13:17:51.725Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2310,7 +2375,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PreferContainmentTriples", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t481", + "specificationReference" : "_:t339", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PreferContainmentTriples", @@ -2320,7 +2385,7 @@ "@id" : "ldpt:BasicContainer-PublishConstraintsReadOnlyProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.373Z" + "@value" : "2014-08-25T13:17:51.745Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2332,17 +2397,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-PublishConstraintsReadOnlyProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t356", + "specificationReference" : "_:t289", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsReadOnlyProp", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:BasicContainer-PublishConstraintsUnknownProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.374Z" + "@value" : "2014-08-25T13:17:51.746Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2354,7 +2419,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PublishConstraintsUnknownProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t475", + "specificationReference" : "_:t473", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsUnknownProp", @@ -2364,7 +2429,7 @@ "@id" : "ldpt:BasicContainer-PutBadETag", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.383Z" + "@value" : "2014-08-25T13:17:51.755Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2376,7 +2441,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutBadETag", "reviewStatus" : "td:approved", - "specificationReference" : "_:t381", + "specificationReference" : "_:t23", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-PutBadETag", @@ -2386,7 +2451,7 @@ "@id" : "ldpt:BasicContainer-PutPropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.376Z" + "@value" : "2014-08-25T13:17:51.747Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2398,7 +2463,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutPropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t70", + "specificationReference" : "_:t172", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutPropertiesNotPersisted", @@ -2408,7 +2473,7 @@ "@id" : "ldpt:BasicContainer-PutReadOnlyProperties4xxStatus", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.375Z" + "@value" : "2014-08-25T13:17:51.746Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2420,17 +2485,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutReadOnlyProperties4xxStatus", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t223", + "specificationReference" : "_:t140", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutReadOnlyProperties4xxStatus", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:BasicContainer-PutReplacesResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.365Z" + "@value" : "2014-08-25T13:17:51.74Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2442,7 +2507,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutReplacesResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t236", + "specificationReference" : "_:t249", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutReplacesResource", @@ -2452,7 +2517,7 @@ "@id" : "ldpt:BasicContainer-PutRequiresIfMatch", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.381Z" + "@value" : "2014-08-25T13:17:51.754Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2464,7 +2529,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutRequiresIfMatch", "reviewStatus" : "td:approved", - "specificationReference" : "_:t118", + "specificationReference" : "_:t131", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonResource-PutRequiresIfMatch", @@ -2474,7 +2539,7 @@ "@id" : "ldpt:BasicContainer-PutSimpleUpdate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.366Z" + "@value" : "2014-08-25T13:17:51.74Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2486,7 +2551,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutSimpleUpdate", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t111", + "specificationReference" : "_:t2", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutSimpleUpdate", @@ -2496,7 +2561,7 @@ "@id" : "ldpt:BasicContainer-PutToCreate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.349Z" + "@value" : "2014-08-25T13:17:51.724Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -2508,7 +2573,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-PutToCreate", "reviewStatus" : "td:approved", - "specificationReference" : "_:t386", + "specificationReference" : "_:t156", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PutToCreate", @@ -2518,7 +2583,7 @@ "@id" : "ldpt:BasicContainer-RdfTypeLdpContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.363Z" + "@value" : "2014-08-25T13:17:51.734Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -2530,7 +2595,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RdfTypeLdpContainer", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t58", + "specificationReference" : "_:t420", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RdfTypeLdpContainer", @@ -2540,7 +2605,7 @@ "@id" : "ldpt:BasicContainer-ReUseVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.369Z" + "@value" : "2014-08-25T13:17:51.742Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -2552,7 +2617,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ReUseVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t96", + "specificationReference" : "_:t112", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-ReUseVocabularies", @@ -2565,7 +2630,7 @@ "@id" : "ldpt:BasicContainer-RejectPutModifyingContainmentTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.36Z" + "@value" : "2014-08-25T13:17:51.732Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2577,7 +2642,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RejectPutModifyingContainmentTriples", "reviewStatus" : "td:approved", - "specificationReference" : "_:t210", + "specificationReference" : "_:t226", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RejectPutModifyingContainmentTriples", @@ -2587,7 +2652,7 @@ "@id" : "ldpt:BasicContainer-RelativeUriResolutionPost", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.35Z" + "@value" : "2014-08-25T13:17:51.724Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2599,7 +2664,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RelativeUriResolutionPost", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t88", + "specificationReference" : "_:t438", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RelativeUriResolutionPost", @@ -2609,7 +2674,7 @@ "@id" : "ldpt:BasicContainer-RelativeUriResolutionPut", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.365Z" + "@value" : "2014-08-25T13:17:51.739Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2621,7 +2686,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RelativeUriResolutionPut", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t259", + "specificationReference" : "_:t173", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-RelativeUriResolutionPut", @@ -2631,7 +2696,7 @@ "@id" : "ldpt:BasicContainer-RequestedInteractionModelCreateNotAllowed", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.354Z" + "@value" : "2014-08-25T13:17:51.727Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2643,17 +2708,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-RequestedInteractionModelCreateNotAllowed", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t151", + "specificationReference" : "_:t458", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RequestedInteractionModelCreateNotAllowed", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:BasicContainer-RequestedInteractionModelHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.354Z" + "@value" : "2014-08-25T13:17:51.728Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2665,17 +2730,17 @@ "mf:action" : "", "mf:name" : "BasicContainer-RequestedInteractionModelHeaders", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t355", + "specificationReference" : "_:t43", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RequestedInteractionModelHeaders", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:BasicContainer-ResponsePropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.377Z" + "@value" : "2014-08-25T13:17:51.748Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2687,7 +2752,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ResponsePropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t244", + "specificationReference" : "_:t265", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-ResponsePropertiesNotPersisted", @@ -2697,7 +2762,7 @@ "@id" : "ldpt:BasicContainer-RestrictClientInference", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.371Z" + "@value" : "2014-08-25T13:17:51.743Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -2709,7 +2774,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RestrictClientInference", "reviewStatus" : "td:approved", - "specificationReference" : "_:t183", + "specificationReference" : "_:t90", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-RestrictClientInference", @@ -2722,7 +2787,7 @@ "@id" : "ldpt:BasicContainer-RestrictPutReUseUri", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.361Z" + "@value" : "2014-08-25T13:17:51.733Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2734,7 +2799,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RestrictPutReUseUri", "reviewStatus" : "td:approved", - "specificationReference" : "_:t472", + "specificationReference" : "_:t271", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictPutReUseUri", @@ -2744,7 +2809,7 @@ "@id" : "ldpt:BasicContainer-RestrictUriReUseNoSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.359Z" + "@value" : "2014-08-25T13:17:51.731Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2756,7 +2821,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RestrictUriReUseNoSlug", "reviewStatus" : "td:approved", - "specificationReference" : "_:t428", + "specificationReference" : "_:t442", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictUriReUseNoSlug", @@ -2766,7 +2831,7 @@ "@id" : "ldpt:BasicContainer-RestrictUriReUseSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.358Z" + "@value" : "2014-08-25T13:17:51.731Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2778,7 +2843,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-RestrictUriReUseSlug", "reviewStatus" : "td:approved", - "specificationReference" : "_:t163", + "specificationReference" : "_:t412", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictUriReUseSlug", @@ -2799,7 +2864,7 @@ "@id" : "ldpt:BasicContainer-ServerHonorsSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.363Z" + "@value" : "2014-08-25T13:17:51.735Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -2811,7 +2876,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-ServerHonorsSlug", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t78", + "specificationReference" : "_:t89", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:CommonContainer-ServerHonorsSlug", @@ -2821,7 +2886,7 @@ "@id" : "ldpt:BasicContainer-TypeRdfSource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.369Z" + "@value" : "2014-08-25T13:17:51.742Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -2833,7 +2898,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-TypeRdfSource", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t48", + "specificationReference" : "_:t60", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-TypeRdfSource", @@ -2843,7 +2908,7 @@ "@id" : "ldpt:BasicContainer-UseStandardVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.37Z" + "@value" : "2014-08-25T13:17:51.743Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -2855,7 +2920,7 @@ "mf:action" : "", "mf:name" : "BasicContainer-UseStandardVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t477", + "specificationReference" : "_:t487", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.BasicContainerTest", "declaredTestCase" : "ldpt:RdfSource-UseStandardVocabularies", @@ -2868,7 +2933,7 @@ "@id" : "ldpt:DirectContainer-4xxErrorHasResponseBody", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.435Z" + "@value" : "2014-08-25T13:17:51.593Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -2880,17 +2945,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-4xxErrorHasResponseBody", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t309", + "specificationReference" : "_:t316", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-4xxErrorHasResponseBody", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:DirectContainer-AcceptPatchHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.444Z" + "@value" : "2014-08-25T13:17:51.605Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2902,7 +2967,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-AcceptPatchHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t433", + "specificationReference" : "_:t431", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-AcceptPatchHeader", @@ -2912,7 +2977,7 @@ "@id" : "ldpt:DirectContainer-AcceptPostResponseHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.419Z" + "@value" : "2014-08-25T13:17:51.565Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2924,7 +2989,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-AcceptPostResponseHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t134", + "specificationReference" : "_:t141", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-AcceptPostResponseHeader", @@ -2934,7 +2999,7 @@ "@id" : "ldpt:DirectContainer-AcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.415Z" + "@value" : "2014-08-25T13:17:51.56Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2946,7 +3011,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-AcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t262", + "specificationReference" : "_:t281", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-AcceptTurtle", @@ -2956,7 +3021,7 @@ "@id" : "ldpt:DirectContainer-ActAsIfInsertedContentRelationTripleExists", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.408Z" + "@value" : "2014-08-25T13:17:51.544Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2968,7 +3033,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ActAsIfInsertedContentRelationTripleExists", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t413", + "specificationReference" : "_:t51", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-ActAsIfInsertedContentRelationTripleExists", @@ -2978,7 +3043,7 @@ "@id" : "ldpt:DirectContainer-ConditionFailedStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.441Z" + "@value" : "2014-08-25T13:17:51.603Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -2990,17 +3055,86 @@ "mf:action" : "", "mf:name" : "DirectContainer-ConditionFailedStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t195", + "specificationReference" : "_:t414", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-ConditionFailedStatusCode", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testConditionFailedStatusCode()", "testMethod" : "ldpt:automated" }, { + "@id" : "ldpt:DirectContainer-ConformsContainerRdfResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.57Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#RdfSource-PutReplacesResource", "http://www.w3c.org/ns/ldp/test#RdfSource-ConformsRdfSourceLdpResource", "http://www.w3c.org/ns/ldp/test#RdfSource-RelativeUriResolutionPut", "http://www.w3c.org/ns/ldp/test#RdfSource-PutReadOnlyProperties4xxStatus", "http://www.w3c.org/ns/ldp/test#RdfSource-PutPropertiesNotPersisted", "http://www.w3c.org/ns/ldp/test#RdfSource-GetResourceAcceptTurtle", "http://www.w3c.org/ns/ldp/test#RdfSource-RestrictClientInference", "http://www.w3c.org/ns/ldp/test#RdfSource-GetResource", "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsReadOnlyProp", "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsUnknownProp", "http://www.w3c.org/ns/ldp/test#RdfSource-PutSimpleUpdate" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.", + "rdfs:label" : "DirectContainer-ConformsContainerRdfResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-isldpr", + "mf:action" : "", + "mf:name" : "DirectContainer-ConformsContainerRdfResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t93", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", + "declaredTestCase" : "ldpt:CommonContainer-ConformsContainerRdfResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testConformsContainerRdfResource()", + "testMethod" : "ldpt:indirect" + }, { + "@id" : "ldpt:DirectContainer-ConformsDcLdpContainer", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.546Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#CommonContainer-PostResponseStatusAndLocation", "http://www.w3c.org/ns/ldp/test#CommonContainer-DeleteRemovesContainmentTriple", "http://www.w3c.org/ns/ldp/test#CommonContainer-PostContainer", "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptTurtle", "http://www.w3c.org/ns/ldp/test#CommonContainer-ConformsContainerRdfResource", "http://www.w3c.org/ns/ldp/test#CommonContainer-NullRelativeUriPost", "http://www.w3c.org/ns/ldp/test#CommonContainer-RelativeUriResolutionPost", "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelCreateNotAllowed", "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelHeaders", "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptPostResponseHeader" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each LDP Direct Container MUST also be a conforming LDP Container in section 5.2 Container along the following restrictions.", + "rdfs:label" : "DirectContainer-ConformsDcLdpContainer", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpdc-are-ldpcs", + "mf:action" : "", + "mf:name" : "DirectContainer-ConformsDcLdpContainer", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t270", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", + "declaredTestCase" : "ldpt:DirectContainer-ConformsDcLdpContainer", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/DirectContainerTest.html#testConformsDcLdpContainer()", + "testMethod" : "ldpt:indirect" + }, { + "@id" : "ldpt:DirectContainer-ConformsRdfSourceLdpResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.594Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag", "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual", "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-Options", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource", "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-Head", "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead", "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.", + "rdfs:label" : "DirectContainer-ConformsRdfSourceLdpResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "mf:action" : "", + "mf:name" : "DirectContainer-ConformsRdfSourceLdpResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t426", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", + "declaredTestCase" : "ldpt:RdfSource-ConformsRdfSourceLdpResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()", + "testMethod" : "ldpt:indirect" + }, { "@id" : "ldpt:DirectContainer-ContainsRdfType", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.427Z" + "@value" : "2014-08-25T13:17:51.579Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3012,7 +3146,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ContainsRdfType", "reviewStatus" : "td:approved", - "specificationReference" : "_:t208", + "specificationReference" : "_:t407", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-ContainsRdfType", @@ -3022,7 +3156,7 @@ "@id" : "ldpt:DirectContainer-ContentTypeHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.416Z" + "@value" : "2014-08-25T13:17:51.56Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3034,7 +3168,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ContentTypeHeader", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t156", + "specificationReference" : "_:t195", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-ContentTypeHeader", @@ -3044,7 +3178,7 @@ "@id" : "ldpt:DirectContainer-CreateWithoutConstraints", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.418Z" + "@value" : "2014-08-25T13:17:51.563Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3056,7 +3190,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-CreateWithoutConstraints", "reviewStatus" : "td:approved", - "specificationReference" : "_:t335", + "specificationReference" : "_:t180", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-CreateWithoutConstraints", @@ -3066,7 +3200,7 @@ "@id" : "ldpt:DirectContainer-DeleteRemovesContainmentTriple", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.421Z" + "@value" : "2014-08-25T13:17:51.567Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3078,7 +3212,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-DeleteRemovesContainmentTriple", "reviewStatus" : "td:approved", - "specificationReference" : "_:t241", + "specificationReference" : "_:t256", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-DeleteRemovesContainmentTriple", @@ -3088,7 +3222,7 @@ "@id" : "ldpt:DirectContainer-DeleteResourceUpdatesTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.409Z" + "@value" : "2014-08-25T13:17:51.545Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3100,7 +3234,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-DeleteResourceUpdatesTriples", "reviewStatus" : "td:approved", - "specificationReference" : "_:t191", + "specificationReference" : "_:t199", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-DeleteResourceUpdatesTriples", @@ -3110,7 +3244,7 @@ "@id" : "ldpt:DirectContainer-ETagHeadersGet", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.438Z" + "@value" : "2014-08-25T13:17:51.6Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3122,7 +3256,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ETagHeadersGet", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t19", + "specificationReference" : "_:t453", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersGet", @@ -3132,7 +3266,7 @@ "@id" : "ldpt:DirectContainer-ETagHeadersHead", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.439Z" + "@value" : "2014-08-25T13:17:51.601Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3144,7 +3278,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ETagHeadersHead", "reviewStatus" : "td:approved", - "specificationReference" : "_:t353", + "specificationReference" : "_:t121", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersHead", @@ -3154,7 +3288,7 @@ "@id" : "ldpt:DirectContainer-GetResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.426Z" + "@value" : "2014-08-25T13:17:51.579Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3166,7 +3300,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-GetResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t466", + "specificationReference" : "_:t411", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-GetResource", @@ -3176,7 +3310,7 @@ "@id" : "ldpt:DirectContainer-GetResourceAcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.43Z" + "@value" : "2014-08-25T13:17:51.589Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3188,7 +3322,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-GetResourceAcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t245", + "specificationReference" : "_:t266", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-GetResourceAcceptTurtle", @@ -3198,7 +3332,7 @@ "@id" : "ldpt:DirectContainer-GetResponseHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.44Z" + "@value" : "2014-08-25T13:17:51.602Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3210,7 +3344,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-GetResponseHeaders", "reviewStatus" : "td:approved", - "specificationReference" : "_:t140", + "specificationReference" : "_:t149", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-GetResponseHeaders", @@ -3220,7 +3354,7 @@ "@id" : "ldpt:DirectContainer-Head", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.443Z" + "@value" : "2014-08-25T13:17:51.605Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3232,7 +3366,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-Head", "reviewStatus" : "td:approved", - "specificationReference" : "_:t376", + "specificationReference" : "_:t139", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-Head", @@ -3242,7 +3376,7 @@ "@id" : "ldpt:DirectContainer-HttpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.405Z" + "@value" : "2014-08-25T13:17:51.542Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3254,7 +3388,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-HttpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t21", + "specificationReference" : "_:t299", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-HttpLinkHeader", @@ -3264,7 +3398,7 @@ "@id" : "ldpt:DirectContainer-IsHttp11Manual", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.438Z" + "@value" : "2014-08-25T13:17:51.6Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -3276,38 +3410,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-IsHttp11Manual", "reviewStatus" : "td:approved", - "specificationReference" : "_:t323", + "specificationReference" : "_:t274", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-IsHttp11Manual", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Manual()", "testMethod" : "ldpt:manual" }, { - "@id" : "ldpt:DirectContainer-IsHttp11Server", - "dcterms:date" : { - "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.437Z" - }, - "dcterms:subject" : "MUST", - "rdf:type" : { - "@id" : "earl:TestCase" - }, - "rdfs:comment" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].", - "rdfs:label" : "DirectContainer-IsHttp11Server", - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "mf:action" : "", - "mf:name" : "DirectContainer-IsHttp11Server", - "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t180", - "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", - "declaredTestCase" : "ldpt:CommonResource-IsHttp11Server", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()", - "testMethod" : "ldpt:automated" - }, { "@id" : "ldpt:DirectContainer-JsonLdRepresentation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.431Z" + "@value" : "2014-08-25T13:17:51.59Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3319,7 +3432,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-JsonLdRepresentation", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t266", + "specificationReference" : "_:t1", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-JsonLdRepresentation", @@ -3329,7 +3442,7 @@ "@id" : "ldpt:DirectContainer-LdpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.439Z" + "@value" : "2014-08-25T13:17:51.601Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3341,7 +3454,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-LdpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t465", + "specificationReference" : "_:t422", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-LdpLinkHeader", @@ -3366,14 +3479,14 @@ }, "rdfs:comment" : "LDP Direct Container tests. MUST conformance tests.", "entries" : { - "@list" : [ "ldpt:DirectContainer-HttpLinkHeader", "ldpt:DirectContainer-MemberResourceTriple", "ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists", "ldpt:DirectContainer-ActAsIfInsertedContentRelationTripleExists", "ldpt:DirectContainer-PostResourceUpdatesTriples", "ldpt:DirectContainer-DeleteResourceUpdatesTriples", "ldpt:DirectContainer-RelativeUriResolutionPost", "ldpt:DirectContainer-PostResponseStatusAndLocation", "ldpt:DirectContainer-PostContainer", "ldpt:DirectContainer-RequestedInteractionModelCreateNotAllowed", "ldpt:DirectContainer-RequestedInteractionModelHeaders", "ldpt:DirectContainer-AcceptTurtle", "ldpt:DirectContainer-NullRelativeUriPost", "ldpt:DirectContainer-AcceptPostResponseHeader", "ldpt:DirectContainer-DeleteRemovesContainmentTriple", "ldpt:DirectContainer-RelativeUriResolutionPut", "ldpt:DirectContainer-PutReplacesResource", "ldpt:DirectContainer-PutSimpleUpdate", "ldpt:DirectContainer-GetResource", "ldpt:DirectContainer-RestrictClientInference", "ldpt:DirectContainer-GetResourceAcceptTurtle", "ldpt:DirectContainer-PublishConstraintsReadOnlyProp", "ldpt:DirectContainer-PublishConstraintsUnknownProp", "ldpt:DirectContainer-PutReadOnlyProperties4xxStatus", "ldpt:DirectContainer-PutPropertiesNotPersisted", "ldpt:DirectContainer-IsHttp11Manual", "ldpt:DirectContainer-ETagHeadersGet", "ldpt:DirectContainer-ETagHeadersHead", "ldpt:DirectContainer-LdpLinkHeader", "ldpt:DirectContainer-GetResponseHeaders", "ldpt:DirectContainer-ConditionFailedStatusCode", "ldpt:DirectContainer-PreconditionRequiredStatusCode", "ldpt:DirectContainer-PutBadETag", "ldpt:DirectContainer-Head", "ldpt:DirectContainer-AcceptPatchHeader", "ldpt:DirectContainer-Options", "ldpt:DirectContainer-OptionsAllowHeader" ] + "@list" : [ "ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists", "ldpt:DirectContainer-HttpLinkHeader", "ldpt:DirectContainer-MemberResourceTriple", "ldpt:DirectContainer-ActAsIfInsertedContentRelationTripleExists", "ldpt:DirectContainer-PostResourceUpdatesTriples", "ldpt:DirectContainer-DeleteResourceUpdatesTriples", "ldpt:DirectContainer-ConformsDcLdpContainer", "ldpt:DirectContainer-RelativeUriResolutionPost", "ldpt:DirectContainer-PostResponseStatusAndLocation", "ldpt:DirectContainer-PostContainer", "ldpt:DirectContainer-RequestedInteractionModelCreateNotAllowed", "ldpt:DirectContainer-RequestedInteractionModelHeaders", "ldpt:DirectContainer-AcceptTurtle", "ldpt:DirectContainer-NullRelativeUriPost", "ldpt:DirectContainer-AcceptPostResponseHeader", "ldpt:DirectContainer-DeleteRemovesContainmentTriple", "ldpt:DirectContainer-ConformsContainerRdfResource", "ldpt:DirectContainer-RelativeUriResolutionPut", "ldpt:DirectContainer-PutReplacesResource", "ldpt:DirectContainer-PutSimpleUpdate", "ldpt:DirectContainer-GetResource", "ldpt:DirectContainer-RestrictClientInference", "ldpt:DirectContainer-GetResourceAcceptTurtle", "ldpt:DirectContainer-PublishConstraintsReadOnlyProp", "ldpt:DirectContainer-PublishConstraintsUnknownProp", "ldpt:DirectContainer-PutReadOnlyProperties4xxStatus", "ldpt:DirectContainer-PutPropertiesNotPersisted", "ldpt:DirectContainer-ConformsRdfSourceLdpResource", "ldpt:DirectContainer-IsHttp11Manual", "ldpt:DirectContainer-ETagHeadersGet", "ldpt:DirectContainer-ETagHeadersHead", "ldpt:DirectContainer-LdpLinkHeader", "ldpt:DirectContainer-GetResponseHeaders", "ldpt:DirectContainer-ConditionFailedStatusCode", "ldpt:DirectContainer-PreconditionRequiredStatusCode", "ldpt:DirectContainer-PutBadETag", "ldpt:DirectContainer-Head", "ldpt:DirectContainer-AcceptPatchHeader", "ldpt:DirectContainer-Options", "ldpt:DirectContainer-OptionsAllowHeader" ] }, "mf:name" : "DirectContainer (MUST)" }, { "@id" : "ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.407Z" + "@value" : "2014-08-25T13:17:51.376Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3385,7 +3498,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists", "reviewStatus" : "td:approved", - "specificationReference" : "_:t222", + "specificationReference" : "_:t352", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists", @@ -3395,7 +3508,7 @@ "@id" : "ldpt:DirectContainer-MemberResourceTriple", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.406Z" + "@value" : "2014-08-25T13:17:51.543Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3407,7 +3520,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-MemberResourceTriple", "reviewStatus" : "td:approved", - "specificationReference" : "_:t473", + "specificationReference" : "_:t459", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-MemberResourceTriple", @@ -3417,7 +3530,7 @@ "@id" : "ldpt:DirectContainer-NoRdfBagSeqOrList", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.411Z" + "@value" : "2014-08-25T13:17:51.555Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3429,7 +3542,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-NoRdfBagSeqOrList", "reviewStatus" : "td:approved", - "specificationReference" : "_:t93", + "specificationReference" : "_:t105", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-NoRdfBagSeqOrList", @@ -3439,7 +3552,7 @@ "@id" : "ldpt:DirectContainer-NullRelativeUriPost", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.416Z" + "@value" : "2014-08-25T13:17:51.561Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3451,28 +3564,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-NullRelativeUriPost", "reviewStatus" : "td:approved", - "specificationReference" : "_:t422", + "specificationReference" : "_:t320", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-NullRelativeUriPost", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testNullRelativeUriPost()", "testMethod" : "ldpt:automated" }, { - "@id" : "ldpt:DirectContainer-OTHERManifest", - "http://purl.org/dc/elements/1.1/title" : "DirectContainer (OTHER)", - "rdf:type" : { - "@id" : "mf:Manifest" - }, - "rdfs:comment" : "LDP Direct Container tests. No official conformance status.", - "entries" : { - "@list" : [ "ldpt:DirectContainer-IsHttp11Server" ] - }, - "mf:name" : "DirectContainer (OTHER)" - }, { "@id" : "ldpt:DirectContainer-Options", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.445Z" + "@value" : "2014-08-25T13:17:51.606Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3484,7 +3586,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-Options", "reviewStatus" : "td:approved", - "specificationReference" : "_:t243", + "specificationReference" : "_:t472", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-Options", @@ -3494,7 +3596,7 @@ "@id" : "ldpt:DirectContainer-OptionsAllowHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.445Z" + "@value" : "2014-08-25T13:17:51.606Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3506,7 +3608,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-OptionsAllowHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t455", + "specificationReference" : "_:t328", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-OptionsAllowHeader", @@ -3516,7 +3618,7 @@ "@id" : "ldpt:DirectContainer-PatchMethod", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.422Z" + "@value" : "2014-08-25T13:17:51.568Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3528,7 +3630,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PatchMethod", "reviewStatus" : "td:approved", - "specificationReference" : "_:t444", + "specificationReference" : "_:t79", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PatchMethod", @@ -3538,7 +3640,7 @@ "@id" : "ldpt:DirectContainer-PostContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.413Z" + "@value" : "2014-08-25T13:17:51.557Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3550,7 +3652,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PostContainer", "reviewStatus" : "td:approved", - "specificationReference" : "_:t207", + "specificationReference" : "_:t168", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostContainer", @@ -3560,7 +3662,7 @@ "@id" : "ldpt:DirectContainer-PostJsonLd", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.424Z" + "@value" : "2014-08-25T13:17:51.57Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3572,7 +3674,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PostJsonLd", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t161", + "specificationReference" : "_:t280", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostJsonLd", @@ -3582,7 +3684,7 @@ "@id" : "ldpt:DirectContainer-PostNoSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.417Z" + "@value" : "2014-08-25T13:17:51.562Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3604,7 +3706,7 @@ "@id" : "ldpt:DirectContainer-PostResourceUpdatesTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.408Z" + "@value" : "2014-08-25T13:17:51.544Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3616,7 +3718,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PostResourceUpdatesTriples", "reviewStatus" : "td:approved", - "specificationReference" : "_:t69", + "specificationReference" : "_:t388", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-PostResourceUpdatesTriples", @@ -3626,7 +3728,7 @@ "@id" : "ldpt:DirectContainer-PostResponseStatusAndLocation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.413Z" + "@value" : "2014-08-25T13:17:51.557Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3638,7 +3740,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PostResponseStatusAndLocation", "reviewStatus" : "td:approved", - "specificationReference" : "_:t47", + "specificationReference" : "_:t58", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostResponseStatusAndLocation", @@ -3648,7 +3750,7 @@ "@id" : "ldpt:DirectContainer-PreconditionRequiredStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.442Z" + "@value" : "2014-08-25T13:17:51.604Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3660,7 +3762,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PreconditionRequiredStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t336", + "specificationReference" : "_:t288", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-PreconditionRequiredStatusCode", @@ -3670,7 +3772,7 @@ "@id" : "ldpt:DirectContainer-PreferContainmentTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.412Z" + "@value" : "2014-08-25T13:17:51.556Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3682,7 +3784,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PreferContainmentTriples", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t53", + "specificationReference" : "_:t65", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PreferContainmentTriples", @@ -3692,7 +3794,7 @@ "@id" : "ldpt:DirectContainer-PreferMembershipTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.41Z" + "@value" : "2014-08-25T13:17:51.553Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3704,7 +3806,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PreferMembershipTriples", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t263", + "specificationReference" : "_:t283", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-PreferMembershipTriples", @@ -3714,7 +3816,7 @@ "@id" : "ldpt:DirectContainer-PublishConstraintsReadOnlyProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.432Z" + "@value" : "2014-08-25T13:17:51.59Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3726,17 +3828,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-PublishConstraintsReadOnlyProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t405", + "specificationReference" : "_:t355", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsReadOnlyProp", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:DirectContainer-PublishConstraintsUnknownProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.433Z" + "@value" : "2014-08-25T13:17:51.591Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3758,7 +3860,7 @@ "@id" : "ldpt:DirectContainer-PutBadETag", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.443Z" + "@value" : "2014-08-25T13:17:51.604Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3770,7 +3872,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutBadETag", "reviewStatus" : "td:approved", - "specificationReference" : "_:t35", + "specificationReference" : "_:t118", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-PutBadETag", @@ -3780,7 +3882,7 @@ "@id" : "ldpt:DirectContainer-PutPropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.436Z" + "@value" : "2014-08-25T13:17:51.593Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3792,7 +3894,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutPropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t303", + "specificationReference" : "_:t69", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutPropertiesNotPersisted", @@ -3802,7 +3904,7 @@ "@id" : "ldpt:DirectContainer-PutReadOnlyProperties4xxStatus", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.434Z" + "@value" : "2014-08-25T13:17:51.592Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3814,17 +3916,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutReadOnlyProperties4xxStatus", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t300", + "specificationReference" : "_:t216", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutReadOnlyProperties4xxStatus", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:DirectContainer-PutReplacesResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.425Z" + "@value" : "2014-08-25T13:17:51.577Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3836,7 +3938,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutReplacesResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t8", + "specificationReference" : "_:t330", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutReplacesResource", @@ -3846,7 +3948,7 @@ "@id" : "ldpt:DirectContainer-PutRequiresIfMatch", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.441Z" + "@value" : "2014-08-25T13:17:51.602Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3858,7 +3960,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutRequiresIfMatch", "reviewStatus" : "td:approved", - "specificationReference" : "_:t402", + "specificationReference" : "_:t309", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-PutRequiresIfMatch", @@ -3868,7 +3970,7 @@ "@id" : "ldpt:DirectContainer-PutSimpleUpdate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.426Z" + "@value" : "2014-08-25T13:17:51.578Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3880,7 +3982,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutSimpleUpdate", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t343", + "specificationReference" : "_:t97", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutSimpleUpdate", @@ -3890,7 +3992,7 @@ "@id" : "ldpt:DirectContainer-PutToCreate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.41Z" + "@value" : "2014-08-25T13:17:51.554Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -3902,7 +4004,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-PutToCreate", "reviewStatus" : "td:approved", - "specificationReference" : "_:t42", + "specificationReference" : "_:t50", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PutToCreate", @@ -3912,7 +4014,7 @@ "@id" : "ldpt:DirectContainer-RdfTypeLdpContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.422Z" + "@value" : "2014-08-25T13:17:51.568Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -3924,7 +4026,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RdfTypeLdpContainer", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t294", + "specificationReference" : "_:t402", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RdfTypeLdpContainer", @@ -3934,7 +4036,7 @@ "@id" : "ldpt:DirectContainer-ReUseVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.428Z" + "@value" : "2014-08-25T13:17:51.581Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -3946,7 +4048,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ReUseVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t447", + "specificationReference" : "_:t439", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-ReUseVocabularies", @@ -3959,7 +4061,7 @@ "@id" : "ldpt:DirectContainer-RejectPutModifyingContainmentTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.42Z" + "@value" : "2014-08-25T13:17:51.565Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -3971,7 +4073,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RejectPutModifyingContainmentTriples", "reviewStatus" : "td:approved", - "specificationReference" : "_:t9", + "specificationReference" : "_:t13", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RejectPutModifyingContainmentTriples", @@ -3981,7 +4083,7 @@ "@id" : "ldpt:DirectContainer-RelativeUriResolutionPost", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.411Z" + "@value" : "2014-08-25T13:17:51.555Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -3993,7 +4095,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RelativeUriResolutionPost", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t457", + "specificationReference" : "_:t419", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RelativeUriResolutionPost", @@ -4003,7 +4105,7 @@ "@id" : "ldpt:DirectContainer-RelativeUriResolutionPut", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.424Z" + "@value" : "2014-08-25T13:17:51.577Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4015,7 +4117,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RelativeUriResolutionPut", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t435", + "specificationReference" : "_:t247", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-RelativeUriResolutionPut", @@ -4025,7 +4127,7 @@ "@id" : "ldpt:DirectContainer-RequestedInteractionModelCreateNotAllowed", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.414Z" + "@value" : "2014-08-25T13:17:51.558Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4037,17 +4139,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-RequestedInteractionModelCreateNotAllowed", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t46", + "specificationReference" : "_:t54", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RequestedInteractionModelCreateNotAllowed", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:DirectContainer-RequestedInteractionModelHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.415Z" + "@value" : "2014-08-25T13:17:51.559Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4059,17 +4161,17 @@ "mf:action" : "", "mf:name" : "DirectContainer-RequestedInteractionModelHeaders", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t278", + "specificationReference" : "_:t134", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RequestedInteractionModelHeaders", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:DirectContainer-ResponsePropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.436Z" + "@value" : "2014-08-25T13:17:51.594Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4081,7 +4183,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ResponsePropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t100", + "specificationReference" : "_:t113", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-ResponsePropertiesNotPersisted", @@ -4091,7 +4193,7 @@ "@id" : "ldpt:DirectContainer-RestrictClientInference", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.429Z" + "@value" : "2014-08-25T13:17:51.588Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -4103,7 +4205,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RestrictClientInference", "reviewStatus" : "td:approved", - "specificationReference" : "_:t391", + "specificationReference" : "_:t39", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-RestrictClientInference", @@ -4116,7 +4218,7 @@ "@id" : "ldpt:DirectContainer-RestrictPutReUseUri", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.421Z" + "@value" : "2014-08-25T13:17:51.566Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4128,7 +4230,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RestrictPutReUseUri", "reviewStatus" : "td:approved", - "specificationReference" : "_:t364", + "specificationReference" : "_:t232", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictPutReUseUri", @@ -4138,7 +4240,7 @@ "@id" : "ldpt:DirectContainer-RestrictUriReUseNoSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.419Z" + "@value" : "2014-08-25T13:17:51.564Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4150,7 +4252,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RestrictUriReUseNoSlug", "reviewStatus" : "td:approved", - "specificationReference" : "_:t193", + "specificationReference" : "_:t18", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictUriReUseNoSlug", @@ -4160,7 +4262,7 @@ "@id" : "ldpt:DirectContainer-RestrictUriReUseSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.418Z" + "@value" : "2014-08-25T13:17:51.563Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4172,7 +4274,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-RestrictUriReUseSlug", "reviewStatus" : "td:approved", - "specificationReference" : "_:t139", + "specificationReference" : "_:t147", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictUriReUseSlug", @@ -4193,7 +4295,7 @@ "@id" : "ldpt:DirectContainer-ServerHonorsSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.423Z" + "@value" : "2014-08-25T13:17:51.569Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -4205,7 +4307,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-ServerHonorsSlug", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t464", + "specificationReference" : "_:t479", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-ServerHonorsSlug", @@ -4215,7 +4317,7 @@ "@id" : "ldpt:DirectContainer-TypeRdfSource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.427Z" + "@value" : "2014-08-25T13:17:51.58Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -4227,7 +4329,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-TypeRdfSource", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t227", + "specificationReference" : "_:t243", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-TypeRdfSource", @@ -4237,7 +4339,7 @@ "@id" : "ldpt:DirectContainer-UseMemberPredicate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.406Z" + "@value" : "2014-08-25T13:17:51.542Z" }, "dcterms:subject" : "SHOULD, ldpMember", "rdf:type" : { @@ -4249,7 +4351,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-UseMemberPredicate", "reviewStatus" : "td:approved", - "specificationReference" : "_:t354", + "specificationReference" : "_:t210", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:DirectContainer-UseMemberPredicate", @@ -4259,7 +4361,7 @@ "@id" : "ldpt:DirectContainer-UseStandardVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.429Z" + "@value" : "2014-08-25T13:17:51.587Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -4271,7 +4373,7 @@ "mf:action" : "", "mf:name" : "DirectContainer-UseStandardVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t224", + "specificationReference" : "_:t305", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.DirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-UseStandardVocabularies", @@ -4284,7 +4386,7 @@ "@id" : "ldpt:IndirectContainer-4xxErrorHasResponseBody", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.497Z" + "@value" : "2014-08-25T13:17:51.663Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4296,17 +4398,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-4xxErrorHasResponseBody", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t297", + "specificationReference" : "_:t253", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-4xxErrorHasResponseBody", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:IndirectContainer-AcceptPatchHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.506Z" + "@value" : "2014-08-25T13:17:51.672Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4318,7 +4420,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-AcceptPatchHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t221", + "specificationReference" : "_:t169", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-AcceptPatchHeader", @@ -4328,7 +4430,7 @@ "@id" : "ldpt:IndirectContainer-AcceptPostResponseHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.48Z" + "@value" : "2014-08-25T13:17:51.647Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4340,7 +4442,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-AcceptPostResponseHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t418", + "specificationReference" : "_:t57", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-AcceptPostResponseHeader", @@ -4350,7 +4452,7 @@ "@id" : "ldpt:IndirectContainer-AcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.476Z" + "@value" : "2014-08-25T13:17:51.643Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4362,7 +4464,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-AcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t319", + "specificationReference" : "_:t167", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-AcceptTurtle", @@ -4372,7 +4474,7 @@ "@id" : "ldpt:IndirectContainer-ConditionFailedStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.503Z" + "@value" : "2014-08-25T13:17:51.67Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4384,17 +4486,63 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ConditionFailedStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t141", + "specificationReference" : "_:t151", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-ConditionFailedStatusCode", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testConditionFailedStatusCode()", "testMethod" : "ldpt:automated" }, { + "@id" : "ldpt:IndirectContainer-ConformsContainerRdfResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.652Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#RdfSource-PutPropertiesNotPersisted", "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsReadOnlyProp", "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsUnknownProp", "http://www.w3c.org/ns/ldp/test#RdfSource-PutReplacesResource", "http://www.w3c.org/ns/ldp/test#RdfSource-GetResource", "http://www.w3c.org/ns/ldp/test#RdfSource-GetResourceAcceptTurtle", "http://www.w3c.org/ns/ldp/test#RdfSource-RestrictClientInference", "http://www.w3c.org/ns/ldp/test#RdfSource-RelativeUriResolutionPut", "http://www.w3c.org/ns/ldp/test#RdfSource-PutReadOnlyProperties4xxStatus", "http://www.w3c.org/ns/ldp/test#RdfSource-PutSimpleUpdate", "http://www.w3c.org/ns/ldp/test#RdfSource-ConformsRdfSourceLdpResource" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.", + "rdfs:label" : "IndirectContainer-ConformsContainerRdfResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldpc-isldpr", + "mf:action" : "", + "mf:name" : "IndirectContainer-ConformsContainerRdfResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t30", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", + "declaredTestCase" : "ldpt:CommonContainer-ConformsContainerRdfResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testConformsContainerRdfResource()", + "testMethod" : "ldpt:indirect" + }, { + "@id" : "ldpt:IndirectContainer-ConformsRdfSourceLdpResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.665Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#CommonResource-Options", "http://www.w3c.org/ns/ldp/test#CommonResource-Head", "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead", "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders", "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag", "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource", "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.", + "rdfs:label" : "IndirectContainer-ConformsRdfSourceLdpResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "mf:action" : "", + "mf:name" : "IndirectContainer-ConformsRdfSourceLdpResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t396", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", + "declaredTestCase" : "ldpt:RdfSource-ConformsRdfSourceLdpResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()", + "testMethod" : "ldpt:indirect" + }, { "@id" : "ldpt:IndirectContainer-ContainerSupportsHttpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.468Z" + "@value" : "2014-08-25T13:17:51.639Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4406,7 +4554,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ContainerSupportsHttpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t33", + "specificationReference" : "_:t42", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:IndirectContainer-ContainerSupportsHttpLinkHeader", @@ -4416,7 +4564,7 @@ "@id" : "ldpt:IndirectContainer-ContainsLdpcUri", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.47Z" + "@value" : "2014-08-25T13:17:51.637Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4428,7 +4576,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ContainsLdpcUri", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t117", + "specificationReference" : "_:t96", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:IndirectContainer-ContainsLdpcUri", @@ -4438,7 +4586,7 @@ "@id" : "ldpt:IndirectContainer-ContainsRdfType", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.488Z" + "@value" : "2014-08-25T13:17:51.657Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4450,7 +4598,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ContainsRdfType", "reviewStatus" : "td:approved", - "specificationReference" : "_:t441", + "specificationReference" : "_:t430", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-ContainsRdfType", @@ -4460,7 +4608,7 @@ "@id" : "ldpt:IndirectContainer-ContentTypeHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.477Z" + "@value" : "2014-08-25T13:17:51.644Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4472,7 +4620,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ContentTypeHeader", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t23", + "specificationReference" : "_:t25", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-ContentTypeHeader", @@ -4482,7 +4630,7 @@ "@id" : "ldpt:IndirectContainer-CreateIndirectContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.469Z" + "@value" : "2014-08-25T13:17:51.638Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4494,7 +4642,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-CreateIndirectContainer", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t440", + "specificationReference" : "_:t456", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:IndirectContainer-CreateIndirectContainer", @@ -4504,7 +4652,7 @@ "@id" : "ldpt:IndirectContainer-CreateWithoutConstraints", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.478Z" + "@value" : "2014-08-25T13:17:51.646Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4516,7 +4664,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-CreateWithoutConstraints", "reviewStatus" : "td:approved", - "specificationReference" : "_:t147", + "specificationReference" : "_:t154", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-CreateWithoutConstraints", @@ -4526,7 +4674,7 @@ "@id" : "ldpt:IndirectContainer-DeleteRemovesContainmentTriple", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.482Z" + "@value" : "2014-08-25T13:17:51.649Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4538,7 +4686,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-DeleteRemovesContainmentTriple", "reviewStatus" : "td:approved", - "specificationReference" : "_:t401", + "specificationReference" : "_:t264", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-DeleteRemovesContainmentTriple", @@ -4548,7 +4696,7 @@ "@id" : "ldpt:IndirectContainer-ETagHeadersGet", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.5Z" + "@value" : "2014-08-25T13:17:51.668Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4560,7 +4708,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ETagHeadersGet", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t344", + "specificationReference" : "_:t294", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersGet", @@ -4570,7 +4718,7 @@ "@id" : "ldpt:IndirectContainer-ETagHeadersHead", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.5Z" + "@value" : "2014-08-25T13:17:51.668Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4582,7 +4730,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ETagHeadersHead", "reviewStatus" : "td:approved", - "specificationReference" : "_:t468", + "specificationReference" : "_:t475", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersHead", @@ -4592,7 +4740,7 @@ "@id" : "ldpt:IndirectContainer-GetResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.487Z" + "@value" : "2014-08-25T13:17:51.657Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4604,7 +4752,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-GetResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t194", + "specificationReference" : "_:t129", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-GetResource", @@ -4614,7 +4762,7 @@ "@id" : "ldpt:IndirectContainer-GetResourceAcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.493Z" + "@value" : "2014-08-25T13:17:51.661Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4626,7 +4774,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-GetResourceAcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t252", + "specificationReference" : "_:t200", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-GetResourceAcceptTurtle", @@ -4636,7 +4784,7 @@ "@id" : "ldpt:IndirectContainer-GetResponseHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.502Z" + "@value" : "2014-08-25T13:17:51.669Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4648,7 +4796,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-GetResponseHeaders", "reviewStatus" : "td:approved", - "specificationReference" : "_:t15", + "specificationReference" : "_:t17", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-GetResponseHeaders", @@ -4658,7 +4806,7 @@ "@id" : "ldpt:IndirectContainer-Head", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.505Z" + "@value" : "2014-08-25T13:17:51.672Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4670,7 +4818,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-Head", "reviewStatus" : "td:approved", - "specificationReference" : "_:t320", + "specificationReference" : "_:t334", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-Head", @@ -4680,7 +4828,7 @@ "@id" : "ldpt:IndirectContainer-IsHttp11Manual", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.499Z" + "@value" : "2014-08-25T13:17:51.667Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -4692,38 +4840,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-IsHttp11Manual", "reviewStatus" : "td:approved", - "specificationReference" : "_:t2", + "specificationReference" : "_:t460", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-IsHttp11Manual", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Manual()", "testMethod" : "ldpt:manual" }, { - "@id" : "ldpt:IndirectContainer-IsHttp11Server", - "dcterms:date" : { - "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.499Z" - }, - "dcterms:subject" : "MUST", - "rdf:type" : { - "@id" : "earl:TestCase" - }, - "rdfs:comment" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].", - "rdfs:label" : "IndirectContainer-IsHttp11Server", - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "mf:action" : "", - "mf:name" : "IndirectContainer-IsHttp11Server", - "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t429", - "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", - "declaredTestCase" : "ldpt:CommonResource-IsHttp11Server", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()", - "testMethod" : "ldpt:automated" - }, { "@id" : "ldpt:IndirectContainer-JsonLdRepresentation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.494Z" + "@value" : "2014-08-25T13:17:51.661Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4735,7 +4862,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-JsonLdRepresentation", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t349", + "specificationReference" : "_:t366", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-JsonLdRepresentation", @@ -4745,7 +4872,7 @@ "@id" : "ldpt:IndirectContainer-LdpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.501Z" + "@value" : "2014-08-25T13:17:51.669Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4757,7 +4884,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-LdpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t206", + "specificationReference" : "_:t153", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-LdpLinkHeader", @@ -4782,14 +4909,14 @@ }, "rdfs:comment" : "LDP Indirect Container tests. MUST conformance tests.", "entries" : { - "@list" : [ "ldpt:IndirectContainer-ContainerSupportsHttpLinkHeader", "ldpt:IndirectContainer-CreateIndirectContainer", "ldpt:IndirectContainer-ContainsLdpcUri", "ldpt:IndirectContainer-PostResource", "ldpt:IndirectContainer-RelativeUriResolutionPost", "ldpt:IndirectContainer-PostResponseStatusAndLocation", "ldpt:IndirectContainer-PostContainer", "ldpt:IndirectContainer-RequestedInteractionModelCreateNotAllowed", "ldpt:IndirectContainer-RequestedInteractionModelHeaders", "ldpt:IndirectContainer-AcceptTurtle", "ldpt:IndirectContainer-NullRelativeUriPost", "ldpt:IndirectContainer-AcceptPostResponseHeader", "ldpt:IndirectContainer-DeleteRemovesContainmentTriple", "ldpt:IndirectContainer-RelativeUriResolutionPut", "ldpt:IndirectContainer-PutReplacesResource", "ldpt:IndirectContainer-PutSimpleUpdate", "ldpt:IndirectContainer-GetResource", "ldpt:IndirectContainer-RestrictClientInference", "ldpt:IndirectContainer-GetResourceAcceptTurtle", "ldpt:IndirectContainer-PublishConstraintsReadOnlyProp", "ldpt:IndirectContainer-PublishConstraintsUnknownProp", "ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus", "ldpt:IndirectContainer-PutPropertiesNotPersisted", "ldpt:IndirectContainer-IsHttp11Manual", "ldpt:IndirectContainer-ETagHeadersGet", "ldpt:IndirectContainer-ETagHeadersHead", "ldpt:IndirectContainer-LdpLinkHeader", "ldpt:IndirectContainer-GetResponseHeaders", "ldpt:IndirectContainer-ConditionFailedStatusCode", "ldpt:IndirectContainer-PreconditionRequiredStatusCode", "ldpt:IndirectContainer-PutBadETag", "ldpt:IndirectContainer-Head", "ldpt:IndirectContainer-AcceptPatchHeader", "ldpt:IndirectContainer-Options", "ldpt:IndirectContainer-OptionsAllowHeader" ] + "@list" : [ "ldpt:IndirectContainer-ContainsLdpcUri", "ldpt:IndirectContainer-PostResource", "ldpt:IndirectContainer-CreateIndirectContainer", "ldpt:IndirectContainer-ContainerSupportsHttpLinkHeader", "ldpt:IndirectContainer-RelativeUriResolutionPost", "ldpt:IndirectContainer-PostResponseStatusAndLocation", "ldpt:IndirectContainer-PostContainer", "ldpt:IndirectContainer-RequestedInteractionModelCreateNotAllowed", "ldpt:IndirectContainer-RequestedInteractionModelHeaders", "ldpt:IndirectContainer-AcceptTurtle", "ldpt:IndirectContainer-NullRelativeUriPost", "ldpt:IndirectContainer-AcceptPostResponseHeader", "ldpt:IndirectContainer-DeleteRemovesContainmentTriple", "ldpt:IndirectContainer-ConformsContainerRdfResource", "ldpt:IndirectContainer-RelativeUriResolutionPut", "ldpt:IndirectContainer-PutReplacesResource", "ldpt:IndirectContainer-PutSimpleUpdate", "ldpt:IndirectContainer-GetResource", "ldpt:IndirectContainer-RestrictClientInference", "ldpt:IndirectContainer-GetResourceAcceptTurtle", "ldpt:IndirectContainer-PublishConstraintsReadOnlyProp", "ldpt:IndirectContainer-PublishConstraintsUnknownProp", "ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus", "ldpt:IndirectContainer-PutPropertiesNotPersisted", "ldpt:IndirectContainer-ConformsRdfSourceLdpResource", "ldpt:IndirectContainer-IsHttp11Manual", "ldpt:IndirectContainer-ETagHeadersGet", "ldpt:IndirectContainer-ETagHeadersHead", "ldpt:IndirectContainer-LdpLinkHeader", "ldpt:IndirectContainer-GetResponseHeaders", "ldpt:IndirectContainer-ConditionFailedStatusCode", "ldpt:IndirectContainer-PreconditionRequiredStatusCode", "ldpt:IndirectContainer-PutBadETag", "ldpt:IndirectContainer-Head", "ldpt:IndirectContainer-AcceptPatchHeader", "ldpt:IndirectContainer-Options", "ldpt:IndirectContainer-OptionsAllowHeader" ] }, "mf:name" : "IndirectContainer (MUST)" }, { "@id" : "ldpt:IndirectContainer-NoRdfBagSeqOrList", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.472Z" + "@value" : "2014-08-25T13:17:51.64Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4801,7 +4928,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-NoRdfBagSeqOrList", "reviewStatus" : "td:approved", - "specificationReference" : "_:t41", + "specificationReference" : "_:t436", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-NoRdfBagSeqOrList", @@ -4811,7 +4938,7 @@ "@id" : "ldpt:IndirectContainer-NullRelativeUriPost", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.477Z" + "@value" : "2014-08-25T13:17:51.645Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4823,28 +4950,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-NullRelativeUriPost", "reviewStatus" : "td:approved", - "specificationReference" : "_:t390", + "specificationReference" : "_:t486", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-NullRelativeUriPost", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testNullRelativeUriPost()", "testMethod" : "ldpt:automated" }, { - "@id" : "ldpt:IndirectContainer-OTHERManifest", - "http://purl.org/dc/elements/1.1/title" : "IndirectContainer (OTHER)", - "rdf:type" : { - "@id" : "mf:Manifest" - }, - "rdfs:comment" : "LDP Indirect Container tests. No official conformance status.", - "entries" : { - "@list" : [ "ldpt:IndirectContainer-IsHttp11Server" ] - }, - "mf:name" : "IndirectContainer (OTHER)" - }, { "@id" : "ldpt:IndirectContainer-Options", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.506Z" + "@value" : "2014-08-25T13:17:51.673Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4856,7 +4972,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-Options", "reviewStatus" : "td:approved", - "specificationReference" : "_:t452", + "specificationReference" : "_:t448", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-Options", @@ -4866,7 +4982,7 @@ "@id" : "ldpt:IndirectContainer-OptionsAllowHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.507Z" + "@value" : "2014-08-25T13:17:51.673Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4878,7 +4994,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-OptionsAllowHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t74", + "specificationReference" : "_:t6", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-OptionsAllowHeader", @@ -4888,7 +5004,7 @@ "@id" : "ldpt:IndirectContainer-PatchMethod", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.483Z" + "@value" : "2014-08-25T13:17:51.649Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4900,7 +5016,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PatchMethod", "reviewStatus" : "td:approved", - "specificationReference" : "_:t171", + "specificationReference" : "_:t377", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PatchMethod", @@ -4910,7 +5026,7 @@ "@id" : "ldpt:IndirectContainer-PostContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.474Z" + "@value" : "2014-08-25T13:17:51.642Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4922,7 +5038,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PostContainer", "reviewStatus" : "td:approved", - "specificationReference" : "_:t295", + "specificationReference" : "_:t313", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostContainer", @@ -4932,7 +5048,7 @@ "@id" : "ldpt:IndirectContainer-PostJsonLd", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.485Z" + "@value" : "2014-08-25T13:17:51.651Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4944,7 +5060,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PostJsonLd", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t406", + "specificationReference" : "_:t78", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostJsonLd", @@ -4954,7 +5070,7 @@ "@id" : "ldpt:IndirectContainer-PostNoSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.478Z" + "@value" : "2014-08-25T13:17:51.645Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -4966,7 +5082,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PostNoSlug", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t397", + "specificationReference" : "_:t350", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostNoSlug", @@ -4976,7 +5092,7 @@ "@id" : "ldpt:IndirectContainer-PostResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.47Z" + "@value" : "2014-08-25T13:17:51.637Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -4988,7 +5104,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PostResource", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t366", + "specificationReference" : "_:t380", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:IndirectContainer-PostResource", @@ -4998,7 +5114,7 @@ "@id" : "ldpt:IndirectContainer-PostResponseStatusAndLocation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.473Z" + "@value" : "2014-08-25T13:17:51.641Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5010,7 +5126,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PostResponseStatusAndLocation", "reviewStatus" : "td:approved", - "specificationReference" : "_:t12", + "specificationReference" : "_:t115", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PostResponseStatusAndLocation", @@ -5020,7 +5136,7 @@ "@id" : "ldpt:IndirectContainer-PreconditionRequiredStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.503Z" + "@value" : "2014-08-25T13:17:51.671Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5032,7 +5148,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PreconditionRequiredStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t14", + "specificationReference" : "_:t454", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-PreconditionRequiredStatusCode", @@ -5042,7 +5158,7 @@ "@id" : "ldpt:IndirectContainer-PreferContainmentTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.473Z" + "@value" : "2014-08-25T13:17:51.641Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5054,7 +5170,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PreferContainmentTriples", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t374", + "specificationReference" : "_:t457", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PreferContainmentTriples", @@ -5064,7 +5180,7 @@ "@id" : "ldpt:IndirectContainer-PublishConstraintsReadOnlyProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.495Z" + "@value" : "2014-08-25T13:17:51.662Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5076,17 +5192,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PublishConstraintsReadOnlyProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t107", + "specificationReference" : "_:t38", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsReadOnlyProp", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:IndirectContainer-PublishConstraintsUnknownProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.495Z" + "@value" : "2014-08-25T13:17:51.662Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5098,7 +5214,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PublishConstraintsUnknownProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t71", + "specificationReference" : "_:t88", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsUnknownProp", @@ -5108,7 +5224,7 @@ "@id" : "ldpt:IndirectContainer-PutBadETag", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.504Z" + "@value" : "2014-08-25T13:17:51.671Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5120,7 +5236,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutBadETag", "reviewStatus" : "td:approved", - "specificationReference" : "_:t251", + "specificationReference" : "_:t269", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-PutBadETag", @@ -5130,7 +5246,7 @@ "@id" : "ldpt:IndirectContainer-PutPropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.497Z" + "@value" : "2014-08-25T13:17:51.664Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5142,7 +5258,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutPropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t430", + "specificationReference" : "_:t447", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutPropertiesNotPersisted", @@ -5152,7 +5268,7 @@ "@id" : "ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.496Z" + "@value" : "2014-08-25T13:17:51.663Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5164,17 +5280,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutReadOnlyProperties4xxStatus", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t432", + "specificationReference" : "_:t450", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutReadOnlyProperties4xxStatus", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:IndirectContainer-PutReplacesResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.486Z" + "@value" : "2014-08-25T13:17:51.656Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5186,7 +5302,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutReplacesResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t331", + "specificationReference" : "_:t282", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutReplacesResource", @@ -5196,7 +5312,7 @@ "@id" : "ldpt:IndirectContainer-PutRequiresIfMatch", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.502Z" + "@value" : "2014-08-25T13:17:51.67Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5208,7 +5324,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutRequiresIfMatch", "reviewStatus" : "td:approved", - "specificationReference" : "_:t175", + "specificationReference" : "_:t333", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonResource-PutRequiresIfMatch", @@ -5218,7 +5334,7 @@ "@id" : "ldpt:IndirectContainer-PutSimpleUpdate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.486Z" + "@value" : "2014-08-25T13:17:51.656Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5230,7 +5346,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutSimpleUpdate", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t66", + "specificationReference" : "_:t77", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-PutSimpleUpdate", @@ -5240,7 +5356,7 @@ "@id" : "ldpt:IndirectContainer-PutToCreate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.471Z" + "@value" : "2014-08-25T13:17:51.639Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -5252,7 +5368,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-PutToCreate", "reviewStatus" : "td:approved", - "specificationReference" : "_:t201", + "specificationReference" : "_:t474", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-PutToCreate", @@ -5262,7 +5378,7 @@ "@id" : "ldpt:IndirectContainer-RdfTypeLdpContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.483Z" + "@value" : "2014-08-25T13:17:51.65Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -5274,7 +5390,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RdfTypeLdpContainer", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t64", + "specificationReference" : "_:t74", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RdfTypeLdpContainer", @@ -5284,7 +5400,7 @@ "@id" : "ldpt:IndirectContainer-ReUseVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.49Z" + "@value" : "2014-08-25T13:17:51.659Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -5296,7 +5412,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ReUseVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t235", + "specificationReference" : "_:t184", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-ReUseVocabularies", @@ -5309,7 +5425,7 @@ "@id" : "ldpt:IndirectContainer-RejectPutModifyingContainmentTriples", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.481Z" + "@value" : "2014-08-25T13:17:51.648Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5321,7 +5437,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RejectPutModifyingContainmentTriples", "reviewStatus" : "td:approved", - "specificationReference" : "_:t482", + "specificationReference" : "_:t391", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RejectPutModifyingContainmentTriples", @@ -5331,7 +5447,7 @@ "@id" : "ldpt:IndirectContainer-RelativeUriResolutionPost", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.471Z" + "@value" : "2014-08-25T13:17:51.64Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5343,7 +5459,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RelativeUriResolutionPost", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t404", + "specificationReference" : "_:t150", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RelativeUriResolutionPost", @@ -5353,7 +5469,7 @@ "@id" : "ldpt:IndirectContainer-RelativeUriResolutionPut", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.485Z" + "@value" : "2014-08-25T13:17:51.655Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5365,7 +5481,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RelativeUriResolutionPut", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t474", + "specificationReference" : "_:t488", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-RelativeUriResolutionPut", @@ -5375,7 +5491,7 @@ "@id" : "ldpt:IndirectContainer-RequestedInteractionModelCreateNotAllowed", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.475Z" + "@value" : "2014-08-25T13:17:51.642Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5387,17 +5503,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RequestedInteractionModelCreateNotAllowed", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t119", + "specificationReference" : "_:t132", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RequestedInteractionModelCreateNotAllowed", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:IndirectContainer-RequestedInteractionModelHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.475Z" + "@value" : "2014-08-25T13:17:51.643Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5409,17 +5525,17 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RequestedInteractionModelHeaders", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t214", + "specificationReference" : "_:t275", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RequestedInteractionModelHeaders", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:IndirectContainer-ResponsePropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.498Z" + "@value" : "2014-08-25T13:17:51.664Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5431,7 +5547,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ResponsePropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t164", + "specificationReference" : "_:t102", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-ResponsePropertiesNotPersisted", @@ -5441,7 +5557,7 @@ "@id" : "ldpt:IndirectContainer-RestrictClientInference", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.492Z" + "@value" : "2014-08-25T13:17:51.66Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -5453,7 +5569,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RestrictClientInference", "reviewStatus" : "td:approved", - "specificationReference" : "_:t471", + "specificationReference" : "_:t483", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-RestrictClientInference", @@ -5466,7 +5582,7 @@ "@id" : "ldpt:IndirectContainer-RestrictPutReUseUri", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.481Z" + "@value" : "2014-08-25T13:17:51.648Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5478,7 +5594,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RestrictPutReUseUri", "reviewStatus" : "td:approved", - "specificationReference" : "_:t209", + "specificationReference" : "_:t225", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictPutReUseUri", @@ -5488,7 +5604,7 @@ "@id" : "ldpt:IndirectContainer-RestrictUriReUseNoSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.48Z" + "@value" : "2014-08-25T13:17:51.647Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5500,7 +5616,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RestrictUriReUseNoSlug", "reviewStatus" : "td:approved", - "specificationReference" : "_:t126", + "specificationReference" : "_:t462", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictUriReUseNoSlug", @@ -5510,7 +5626,7 @@ "@id" : "ldpt:IndirectContainer-RestrictUriReUseSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.479Z" + "@value" : "2014-08-25T13:17:51.646Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5522,7 +5638,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-RestrictUriReUseSlug", "reviewStatus" : "td:approved", - "specificationReference" : "_:t459", + "specificationReference" : "_:t215", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-RestrictUriReUseSlug", @@ -5543,7 +5659,7 @@ "@id" : "ldpt:IndirectContainer-ServerHonorsSlug", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.484Z" + "@value" : "2014-08-25T13:17:51.651Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -5555,7 +5671,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-ServerHonorsSlug", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t148", + "specificationReference" : "_:t415", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:CommonContainer-ServerHonorsSlug", @@ -5565,7 +5681,7 @@ "@id" : "ldpt:IndirectContainer-TypeRdfSource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.489Z" + "@value" : "2014-08-25T13:17:51.658Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -5577,7 +5693,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-TypeRdfSource", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t34", + "specificationReference" : "_:t484", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-TypeRdfSource", @@ -5587,7 +5703,7 @@ "@id" : "ldpt:IndirectContainer-UseStandardVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.491Z" + "@value" : "2014-08-25T13:17:51.659Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -5599,7 +5715,7 @@ "mf:action" : "", "mf:name" : "IndirectContainer-UseStandardVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t49", + "specificationReference" : "_:t61", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.IndirectContainerTest", "declaredTestCase" : "ldpt:RdfSource-UseStandardVocabularies", @@ -5612,7 +5728,7 @@ "@id" : "ldpt:MemberResource-4xxErrorHasResponseBody", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.286Z" + "@value" : "2014-08-25T13:17:51.783Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5624,17 +5740,17 @@ "mf:action" : "", "mf:name" : "MemberResource-4xxErrorHasResponseBody", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t284", + "specificationReference" : "_:t401", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-4xxErrorHasResponseBody", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:MemberResource-AcceptPatchHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.303Z" + "@value" : "2014-08-25T13:17:51.793Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5646,7 +5762,7 @@ "mf:action" : "", "mf:name" : "MemberResource-AcceptPatchHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t211", + "specificationReference" : "_:t340", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-AcceptPatchHeader", @@ -5656,7 +5772,7 @@ "@id" : "ldpt:MemberResource-ConditionFailedStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.3Z" + "@value" : "2014-08-25T13:17:51.791Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5668,17 +5784,40 @@ "mf:action" : "", "mf:name" : "MemberResource-ConditionFailedStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t352", + "specificationReference" : "_:t365", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-ConditionFailedStatusCode", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testConditionFailedStatusCode()", "testMethod" : "ldpt:automated" }, { + "@id" : "ldpt:MemberResource-ConformsRdfSourceLdpResource", + "dcterms:date" : { + "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", + "@value" : "2014-08-25T13:17:51.785Z" + }, + "dcterms:hasPart" : [ "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-Head", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders", "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead", "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode", "http://www.w3c.org/ns/ldp/test#CommonResource-Options", "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader", "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual", "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet", "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag", "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode" ], + "dcterms:subject" : "MUST", + "rdf:type" : { + "@id" : "earl:TestRequirement" + }, + "rdfs:comment" : "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.", + "rdfs:label" : "MemberResource-ConformsRdfSourceLdpResource", + "seeAlso" : "http://www.w3.org/TR/ldp#ldprs-are-ldpr", + "mf:action" : "", + "mf:name" : "MemberResource-ConformsRdfSourceLdpResource", + "reviewStatus" : "td:unreviewed", + "specificationReference" : "_:t461", + "conformanceLevel" : "ldpt:MUST", + "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", + "declaredTestCase" : "ldpt:RdfSource-ConformsRdfSourceLdpResource", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()", + "testMethod" : "ldpt:indirect" + }, { "@id" : "ldpt:MemberResource-ContainsRdfType", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.27Z" + "@value" : "2014-08-25T13:17:51.778Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5690,7 +5829,7 @@ "mf:action" : "", "mf:name" : "MemberResource-ContainsRdfType", "reviewStatus" : "td:approved", - "specificationReference" : "_:t358", + "specificationReference" : "_:t373", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-ContainsRdfType", @@ -5700,7 +5839,7 @@ "@id" : "ldpt:MemberResource-ETagHeadersGet", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.295Z" + "@value" : "2014-08-25T13:17:51.789Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5712,7 +5851,7 @@ "mf:action" : "", "mf:name" : "MemberResource-ETagHeadersGet", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t20", + "specificationReference" : "_:t21", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersGet", @@ -5722,7 +5861,7 @@ "@id" : "ldpt:MemberResource-ETagHeadersHead", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.296Z" + "@value" : "2014-08-25T13:17:51.789Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5734,7 +5873,7 @@ "mf:action" : "", "mf:name" : "MemberResource-ETagHeadersHead", "reviewStatus" : "td:approved", - "specificationReference" : "_:t84", + "specificationReference" : "_:t94", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersHead", @@ -5744,7 +5883,7 @@ "@id" : "ldpt:MemberResource-GetResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.269Z" + "@value" : "2014-08-25T13:17:51.778Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5756,7 +5895,7 @@ "mf:action" : "", "mf:name" : "MemberResource-GetResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t179", + "specificationReference" : "_:t286", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-GetResource", @@ -5766,7 +5905,7 @@ "@id" : "ldpt:MemberResource-GetResourceAcceptTurtle", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.28Z" + "@value" : "2014-08-25T13:17:51.781Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5778,7 +5917,7 @@ "mf:action" : "", "mf:name" : "MemberResource-GetResourceAcceptTurtle", "reviewStatus" : "td:approved", - "specificationReference" : "_:t133", + "specificationReference" : "_:t361", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-GetResourceAcceptTurtle", @@ -5788,7 +5927,7 @@ "@id" : "ldpt:MemberResource-GetResponseHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.298Z" + "@value" : "2014-08-25T13:17:51.79Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5800,7 +5939,7 @@ "mf:action" : "", "mf:name" : "MemberResource-GetResponseHeaders", "reviewStatus" : "td:approved", - "specificationReference" : "_:t322", + "specificationReference" : "_:t335", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-GetResponseHeaders", @@ -5810,7 +5949,7 @@ "@id" : "ldpt:MemberResource-Head", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.302Z" + "@value" : "2014-08-25T13:17:51.792Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5822,7 +5961,7 @@ "mf:action" : "", "mf:name" : "MemberResource-Head", "reviewStatus" : "td:approved", - "specificationReference" : "_:t348", + "specificationReference" : "_:t360", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-Head", @@ -5832,7 +5971,7 @@ "@id" : "ldpt:MemberResource-IsHttp11Manual", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.294Z" + "@value" : "2014-08-25T13:17:51.788Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -5844,38 +5983,17 @@ "mf:action" : "", "mf:name" : "MemberResource-IsHttp11Manual", "reviewStatus" : "td:approved", - "specificationReference" : "_:t467", + "specificationReference" : "_:t130", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-IsHttp11Manual", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Manual()", "testMethod" : "ldpt:manual" }, { - "@id" : "ldpt:MemberResource-IsHttp11Server", - "dcterms:date" : { - "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.293Z" - }, - "dcterms:subject" : "MUST", - "rdf:type" : { - "@id" : "earl:TestCase" - }, - "rdfs:comment" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].", - "rdfs:label" : "MemberResource-IsHttp11Server", - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "mf:action" : "", - "mf:name" : "MemberResource-IsHttp11Server", - "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t149", - "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", - "declaredTestCase" : "ldpt:CommonResource-IsHttp11Server", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()", - "testMethod" : "ldpt:automated" - }, { "@id" : "ldpt:MemberResource-JsonLdRepresentation", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.282Z" + "@value" : "2014-08-25T13:17:51.782Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -5887,7 +6005,7 @@ "mf:action" : "", "mf:name" : "MemberResource-JsonLdRepresentation", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t87", + "specificationReference" : "_:t95", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-JsonLdRepresentation", @@ -5897,7 +6015,7 @@ "@id" : "ldpt:MemberResource-LdpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.297Z" + "@value" : "2014-08-25T13:17:51.79Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5909,7 +6027,7 @@ "mf:action" : "", "mf:name" : "MemberResource-LdpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t198", + "specificationReference" : "_:t410", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-LdpLinkHeader", @@ -5919,7 +6037,7 @@ "@id" : "ldpt:MemberResource-Options", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.304Z" + "@value" : "2014-08-25T13:17:51.793Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5931,7 +6049,7 @@ "mf:action" : "", "mf:name" : "MemberResource-Options", "reviewStatus" : "td:approved", - "specificationReference" : "_:t448", + "specificationReference" : "_:t482", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-Options", @@ -5941,7 +6059,7 @@ "@id" : "ldpt:MemberResource-OptionsAllowHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.305Z" + "@value" : "2014-08-25T13:17:51.794Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5953,7 +6071,7 @@ "mf:action" : "", "mf:name" : "MemberResource-OptionsAllowHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t59", + "specificationReference" : "_:t99", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-OptionsAllowHeader", @@ -5963,7 +6081,7 @@ "@id" : "ldpt:MemberResource-PreconditionRequiredStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.301Z" + "@value" : "2014-08-25T13:17:51.792Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5975,7 +6093,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PreconditionRequiredStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t476", + "specificationReference" : "_:t148", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-PreconditionRequiredStatusCode", @@ -5985,7 +6103,7 @@ "@id" : "ldpt:MemberResource-PublishConstraintsReadOnlyProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.283Z" + "@value" : "2014-08-25T13:17:51.782Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -5997,17 +6115,17 @@ "mf:action" : "", "mf:name" : "MemberResource-PublishConstraintsReadOnlyProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t97", + "specificationReference" : "_:t231", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsReadOnlyProp", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:MemberResource-PublishConstraintsUnknownProp", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.284Z" + "@value" : "2014-08-25T13:17:51.782Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6019,7 +6137,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PublishConstraintsUnknownProp", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t176", + "specificationReference" : "_:t189", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-PublishConstraintsUnknownProp", @@ -6029,7 +6147,7 @@ "@id" : "ldpt:MemberResource-PutBadETag", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.301Z" + "@value" : "2014-08-25T13:17:51.792Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6041,7 +6159,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PutBadETag", "reviewStatus" : "td:approved", - "specificationReference" : "_:t350", + "specificationReference" : "_:t370", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-PutBadETag", @@ -6051,7 +6169,7 @@ "@id" : "ldpt:MemberResource-PutPropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.288Z" + "@value" : "2014-08-25T13:17:51.784Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6063,7 +6181,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PutPropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t462", + "specificationReference" : "_:t489", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-PutPropertiesNotPersisted", @@ -6073,7 +6191,7 @@ "@id" : "ldpt:MemberResource-PutReadOnlyProperties4xxStatus", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.285Z" + "@value" : "2014-08-25T13:17:51.783Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6085,17 +6203,17 @@ "mf:action" : "", "mf:name" : "MemberResource-PutReadOnlyProperties4xxStatus", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t469", + "specificationReference" : "_:t76", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-PutReadOnlyProperties4xxStatus", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()", + "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)", "testMethod" : "ldpt:automated" }, { "@id" : "ldpt:MemberResource-PutReplacesResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.267Z" + "@value" : "2014-08-25T13:17:51.777Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6107,7 +6225,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PutReplacesResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t321", + "specificationReference" : "_:t418", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-PutReplacesResource", @@ -6117,7 +6235,7 @@ "@id" : "ldpt:MemberResource-PutRequiresIfMatch", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.299Z" + "@value" : "2014-08-25T13:17:51.791Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -6129,7 +6247,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PutRequiresIfMatch", "reviewStatus" : "td:approved", - "specificationReference" : "_:t40", + "specificationReference" : "_:t293", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:CommonResource-PutRequiresIfMatch", @@ -6139,7 +6257,7 @@ "@id" : "ldpt:MemberResource-PutSimpleUpdate", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.268Z" + "@value" : "2014-08-25T13:17:51.777Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6151,7 +6269,7 @@ "mf:action" : "", "mf:name" : "MemberResource-PutSimpleUpdate", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t296", + "specificationReference" : "_:t314", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-PutSimpleUpdate", @@ -6161,7 +6279,7 @@ "@id" : "ldpt:MemberResource-ReUseVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.272Z" + "@value" : "2014-08-25T13:17:51.779Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -6173,7 +6291,7 @@ "mf:action" : "", "mf:name" : "MemberResource-ReUseVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t228", + "specificationReference" : "_:t351", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-ReUseVocabularies", @@ -6186,7 +6304,7 @@ "@id" : "ldpt:MemberResource-RelativeUriResolutionPut", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.166Z" + "@value" : "2014-08-25T13:17:51.776Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6198,7 +6316,7 @@ "mf:action" : "", "mf:name" : "MemberResource-RelativeUriResolutionPut", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t65", + "specificationReference" : "_:t75", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-RelativeUriResolutionPut", @@ -6208,7 +6326,7 @@ "@id" : "ldpt:MemberResource-ResponsePropertiesNotPersisted", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.289Z" + "@value" : "2014-08-25T13:17:51.784Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -6220,7 +6338,7 @@ "mf:action" : "", "mf:name" : "MemberResource-ResponsePropertiesNotPersisted", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t128", + "specificationReference" : "_:t138", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-ResponsePropertiesNotPersisted", @@ -6230,7 +6348,7 @@ "@id" : "ldpt:MemberResource-RestrictClientInference", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.279Z" + "@value" : "2014-08-25T13:17:51.78Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -6242,7 +6360,7 @@ "mf:action" : "", "mf:name" : "MemberResource-RestrictClientInference", "reviewStatus" : "td:approved", - "specificationReference" : "_:t460", + "specificationReference" : "_:t9", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-RestrictClientInference", @@ -6255,7 +6373,7 @@ "@id" : "ldpt:MemberResource-TypeRdfSource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.271Z" + "@value" : "2014-08-25T13:17:51.779Z" }, "dcterms:subject" : "MAY", "rdf:type" : { @@ -6267,7 +6385,7 @@ "mf:action" : "", "mf:name" : "MemberResource-TypeRdfSource", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t18", + "specificationReference" : "_:t155", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-TypeRdfSource", @@ -6277,7 +6395,7 @@ "@id" : "ldpt:MemberResource-UseStandardVocabularies", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.278Z" + "@value" : "2014-08-25T13:17:51.78Z" }, "dcterms:subject" : "SHOULD, MANUAL", "rdf:type" : { @@ -6289,7 +6407,7 @@ "mf:action" : "", "mf:name" : "MemberResource-UseStandardVocabularies", "reviewStatus" : "td:approved", - "specificationReference" : "_:t395", + "specificationReference" : "_:t463", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.MemberResourceTest", "declaredTestCase" : "ldpt:RdfSource-UseStandardVocabularies", @@ -6317,21 +6435,10 @@ }, "rdfs:comment" : "LDP Non-RDF Source tests. MUST conformance tests.", "entries" : { - "@list" : [ "ldpt:NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource", "ldpt:NonRDFSource-OptionsHasSameLinkHeader", "ldpt:NonRDFSource-GetResource", "ldpt:NonRDFSource-IsHttp11Manual", "ldpt:NonRDFSource-ETagHeadersGet", "ldpt:NonRDFSource-ETagHeadersHead", "ldpt:NonRDFSource-LdpLinkHeader", "ldpt:NonRDFSource-GetResponseHeaders", "ldpt:NonRDFSource-ConditionFailedStatusCode", "ldpt:NonRDFSource-PreconditionRequiredStatusCode", "ldpt:NonRDFSource-PutBadETag", "ldpt:NonRDFSource-Head", "ldpt:NonRDFSource-AcceptPatchHeader", "ldpt:NonRDFSource-Options", "ldpt:NonRDFSource-OptionsAllowHeader" ] + "@list" : [ "ldpt:NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource", "ldpt:NonRDFSource-OptionsHasSameLinkHeader", "ldpt:NonRDFSource-IsHttp11Manual", "ldpt:NonRDFSource-ETagHeadersGet", "ldpt:NonRDFSource-ETagHeadersHead", "ldpt:NonRDFSource-LdpLinkHeader", "ldpt:NonRDFSource-GetResponseHeaders", "ldpt:NonRDFSource-ConditionFailedStatusCode", "ldpt:NonRDFSource-PreconditionRequiredStatusCode", "ldpt:NonRDFSource-PutBadETag", "ldpt:NonRDFSource-Head", "ldpt:NonRDFSource-AcceptPatchHeader", "ldpt:NonRDFSource-Options", "ldpt:NonRDFSource-OptionsAllowHeader", "ldpt:NonRDFSource-GetResource" ] }, "mf:name" : "Non-RDFSource (MUST)" }, { - "@id" : "ldpt:Non-RDFSource-OTHERManifest", - "http://purl.org/dc/elements/1.1/title" : "Non-RDFSource (OTHER)", - "rdf:type" : { - "@id" : "mf:Manifest" - }, - "rdfs:comment" : "LDP Non-RDF Source tests. No official conformance status.", - "entries" : { - "@list" : [ "ldpt:NonRDFSource-IsHttp11Server" ] - }, - "mf:name" : "Non-RDFSource (OTHER)" - }, { "@id" : "ldpt:Non-RDFSource-SHOULDManifest", "http://purl.org/dc/elements/1.1/title" : "Non-RDFSource (SHOULD)", "rdf:type" : { @@ -6346,7 +6453,7 @@ "@id" : "ldpt:NonRDFSource-AcceptPatchHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.338Z" + "@value" : "2014-08-25T13:17:51.713Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6358,7 +6465,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-AcceptPatchHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t36", + "specificationReference" : "_:t44", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-AcceptPatchHeader", @@ -6368,7 +6475,7 @@ "@id" : "ldpt:NonRDFSource-ConditionFailedStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.335Z" + "@value" : "2014-08-25T13:17:51.711Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6380,7 +6487,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-ConditionFailedStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t217", + "specificationReference" : "_:t468", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-ConditionFailedStatusCode", @@ -6390,7 +6497,7 @@ "@id" : "ldpt:NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.322Z" + "@value" : "2014-08-25T13:17:51.707Z" }, "dcterms:subject" : "MUST, NON-RDF", "rdf:type" : { @@ -6402,7 +6509,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t479", + "specificationReference" : "_:t246", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource", @@ -6412,7 +6519,7 @@ "@id" : "ldpt:NonRDFSource-ETagHeadersGet", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.328Z" + "@value" : "2014-08-25T13:17:51.709Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6424,7 +6531,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-ETagHeadersGet", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t45", + "specificationReference" : "_:t409", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersGet", @@ -6434,7 +6541,7 @@ "@id" : "ldpt:NonRDFSource-ETagHeadersHead", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.33Z" + "@value" : "2014-08-25T13:17:51.709Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6446,7 +6553,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-ETagHeadersHead", "reviewStatus" : "td:approved", - "specificationReference" : "_:t438", + "specificationReference" : "_:t477", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-ETagHeadersHead", @@ -6456,7 +6563,7 @@ "@id" : "ldpt:NonRDFSource-GetResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.324Z" + "@value" : "2014-08-25T13:17:51.715Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6468,7 +6575,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-GetResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t463", + "specificationReference" : "_:t451", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-GetResource", @@ -6478,7 +6585,7 @@ "@id" : "ldpt:NonRDFSource-GetResponseHeaders", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.332Z" + "@value" : "2014-08-25T13:17:51.71Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6490,7 +6597,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-GetResponseHeaders", "reviewStatus" : "td:approved", - "specificationReference" : "_:t318", + "specificationReference" : "_:t329", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-GetResponseHeaders", @@ -6500,7 +6607,7 @@ "@id" : "ldpt:NonRDFSource-Head", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.337Z" + "@value" : "2014-08-25T13:17:51.713Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6512,7 +6619,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-Head", "reviewStatus" : "td:approved", - "specificationReference" : "_:t150", + "specificationReference" : "_:t159", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-Head", @@ -6522,7 +6629,7 @@ "@id" : "ldpt:NonRDFSource-IsHttp11Manual", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.326Z" + "@value" : "2014-08-25T13:17:51.708Z" }, "dcterms:subject" : "MUST, MANUAL", "rdf:type" : { @@ -6534,38 +6641,17 @@ "mf:action" : "", "mf:name" : "NonRDFSource-IsHttp11Manual", "reviewStatus" : "td:approved", - "specificationReference" : "_:t380", + "specificationReference" : "_:t92", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-IsHttp11Manual", "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Manual()", "testMethod" : "ldpt:manual" }, { - "@id" : "ldpt:NonRDFSource-IsHttp11Server", - "dcterms:date" : { - "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.325Z" - }, - "dcterms:subject" : "MUST", - "rdf:type" : { - "@id" : "earl:TestCase" - }, - "rdfs:comment" : "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].", - "rdfs:label" : "NonRDFSource-IsHttp11Server", - "seeAlso" : "http://www.w3.org/TR/ldp#ldpr-gen-http", - "mf:action" : "", - "mf:name" : "NonRDFSource-IsHttp11Server", - "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t204", - "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", - "declaredTestCase" : "ldpt:CommonResource-IsHttp11Server", - "documentation" : "http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()", - "testMethod" : "ldpt:automated" - }, { "@id" : "ldpt:NonRDFSource-LdpLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.331Z" + "@value" : "2014-08-25T13:17:51.71Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6577,7 +6663,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-LdpLinkHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t13", + "specificationReference" : "_:t292", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-LdpLinkHeader", @@ -6587,7 +6673,7 @@ "@id" : "ldpt:NonRDFSource-Options", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.339Z" + "@value" : "2014-08-25T13:17:51.714Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6599,7 +6685,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-Options", "reviewStatus" : "td:approved", - "specificationReference" : "_:t267", + "specificationReference" : "_:t476", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-Options", @@ -6609,7 +6695,7 @@ "@id" : "ldpt:NonRDFSource-OptionsAllowHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.34Z" + "@value" : "2014-08-25T13:17:51.714Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6621,7 +6707,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-OptionsAllowHeader", "reviewStatus" : "td:approved", - "specificationReference" : "_:t79", + "specificationReference" : "_:t91", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-OptionsAllowHeader", @@ -6631,7 +6717,7 @@ "@id" : "ldpt:NonRDFSource-OptionsHasSameLinkHeader", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.323Z" + "@value" : "2014-08-25T13:17:51.708Z" }, "dcterms:subject" : "MUST, NON-RDF", "rdf:type" : { @@ -6643,7 +6729,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-OptionsHasSameLinkHeader", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t108", + "specificationReference" : "_:t116", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-OptionsHasSameLinkHeader", @@ -6653,7 +6739,7 @@ "@id" : "ldpt:NonRDFSource-PostNonRDFSource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.317Z" + "@value" : "2014-08-25T13:17:51.695Z" }, "dcterms:subject" : "MAY, NON-RDF", "rdf:type" : { @@ -6665,7 +6751,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PostNonRDFSource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t237", + "specificationReference" : "_:t250", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-PostNonRDFSource", @@ -6675,7 +6761,7 @@ "@id" : "ldpt:NonRDFSource-PostResourceAndCheckAssociatedResource", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.321Z" + "@value" : "2014-08-25T13:17:51.707Z" }, "dcterms:subject" : "MAY, NON-RDF", "rdf:type" : { @@ -6687,7 +6773,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PostResourceAndCheckAssociatedResource", "reviewStatus" : "td:approved", - "specificationReference" : "_:t377", + "specificationReference" : "_:t393", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-PostResourceAndCheckAssociatedResource", @@ -6697,7 +6783,7 @@ "@id" : "ldpt:NonRDFSource-PostResourceAndCheckLink", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.32Z" + "@value" : "2014-08-25T13:17:51.706Z" }, "dcterms:subject" : "MAY, NON-RDF", "rdf:type" : { @@ -6709,7 +6795,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PostResourceAndCheckLink", "reviewStatus" : "td:approved", - "specificationReference" : "_:t162", + "specificationReference" : "_:t379", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-PostResourceAndCheckLink", @@ -6719,7 +6805,7 @@ "@id" : "ldpt:NonRDFSource-PostResourceAndGetFromContainer", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.318Z" + "@value" : "2014-08-25T13:17:51.696Z" }, "dcterms:subject" : "MAY, NON-RDF", "rdf:type" : { @@ -6731,7 +6817,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PostResourceAndGetFromContainer", "reviewStatus" : "td:unreviewed", - "specificationReference" : "_:t142", + "specificationReference" : "_:t152", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-PostResourceAndGetFromContainer", @@ -6741,7 +6827,7 @@ "@id" : "ldpt:NonRDFSource-PostResourceGetBinary", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.319Z" + "@value" : "2014-08-25T13:17:51.696Z" }, "dcterms:subject" : "MAY, NON-RDF", "rdf:type" : { @@ -6753,7 +6839,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PostResourceGetBinary", "reviewStatus" : "td:approved", - "specificationReference" : "_:t114", + "specificationReference" : "_:t128", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-PostResourceGetBinary", @@ -6763,7 +6849,7 @@ "@id" : "ldpt:NonRDFSource-PostResourceGetMetadataAndBinary", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.319Z" + "@value" : "2014-08-25T13:17:51.706Z" }, "dcterms:subject" : "MAY, NON-RDF", "rdf:type" : { @@ -6775,7 +6861,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PostResourceGetMetadataAndBinary", "reviewStatus" : "td:approved", - "specificationReference" : "_:t218", + "specificationReference" : "_:t24", "conformanceLevel" : "ldpt:MAY", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:NonRDFSource-PostResourceGetMetadataAndBinary", @@ -6785,7 +6871,7 @@ "@id" : "ldpt:NonRDFSource-PreconditionRequiredStatusCode", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.336Z" + "@value" : "2014-08-25T13:17:51.712Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6797,7 +6883,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PreconditionRequiredStatusCode", "reviewStatus" : "td:approved", - "specificationReference" : "_:t449", + "specificationReference" : "_:t114", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-PreconditionRequiredStatusCode", @@ -6807,7 +6893,7 @@ "@id" : "ldpt:NonRDFSource-PutBadETag", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.336Z" + "@value" : "2014-08-25T13:17:51.712Z" }, "dcterms:subject" : "MUST", "rdf:type" : { @@ -6819,7 +6905,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PutBadETag", "reviewStatus" : "td:approved", - "specificationReference" : "_:t73", + "specificationReference" : "_:t228", "conformanceLevel" : "ldpt:MUST", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-PutBadETag", @@ -6829,7 +6915,7 @@ "@id" : "ldpt:NonRDFSource-PutRequiresIfMatch", "dcterms:date" : { "@type" : "http://www.w3.org/2001/XMLSchema#dateTime", - "@value" : "2014-07-21T01:25:01.334Z" + "@value" : "2014-08-25T13:17:51.711Z" }, "dcterms:subject" : "SHOULD", "rdf:type" : { @@ -6841,7 +6927,7 @@ "mf:action" : "", "mf:name" : "NonRDFSource-PutRequiresIfMatch", "reviewStatus" : "td:approved", - "specificationReference" : "_:t461", + "specificationReference" : "_:t144", "conformanceLevel" : "ldpt:SHOULD", "ldpt:declaredInClass" : "org.w3.ldp.testsuite.test.NonRDFSourceTest", "declaredTestCase" : "ldpt:CommonResource-PutRequiresIfMatch", @@ -6866,21 +6952,10 @@ }, "rdfs:comment" : "LDP RDF Source tests. MUST conformance tests.", "entries" : { - "@list" : [ "ldpt:MemberResource-RelativeUriResolutionPut", "ldpt:MemberResource-PutReplacesResource", "ldpt:MemberResource-PutSimpleUpdate", "ldpt:MemberResource-GetResource", "ldpt:MemberResource-RestrictClientInference", "ldpt:MemberResource-GetResourceAcceptTurtle", "ldpt:MemberResource-PublishConstraintsReadOnlyProp", "ldpt:MemberResource-PublishConstraintsUnknownProp", "ldpt:MemberResource-PutReadOnlyProperties4xxStatus", "ldpt:MemberResource-PutPropertiesNotPersisted", "ldpt:MemberResource-IsHttp11Manual", "ldpt:MemberResource-ETagHeadersGet", "ldpt:MemberResource-ETagHeadersHead", "ldpt:MemberResource-LdpLinkHeader", "ldpt:MemberResource-GetResponseHeaders", "ldpt:MemberResource-ConditionFailedStatusCode", "ldpt:MemberResource-PreconditionRequiredStatusCode", "ldpt:MemberResource-PutBadETag", "ldpt:MemberResource-Head", "ldpt:MemberResource-AcceptPatchHeader", "ldpt:MemberResource-Options", "ldpt:MemberResource-OptionsAllowHeader" ] + "@list" : [ "ldpt:MemberResource-RelativeUriResolutionPut", "ldpt:MemberResource-PutReplacesResource", "ldpt:MemberResource-PutSimpleUpdate", "ldpt:MemberResource-GetResource", "ldpt:MemberResource-RestrictClientInference", "ldpt:MemberResource-GetResourceAcceptTurtle", "ldpt:MemberResource-PublishConstraintsReadOnlyProp", "ldpt:MemberResource-PublishConstraintsUnknownProp", "ldpt:MemberResource-PutReadOnlyProperties4xxStatus", "ldpt:MemberResource-PutPropertiesNotPersisted", "ldpt:MemberResource-ConformsRdfSourceLdpResource", "ldpt:MemberResource-IsHttp11Manual", "ldpt:MemberResource-ETagHeadersGet", "ldpt:MemberResource-ETagHeadersHead", "ldpt:MemberResource-LdpLinkHeader", "ldpt:MemberResource-GetResponseHeaders", "ldpt:MemberResource-ConditionFailedStatusCode", "ldpt:MemberResource-PreconditionRequiredStatusCode", "ldpt:MemberResource-PutBadETag", "ldpt:MemberResource-Head", "ldpt:MemberResource-AcceptPatchHeader", "ldpt:MemberResource-Options", "ldpt:MemberResource-OptionsAllowHeader" ] }, "mf:name" : "RDFSource (MUST)" }, { - "@id" : "ldpt:RDFSource-OTHERManifest", - "http://purl.org/dc/elements/1.1/title" : "RDFSource (OTHER)", - "rdf:type" : { - "@id" : "mf:Manifest" - }, - "rdfs:comment" : "LDP RDF Source tests. No official conformance status.", - "entries" : { - "@list" : [ "ldpt:MemberResource-IsHttp11Server" ] - }, - "mf:name" : "RDFSource (OTHER)" - }, { "@id" : "ldpt:RDFSource-SHOULDManifest", "http://purl.org/dc/elements/1.1/title" : "RDFSource (SHOULD)", "rdf:type" : { @@ -6901,6 +6976,14 @@ "@id" : "http://www.w3.org/2006/03/test-description#includesText", "@type" : "@id" }, + "rest" : { + "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest", + "@type" : "@id" + }, + "first" : { + "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#first", + "@type" : "@id" + }, "declaredTestCase" : { "@id" : "http://www.w3c.org/ns/ldp/test#declaredTestCase", "@type" : "@id" @@ -6937,10 +7020,6 @@ "@id" : "http://www.w3.org/2006/03/test-description#reviewStatus", "@type" : "@id" }, - "date" : { - "@id" : "http://purl.org/dc/terms/date", - "@type" : "@id" - }, "testMethod" : { "@id" : "http://www.w3c.org/ns/ldp/test#testMethod", "@type" : "@id" @@ -6949,16 +7028,16 @@ "@id" : "http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#action", "@type" : "@id" }, + "date" : { + "@id" : "http://purl.org/dc/terms/date", + "@type" : "@id" + }, "documentation" : { "@id" : "http://www.w3c.org/ns/ldp/test#documentation", "@type" : "@id" }, - "rest" : { - "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest", - "@type" : "@id" - }, - "first" : { - "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#first", + "hasPart" : { + "@id" : "http://purl.org/dc/terms/hasPart", "@type" : "@id" }, "entries" : {
--- a/tests/reports/ldp-earl-manifest.ttl Mon Aug 25 16:45:08 2014 -0400 +++ b/tests/reports/ldp-earl-manifest.ttl Mon Aug 25 16:47:16 2014 -0400 @@ -14,7 +14,7 @@ rdfs:comment "LDP servers MUST support the HTTP OPTIONS method. " ; rdfs:label "BasicContainer-Options" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-must> ; - dcterms:date "2014-07-21T01:25:01.385Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.757Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-Options" ; @@ -34,7 +34,7 @@ rdfs:comment "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." ; rdfs:label "BasicContainer-AcceptPostResponseHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr> ; - dcterms:date "2014-07-21T01:25:01.359Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.732Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-AcceptPostResponseHeader" ; @@ -54,7 +54,7 @@ rdfs:comment "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." ; rdfs:label "DirectContainer-RejectPutModifyingContainmentTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-put-mbrprops> ; - dcterms:date "2014-07-21T01:25:01.42Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.565Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-RejectPutModifyingContainmentTriples" ; @@ -74,7 +74,7 @@ rdfs:comment "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " ; rdfs:label "IndirectContainer-GetResponseHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-options> ; - dcterms:date "2014-07-21T01:25:01.502Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.669Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-GetResponseHeaders" ; @@ -94,7 +94,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "MemberResource-ETagHeadersGet" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.295Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.789Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-ETagHeadersGet" ; @@ -114,7 +114,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "DirectContainer-PublishConstraintsUnknownProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.433Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.591Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PublishConstraintsUnknownProp" ; @@ -134,7 +134,7 @@ rdfs:comment "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." ; rdfs:label "IndirectContainer-ContentTypeHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-contenttype> ; - dcterms:date "2014-07-21T01:25:01.477Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.644Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-ContentTypeHeader" ; @@ -149,12 +149,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testContentTypeHeader()> ; ldpt:testMethod ldpt:automated . +ldpt:IndirectContainer-ConformsContainerRdfResource + a earl:TestRequirement ; + rdfs:comment "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source." ; + rdfs:label "IndirectContainer-ConformsContainerRdfResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-isldpr> ; + dcterms:date "2014-08-25T13:17:51.652Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#RdfSource-PutPropertiesNotPersisted" , "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsReadOnlyProp" , "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsUnknownProp" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutReplacesResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-GetResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-GetResourceAcceptTurtle" , "http://www.w3c.org/ns/ldp/test#RdfSource-RestrictClientInference" , "http://www.w3c.org/ns/ldp/test#RdfSource-RelativeUriResolutionPut" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutReadOnlyProperties4xxStatus" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutSimpleUpdate" , "http://www.w3c.org/ns/ldp/test#RdfSource-ConformsRdfSourceLdpResource" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "IndirectContainer-ConformsContainerRdfResource" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-isldpr> ; + td:includesText "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; + ldpt:declaredTestCase ldpt:CommonContainer-ConformsContainerRdfResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testConformsContainerRdfResource()> ; + ldpt:testMethod ldpt:indirect . + ldpt:Non-RDFSource-MUSTManifest a mf:Manifest ; rdfs:comment "LDP Non-RDF Source tests. MUST conformance tests." ; <http://purl.org/dc/elements/1.1/title> "Non-RDFSource (MUST)" ; - mf:entries ( ldpt:NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource ldpt:NonRDFSource-OptionsHasSameLinkHeader ldpt:NonRDFSource-GetResource ldpt:NonRDFSource-IsHttp11Manual ldpt:NonRDFSource-ETagHeadersGet ldpt:NonRDFSource-ETagHeadersHead ldpt:NonRDFSource-LdpLinkHeader ldpt:NonRDFSource-GetResponseHeaders ldpt:NonRDFSource-ConditionFailedStatusCode ldpt:NonRDFSource-PreconditionRequiredStatusCode ldpt:NonRDFSource-PutBadETag ldpt:NonRDFSource-Head ldpt:NonRDFSource-AcceptPatchHeader ldpt:NonRDFSource-Options ldpt:NonRDFSource-OptionsAllowHeader ) ; + mf:entries ( ldpt:NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource ldpt:NonRDFSource-OptionsHasSameLinkHeader ldpt:NonRDFSource-IsHttp11Manual ldpt:NonRDFSource-ETagHeadersGet ldpt:NonRDFSource-ETagHeadersHead ldpt:NonRDFSource-LdpLinkHeader ldpt:NonRDFSource-GetResponseHeaders ldpt:NonRDFSource-ConditionFailedStatusCode ldpt:NonRDFSource-PreconditionRequiredStatusCode ldpt:NonRDFSource-PutBadETag ldpt:NonRDFSource-Head ldpt:NonRDFSource-AcceptPatchHeader ldpt:NonRDFSource-Options ldpt:NonRDFSource-OptionsAllowHeader ldpt:NonRDFSource-GetResource ) ; mf:name "Non-RDFSource (MUST)" . ldpt:BasicContainer-AcceptPatchHeader @@ -162,7 +183,7 @@ rdfs:comment "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " ; rdfs:label "BasicContainer-AcceptPatchHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch> ; - dcterms:date "2014-07-21T01:25:01.384Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.756Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-AcceptPatchHeader" ; @@ -182,7 +203,7 @@ rdfs:comment "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." ; rdfs:label "IndirectContainer-ContainerSupportsHttpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.468Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.639Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-ContainerSupportsHttpLinkHeader" ; @@ -202,7 +223,7 @@ rdfs:comment "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " ; rdfs:label "NonRDFSource-AcceptPatchHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch> ; - dcterms:date "2014-07-21T01:25:01.338Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.713Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-AcceptPatchHeader" ; @@ -222,7 +243,7 @@ rdfs:comment "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." ; rdfs:label "DirectContainer-PutToCreate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-create> ; - dcterms:date "2014-07-21T01:25:01.41Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.554Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "DirectContainer-PutToCreate" ; @@ -242,7 +263,7 @@ rdfs:comment "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." ; rdfs:label "DirectContainer-RequestedInteractionModelCreateNotAllowed" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createrdf> ; - dcterms:date "2014-07-21T01:25:01.414Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.558Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-RequestedInteractionModelCreateNotAllowed" ; @@ -254,7 +275,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; ldpt:declaredTestCase ldpt:CommonContainer-RequestedInteractionModelCreateNotAllowed ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:DirectContainer-PostResponseStatusAndLocation @@ -262,7 +283,7 @@ rdfs:comment "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." ; rdfs:label "DirectContainer-PostResponseStatusAndLocation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-created201> ; - dcterms:date "2014-07-21T01:25:01.413Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.557Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PostResponseStatusAndLocation" ; @@ -282,7 +303,7 @@ rdfs:comment "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." ; rdfs:label "BasicContainer-TypeRdfSource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-rdftype> ; - dcterms:date "2014-07-21T01:25:01.369Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.742Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "BasicContainer-TypeRdfSource" ; @@ -302,7 +323,7 @@ rdfs:comment "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." ; rdfs:label "IndirectContainer-UseStandardVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas> ; - dcterms:date "2014-07-21T01:25:01.491Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.659Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "IndirectContainer-UseStandardVocabularies" ; @@ -323,7 +344,7 @@ rdfs:comment "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." ; rdfs:label "DirectContainer-PreferContainmentTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-prefer> ; - dcterms:date "2014-07-21T01:25:01.412Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.556Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-PreferContainmentTriples" ; @@ -343,7 +364,7 @@ rdfs:comment "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " ; rdfs:label "IndirectContainer-RdfTypeLdpContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-typecontainer> ; - dcterms:date "2014-07-21T01:25:01.483Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.65Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "IndirectContainer-RdfTypeLdpContainer" ; @@ -363,7 +384,7 @@ rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "MemberResource-RelativeUriResolutionPut" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.166Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.776Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-RelativeUriResolutionPut" ; @@ -383,7 +404,7 @@ rdfs:comment "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." ; rdfs:label "IndirectContainer-PutSimpleUpdate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-simpleupdate> ; - dcterms:date "2014-07-21T01:25:01.486Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.656Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PutSimpleUpdate" ; @@ -403,7 +424,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "IndirectContainer-PublishConstraintsUnknownProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.495Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.662Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PublishConstraintsUnknownProp" ; @@ -423,7 +444,7 @@ rdfs:comment "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." ; rdfs:label "BasicContainer-ServerHonorsSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-slug> ; - dcterms:date "2014-07-21T01:25:01.363Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.735Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "BasicContainer-ServerHonorsSlug" ; @@ -443,7 +464,7 @@ rdfs:comment "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " ; rdfs:label "NonRDFSource-OptionsAllowHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-allow> ; - dcterms:date "2014-07-21T01:25:01.34Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.714Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-OptionsAllowHeader" ; @@ -458,12 +479,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testOptionsAllowHeader()> ; ldpt:testMethod ldpt:automated . +ldpt:DirectContainer-ConformsContainerRdfResource + a earl:TestRequirement ; + rdfs:comment "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source." ; + rdfs:label "DirectContainer-ConformsContainerRdfResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-isldpr> ; + dcterms:date "2014-08-25T13:17:51.57Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#RdfSource-PutReplacesResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-ConformsRdfSourceLdpResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-RelativeUriResolutionPut" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutReadOnlyProperties4xxStatus" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutPropertiesNotPersisted" , "http://www.w3c.org/ns/ldp/test#RdfSource-GetResourceAcceptTurtle" , "http://www.w3c.org/ns/ldp/test#RdfSource-RestrictClientInference" , "http://www.w3c.org/ns/ldp/test#RdfSource-GetResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsReadOnlyProp" , "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsUnknownProp" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutSimpleUpdate" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "DirectContainer-ConformsContainerRdfResource" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-isldpr> ; + td:includesText "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; + ldpt:declaredTestCase ldpt:CommonContainer-ConformsContainerRdfResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testConformsContainerRdfResource()> ; + ldpt:testMethod ldpt:indirect . + ldpt:MemberResource-ETagHeadersHead a earl:TestCase ; rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "MemberResource-ETagHeadersHead" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.296Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.789Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-ETagHeadersHead" ; @@ -483,7 +525,7 @@ rdfs:comment "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " ; rdfs:label "MemberResource-JsonLdRepresentation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-jsonld> ; - dcterms:date "2014-07-21T01:25:01.282Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.782Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "MemberResource-JsonLdRepresentation" ; @@ -498,20 +540,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testJsonLdRepresentation()> ; ldpt:testMethod ldpt:automated . -ldpt:DirectContainer-OTHERManifest - a mf:Manifest ; - rdfs:comment "LDP Direct Container tests. No official conformance status." ; - <http://purl.org/dc/elements/1.1/title> - "DirectContainer (OTHER)" ; - mf:entries ( ldpt:DirectContainer-IsHttp11Server ) ; - mf:name "DirectContainer (OTHER)" . - ldpt:MemberResource-OptionsAllowHeader a earl:TestCase ; rdfs:comment "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " ; rdfs:label "MemberResource-OptionsAllowHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-allow> ; - dcterms:date "2014-07-21T01:25:01.305Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.794Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-OptionsAllowHeader" ; @@ -531,7 +565,7 @@ rdfs:comment "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." ; rdfs:label "DirectContainer-NoRdfBagSeqOrList" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes> ; - dcterms:date "2014-07-21T01:25:01.411Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.555Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-NoRdfBagSeqOrList" ; @@ -551,7 +585,7 @@ rdfs:comment "LDP servers MUST support the HTTP HEAD method. " ; rdfs:label "BasicContainer-Head" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-head-must> ; - dcterms:date "2014-07-21T01:25:01.384Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.756Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-Head" ; @@ -571,7 +605,7 @@ rdfs:comment "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." ; rdfs:label "BasicContainer-ReUseVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocab> ; - dcterms:date "2014-07-21T01:25:01.369Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.742Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "BasicContainer-ReUseVocabularies" ; @@ -592,7 +626,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "DirectContainer-ResponsePropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.436Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.594Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-ResponsePropertiesNotPersisted" ; @@ -612,7 +646,7 @@ rdfs:comment "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." ; rdfs:label "IndirectContainer-PostResponseStatusAndLocation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-created201> ; - dcterms:date "2014-07-21T01:25:01.473Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.641Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PostResponseStatusAndLocation" ; @@ -632,7 +666,7 @@ rdfs:comment "When responding to requests whose request-URI is a LDP-NR with anassociated LDP-RS, a LDPC server must provide the same HTTP Link responseheader as is required in the create response" ; rdfs:label "NonRDFSource-OptionsHasSameLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-options-linkmetahdr> ; - dcterms:date "2014-07-21T01:25:01.323Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.708Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-OptionsHasSameLinkHeader" ; @@ -652,7 +686,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "DirectContainer-PutBadETag" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.443Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.604Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PutBadETag" ; @@ -672,7 +706,7 @@ rdfs:comment "LDP servers may host a mixture of LDP-RSs and LDP-NRs. For example, it is common for LDP servers to need to host binary or text resources that do not have useful RDF representations." ; rdfs:label "NonRDFSource-PostResourceGetBinary" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-binary> ; - dcterms:date "2014-07-21T01:25:01.319Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.696Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-PostResourceGetBinary" ; @@ -692,7 +726,7 @@ rdfs:comment "LDP Indirect Containers MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is ldp:insertedContentRelation, and whose object ICR describes how the member-derived-URI in the container's membership triples is chosen." ; rdfs:label "IndirectContainer-ContainsLdpcUri" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpic-indirectmbr> ; - dcterms:date "2014-07-21T01:25:01.47Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.637Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-ContainsLdpcUri" ; @@ -712,7 +746,7 @@ rdfs:comment "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." ; rdfs:label "BasicContainer-PutRequiresIfMatch" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.381Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.754Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-PutRequiresIfMatch" ; @@ -732,7 +766,7 @@ rdfs:comment "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." ; rdfs:label "IndirectContainer-RequestedInteractionModelCreateNotAllowed" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createrdf> ; - dcterms:date "2014-07-21T01:25:01.475Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.642Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-RequestedInteractionModelCreateNotAllowed" ; @@ -744,15 +778,36 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; ldpt:declaredTestCase ldpt:CommonContainer-RequestedInteractionModelCreateNotAllowed ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed(java.lang.String)> ; ldpt:testMethod ldpt:automated . +ldpt:BasicContainer-ConformsContainerRdfResource + a earl:TestRequirement ; + rdfs:comment "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source." ; + rdfs:label "BasicContainer-ConformsContainerRdfResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-isldpr> ; + dcterms:date "2014-08-25T13:17:51.736Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#RdfSource-PutReadOnlyProperties4xxStatus" , "http://www.w3c.org/ns/ldp/test#RdfSource-GetResourceAcceptTurtle" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutSimpleUpdate" , "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsReadOnlyProp" , "http://www.w3c.org/ns/ldp/test#RdfSource-RelativeUriResolutionPut" , "http://www.w3c.org/ns/ldp/test#RdfSource-PublishConstraintsUnknownProp" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutPropertiesNotPersisted" , "http://www.w3c.org/ns/ldp/test#RdfSource-RestrictClientInference" , "http://www.w3c.org/ns/ldp/test#RdfSource-PutReplacesResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-ConformsRdfSourceLdpResource" , "http://www.w3c.org/ns/ldp/test#RdfSource-GetResource" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "BasicContainer-ConformsContainerRdfResource" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-isldpr> ; + td:includesText "Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; + ldpt:declaredTestCase ldpt:CommonContainer-ConformsContainerRdfResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testConformsContainerRdfResource()> ; + ldpt:testMethod ldpt:indirect . + ldpt:MemberResource-ResponsePropertiesNotPersisted a earl:TestCase ; rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "MemberResource-ResponsePropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.289Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.784Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "MemberResource-ResponsePropertiesNotPersisted" ; @@ -772,7 +827,7 @@ rdfs:comment "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." ; rdfs:label "DirectContainer-AcceptPostResponseHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr> ; - dcterms:date "2014-07-21T01:25:01.419Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.565Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-AcceptPostResponseHeader" ; @@ -792,7 +847,7 @@ rdfs:comment "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." ; rdfs:label "DirectContainer-RestrictUriReUseSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris> ; - dcterms:date "2014-07-21T01:25:01.418Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.563Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-RestrictUriReUseSlug" ; @@ -812,7 +867,7 @@ rdfs:comment "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " ; rdfs:label "DirectContainer-GetResponseHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-options> ; - dcterms:date "2014-07-21T01:25:01.44Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.602Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-GetResponseHeaders" ; @@ -832,7 +887,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "IndirectContainer-ConditionFailedStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.503Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.67Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-ConditionFailedStatusCode" ; @@ -852,7 +907,7 @@ rdfs:comment "LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources." ; rdfs:label "NonRDFSource-PostResourceAndGetFromContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createbins> ; - dcterms:date "2014-07-21T01:25:01.318Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.696Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-PostResourceAndGetFromContainer" ; @@ -872,7 +927,7 @@ rdfs:comment "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "IndirectContainer-CreateWithoutConstraints" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-mincontraints> ; - dcterms:date "2014-07-21T01:25:01.478Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.646Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-CreateWithoutConstraints" ; @@ -892,7 +947,7 @@ rdfs:comment "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." ; rdfs:label "MemberResource-TypeRdfSource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-rdftype> ; - dcterms:date "2014-07-21T01:25:01.271Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.779Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "MemberResource-TypeRdfSource" ; @@ -907,31 +962,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testTypeRdfSource()> ; ldpt:testMethod ldpt:automated . -ldpt:MemberResource-IsHttp11Server - a earl:TestCase ; - rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; - rdfs:label "MemberResource-IsHttp11Server" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.293Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; - dcterms:subject "MUST" ; - mf:action "" ; - mf:name "MemberResource-IsHttp11Server" ; - td:reviewStatus td:unreviewed ; - td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - td:includesText "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]."^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; - ldpt:declaredTestCase ldpt:CommonResource-IsHttp11Server ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()> ; - ldpt:testMethod ldpt:automated . - ldpt:NonRDFSource-Head a earl:TestCase ; rdfs:comment "LDP servers MUST support the HTTP HEAD method. " ; rdfs:label "NonRDFSource-Head" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-head-must> ; - dcterms:date "2014-07-21T01:25:01.337Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.713Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-Head" ; @@ -951,7 +987,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." ; rdfs:label "BasicContainer-PutPropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.376Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.747Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PutPropertiesNotPersisted" ; @@ -971,7 +1007,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "MemberResource-PublishConstraintsUnknownProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.284Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.782Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PublishConstraintsUnknownProp" ; @@ -991,7 +1027,7 @@ rdfs:comment "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." ; rdfs:label "DirectContainer-ContentTypeHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-contenttype> ; - dcterms:date "2014-07-21T01:25:01.416Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.56Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-ContentTypeHeader" ; @@ -1011,7 +1047,7 @@ rdfs:comment "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." ; rdfs:label "BasicContainer-RestrictClientInference" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-noinferencing> ; - dcterms:date "2014-07-21T01:25:01.371Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.743Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "BasicContainer-RestrictClientInference" ; @@ -1032,7 +1068,7 @@ rdfs:comment "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." ; rdfs:label "BasicContainer-GetResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-rdf> ; - dcterms:date "2014-07-21T01:25:01.367Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.741Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-GetResource" ; @@ -1052,7 +1088,7 @@ rdfs:comment "When an LDPR identified by the object of a membership triple which was originally created by the LDP-DC is deleted, the LDPC server MUST also remove the corresponding membership triple." ; rdfs:label "DirectContainer-DeleteResourceUpdatesTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-del-contremovesmbrtriple> ; - dcterms:date "2014-07-21T01:25:01.409Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.545Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-DeleteResourceUpdatesTriples" ; @@ -1072,7 +1108,7 @@ rdfs:comment "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." ; rdfs:label "DirectContainer-PostContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains> ; - dcterms:date "2014-07-21T01:25:01.413Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.557Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PostContainer" ; @@ -1092,7 +1128,7 @@ rdfs:comment "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." ; rdfs:label "IndirectContainer-RestrictPutReUseUri" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-put-create> ; - dcterms:date "2014-07-21T01:25:01.481Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.648Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-RestrictPutReUseUri" ; @@ -1112,7 +1148,7 @@ rdfs:comment "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." ; rdfs:label "BasicContainer-RejectPutModifyingContainmentTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-put-mbrprops> ; - dcterms:date "2014-07-21T01:25:01.36Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.732Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-RejectPutModifyingContainmentTriples" ; @@ -1132,7 +1168,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "NonRDFSource-PutBadETag" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.336Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.712Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-PutBadETag" ; @@ -1152,7 +1188,7 @@ rdfs:comment "Each LDP Non-RDF Source must also be a conforming LDP Resource. LDP Non-RDF Sources may not be able to fully express their state using RDF." ; rdfs:label "NonRDFSource-PostResourceGetMetadataAndBinary" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpnr-are-ldpr> ; - dcterms:date "2014-07-21T01:25:01.319Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.706Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-PostResourceGetMetadataAndBinary" ; @@ -1172,7 +1208,7 @@ rdfs:comment "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." ; rdfs:label "DirectContainer-TypeRdfSource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-rdftype> ; - dcterms:date "2014-07-21T01:25:01.427Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.58Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "DirectContainer-TypeRdfSource" ; @@ -1192,7 +1228,7 @@ rdfs:comment "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." ; rdfs:label "BasicContainer-PutReplacesResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-replaceall> ; - dcterms:date "2014-07-21T01:25:01.365Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.74Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PutReplacesResource" ; @@ -1212,7 +1248,7 @@ rdfs:comment "LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources." ; rdfs:label "NonRDFSource-PostNonRDFSource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createbins> ; - dcterms:date "2014-07-21T01:25:01.317Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.695Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-PostNonRDFSource" ; @@ -1232,7 +1268,7 @@ rdfs:comment "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." ; rdfs:label "DirectContainer-DeleteRemovesContainmentTriple" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple> ; - dcterms:date "2014-07-21T01:25:01.421Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.567Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-DeleteRemovesContainmentTriple" ; @@ -1260,7 +1296,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "BasicContainer-ResponsePropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.377Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.748Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-ResponsePropertiesNotPersisted" ; @@ -1280,7 +1316,7 @@ rdfs:comment "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." ; rdfs:label "DirectContainer-GetResourceAcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-turtle> ; - dcterms:date "2014-07-21T01:25:01.43Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.589Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-GetResourceAcceptTurtle" ; @@ -1300,7 +1336,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "IndirectContainer-PutBadETag" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.504Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.671Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PutBadETag" ; @@ -1320,7 +1356,7 @@ rdfs:comment "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." ; rdfs:label "IndirectContainer-RequestedInteractionModelHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createrdf> ; - dcterms:date "2014-07-21T01:25:01.475Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.643Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-RequestedInteractionModelHeaders" ; @@ -1332,7 +1368,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; ldpt:declaredTestCase ldpt:CommonContainer-RequestedInteractionModelHeaders ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:DirectContainer-AcceptTurtle @@ -1340,7 +1376,7 @@ rdfs:comment "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." ; rdfs:label "DirectContainer-AcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-turtle> ; - dcterms:date "2014-07-21T01:25:01.415Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.56Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-AcceptTurtle" ; @@ -1360,7 +1396,7 @@ rdfs:comment "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." ; rdfs:label "DirectContainer-PreferMembershipTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-prefer> ; - dcterms:date "2014-07-21T01:25:01.41Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.553Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-PreferMembershipTriples" ; @@ -1380,7 +1416,7 @@ rdfs:comment "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." ; rdfs:label "IndirectContainer-LdpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.501Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.669Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-LdpLinkHeader" ; @@ -1400,7 +1436,7 @@ rdfs:comment "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." ; rdfs:label "MemberResource-GetResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-rdf> ; - dcterms:date "2014-07-21T01:25:01.269Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.778Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-GetResource" ; @@ -1420,7 +1456,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "BasicContainer-ConditionFailedStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.382Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.754Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-ConditionFailedStatusCode" ; @@ -1440,7 +1476,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "IndirectContainer-ResponsePropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.498Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.664Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-ResponsePropertiesNotPersisted" ; @@ -1460,7 +1496,7 @@ rdfs:comment "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." ; rdfs:label "DirectContainer-HttpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.405Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.542Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-HttpLinkHeader" ; @@ -1480,7 +1516,7 @@ rdfs:comment "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." ; rdfs:label "DirectContainer-PostJsonLd" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-jsonld> ; - dcterms:date "2014-07-21T01:25:01.424Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.57Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-PostJsonLd" ; @@ -1500,7 +1536,7 @@ rdfs:comment "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." ; rdfs:label "DirectContainer-UseStandardVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas> ; - dcterms:date "2014-07-21T01:25:01.429Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.587Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "DirectContainer-UseStandardVocabularies" ; @@ -1521,7 +1557,7 @@ rdfs:comment "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." ; rdfs:label "BasicContainer-ContainsRdfType" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype> ; - dcterms:date "2014-07-21T01:25:01.368Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.741Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-ContainsRdfType" ; @@ -1541,7 +1577,7 @@ rdfs:comment "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." ; rdfs:label "NonRDFSource-LdpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.331Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.71Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-LdpLinkHeader" ; @@ -1561,7 +1597,7 @@ rdfs:comment "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." ; rdfs:label "IndirectContainer-PostContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains> ; - dcterms:date "2014-07-21T01:25:01.474Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.642Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PostContainer" ; @@ -1581,7 +1617,7 @@ rdfs:comment "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." ; rdfs:label "MemberResource-PutSimpleUpdate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-simpleupdate> ; - dcterms:date "2014-07-21T01:25:01.268Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.777Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PutSimpleUpdate" ; @@ -1601,7 +1637,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" ; rdfs:label "DirectContainer-PutReadOnlyProperties4xxStatus" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.434Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.592Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PutReadOnlyProperties4xxStatus" ; @@ -1613,7 +1649,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-PutReadOnlyProperties4xxStatus ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:DirectContainer-PutPropertiesNotPersisted @@ -1621,7 +1657,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." ; rdfs:label "DirectContainer-PutPropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.436Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.593Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PutPropertiesNotPersisted" ; @@ -1649,7 +1685,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." ; rdfs:label "DirectContainer-4xxErrorHasResponseBody" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.435Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.593Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-4xxErrorHasResponseBody" ; @@ -1661,7 +1697,7 @@ ldpt:conformanceLevel ldpt:SHOULD ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-4xxErrorHasResponseBody ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:NonRDFSource-GetResponseHeaders @@ -1669,7 +1705,7 @@ rdfs:comment "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " ; rdfs:label "NonRDFSource-GetResponseHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-options> ; - dcterms:date "2014-07-21T01:25:01.332Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.71Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-GetResponseHeaders" ; @@ -1689,7 +1725,7 @@ rdfs:comment "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." ; rdfs:label "DirectContainer-PutReplacesResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-replaceall> ; - dcterms:date "2014-07-21T01:25:01.425Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.577Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PutReplacesResource" ; @@ -1709,7 +1745,7 @@ rdfs:comment "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." ; rdfs:label "IndirectContainer-AcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-turtle> ; - dcterms:date "2014-07-21T01:25:01.476Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.643Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-AcceptTurtle" ; @@ -1729,7 +1765,7 @@ rdfs:comment "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." ; rdfs:label "IndirectContainer-PutRequiresIfMatch" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.502Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.67Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-PutRequiresIfMatch" ; @@ -1749,7 +1785,7 @@ rdfs:comment "LDP servers MUST support the HTTP HEAD method. " ; rdfs:label "IndirectContainer-Head" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-head-must> ; - dcterms:date "2014-07-21T01:25:01.505Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.672Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-Head" ; @@ -1769,7 +1805,7 @@ rdfs:comment "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " ; rdfs:label "MemberResource-GetResponseHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-options> ; - dcterms:date "2014-07-21T01:25:01.298Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.79Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-GetResponseHeaders" ; @@ -1789,7 +1825,7 @@ rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; rdfs:label "DirectContainer-IsHttp11Manual" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.438Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.6Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "DirectContainer-IsHttp11Manual" ; @@ -1809,7 +1845,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "DirectContainer-PreconditionRequiredStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.442Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.604Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PreconditionRequiredStatusCode" ; @@ -1829,7 +1865,7 @@ rdfs:comment "LDP Basic Container tests. MUST conformance tests." ; <http://purl.org/dc/elements/1.1/title> "BasicContainer (MUST)" ; - mf:entries ( ldpt:BasicContainer-ContainerSupportsHttpLinkHeader ldpt:BasicContainer-RelativeUriResolutionPost ldpt:BasicContainer-PostResponseStatusAndLocation ldpt:BasicContainer-PostContainer ldpt:BasicContainer-RequestedInteractionModelCreateNotAllowed ldpt:BasicContainer-RequestedInteractionModelHeaders ldpt:BasicContainer-AcceptTurtle ldpt:BasicContainer-NullRelativeUriPost ldpt:BasicContainer-AcceptPostResponseHeader ldpt:BasicContainer-DeleteRemovesContainmentTriple ldpt:BasicContainer-RelativeUriResolutionPut ldpt:BasicContainer-PutReplacesResource ldpt:BasicContainer-PutSimpleUpdate ldpt:BasicContainer-GetResource ldpt:BasicContainer-RestrictClientInference ldpt:BasicContainer-GetResourceAcceptTurtle ldpt:BasicContainer-PublishConstraintsReadOnlyProp ldpt:BasicContainer-PublishConstraintsUnknownProp ldpt:BasicContainer-PutReadOnlyProperties4xxStatus ldpt:BasicContainer-PutPropertiesNotPersisted ldpt:BasicContainer-IsHttp11Manual ldpt:BasicContainer-ETagHeadersGet ldpt:BasicContainer-ETagHeadersHead ldpt:BasicContainer-LdpLinkHeader ldpt:BasicContainer-GetResponseHeaders ldpt:BasicContainer-ConditionFailedStatusCode ldpt:BasicContainer-PreconditionRequiredStatusCode ldpt:BasicContainer-PutBadETag ldpt:BasicContainer-Head ldpt:BasicContainer-AcceptPatchHeader ldpt:BasicContainer-Options ldpt:BasicContainer-OptionsAllowHeader ) ; + mf:entries ( ldpt:BasicContainer-ConformsBcLdpContainer ldpt:BasicContainer-ContainerSupportsHttpLinkHeader ldpt:BasicContainer-RelativeUriResolutionPost ldpt:BasicContainer-PostResponseStatusAndLocation ldpt:BasicContainer-PostContainer ldpt:BasicContainer-RequestedInteractionModelCreateNotAllowed ldpt:BasicContainer-RequestedInteractionModelHeaders ldpt:BasicContainer-AcceptTurtle ldpt:BasicContainer-NullRelativeUriPost ldpt:BasicContainer-AcceptPostResponseHeader ldpt:BasicContainer-DeleteRemovesContainmentTriple ldpt:BasicContainer-ConformsContainerRdfResource ldpt:BasicContainer-RelativeUriResolutionPut ldpt:BasicContainer-PutReplacesResource ldpt:BasicContainer-PutSimpleUpdate ldpt:BasicContainer-GetResource ldpt:BasicContainer-RestrictClientInference ldpt:BasicContainer-GetResourceAcceptTurtle ldpt:BasicContainer-PublishConstraintsReadOnlyProp ldpt:BasicContainer-PublishConstraintsUnknownProp ldpt:BasicContainer-PutReadOnlyProperties4xxStatus ldpt:BasicContainer-PutPropertiesNotPersisted ldpt:BasicContainer-ConformsRdfSourceLdpResource ldpt:BasicContainer-IsHttp11Manual ldpt:BasicContainer-ETagHeadersGet ldpt:BasicContainer-ETagHeadersHead ldpt:BasicContainer-LdpLinkHeader ldpt:BasicContainer-GetResponseHeaders ldpt:BasicContainer-ConditionFailedStatusCode ldpt:BasicContainer-PreconditionRequiredStatusCode ldpt:BasicContainer-PutBadETag ldpt:BasicContainer-Head ldpt:BasicContainer-AcceptPatchHeader ldpt:BasicContainer-Options ldpt:BasicContainer-OptionsAllowHeader ) ; mf:name "BasicContainer (MUST)" . ldpt:IndirectContainer-AcceptPatchHeader @@ -1837,7 +1873,7 @@ rdfs:comment "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " ; rdfs:label "IndirectContainer-AcceptPatchHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch> ; - dcterms:date "2014-07-21T01:25:01.506Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.672Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-AcceptPatchHeader" ; @@ -1857,7 +1893,7 @@ rdfs:comment "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." ; rdfs:label "DirectContainer-PutSimpleUpdate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-simpleupdate> ; - dcterms:date "2014-07-21T01:25:01.426Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.578Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PutSimpleUpdate" ; @@ -1877,7 +1913,7 @@ rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; rdfs:label "BasicContainer-IsHttp11Manual" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.378Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.751Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "BasicContainer-IsHttp11Manual" ; @@ -1897,7 +1933,7 @@ rdfs:comment "LDP servers MUST support the HTTP HEAD method. " ; rdfs:label "MemberResource-Head" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-head-must> ; - dcterms:date "2014-07-21T01:25:01.302Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.792Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-Head" ; @@ -1917,7 +1953,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "BasicContainer-ETagHeadersHead" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.379Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.752Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-ETagHeadersHead" ; @@ -1937,7 +1973,7 @@ rdfs:comment "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." ; rdfs:label "IndirectContainer-GetResourceAcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-turtle> ; - dcterms:date "2014-07-21T01:25:01.493Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.661Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-GetResourceAcceptTurtle" ; @@ -1952,12 +1988,32 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testGetResourceAcceptTurtle()> ; ldpt:testMethod ldpt:automated . +ldpt:MemberResource-ConditionFailedStatusCode + a earl:TestCase ; + rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; + rdfs:label "MemberResource-ConditionFailedStatusCode" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; + dcterms:date "2014-08-25T13:17:51.791Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "MemberResource-ConditionFailedStatusCode" ; + td:reviewStatus td:approved ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; + td:includesText "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; + ldpt:declaredTestCase ldpt:CommonResource-ConditionFailedStatusCode ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testConditionFailedStatusCode()> ; + ldpt:testMethod ldpt:automated . + ldpt:IndirectContainer-JsonLdRepresentation a earl:TestCase ; rdfs:comment "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " ; rdfs:label "IndirectContainer-JsonLdRepresentation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-jsonld> ; - dcterms:date "2014-07-21T01:25:01.494Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.661Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-JsonLdRepresentation" ; @@ -1972,32 +2028,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testJsonLdRepresentation()> ; ldpt:testMethod ldpt:automated . -ldpt:MemberResource-ConditionFailedStatusCode - a earl:TestCase ; - rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; - rdfs:label "MemberResource-ConditionFailedStatusCode" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.3Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; - dcterms:subject "MUST" ; - mf:action "" ; - mf:name "MemberResource-ConditionFailedStatusCode" ; - td:reviewStatus td:approved ; - td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - td:includesText "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]."^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:conformanceLevel ldpt:MUST ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; - ldpt:declaredTestCase ldpt:CommonResource-ConditionFailedStatusCode ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testConditionFailedStatusCode()> ; - ldpt:testMethod ldpt:automated . - ldpt:MemberResource-PutBadETag a earl:TestCase ; rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "MemberResource-PutBadETag" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.301Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.792Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PutBadETag" ; @@ -2017,7 +2053,7 @@ rdfs:comment "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." ; rdfs:label "BasicContainer-RequestedInteractionModelHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createrdf> ; - dcterms:date "2014-07-21T01:25:01.354Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.728Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-RequestedInteractionModelHeaders" ; @@ -2029,7 +2065,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; ldpt:declaredTestCase ldpt:CommonContainer-RequestedInteractionModelHeaders ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:MemberResource-ContainsRdfType @@ -2037,7 +2073,7 @@ rdfs:comment "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." ; rdfs:label "MemberResource-ContainsRdfType" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype> ; - dcterms:date "2014-07-21T01:25:01.27Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.778Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "MemberResource-ContainsRdfType" ; @@ -2057,7 +2093,7 @@ rdfs:comment "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " ; rdfs:label "IndirectContainer-PatchMethod" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-patch-req> ; - dcterms:date "2014-07-21T01:25:01.483Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.649Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-PatchMethod" ; @@ -2077,7 +2113,7 @@ rdfs:comment "LDPCs whose ldp:insertedContentRelation triple has an object other than ldp:MemberSubject and that create new resources MUST add a triple to the container whose subject is the container's URI, whose predicate is ldp:contains, and whose object is the newly created resource's URI (which will be different from the member-derived URI in this case). This ldp:contains triple can be the only link from the container to the newly created resource in certain cases." ; rdfs:label "IndirectContainer-PostResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpic-post-indirectmbrrel> ; - dcterms:date "2014-07-21T01:25:01.47Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.637Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PostResource" ; @@ -2097,7 +2133,7 @@ rdfs:comment "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "BasicContainer-CreateWithoutConstraints" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-mincontraints> ; - dcterms:date "2014-07-21T01:25:01.358Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.73Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-CreateWithoutConstraints" ; @@ -2117,7 +2153,7 @@ rdfs:comment "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " ; rdfs:label "MemberResource-AcceptPatchHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch> ; - dcterms:date "2014-07-21T01:25:01.303Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.793Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-AcceptPatchHeader" ; @@ -2145,7 +2181,7 @@ rdfs:comment "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." ; rdfs:label "BasicContainer-NullRelativeUriPost" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel> ; - dcterms:date "2014-07-21T01:25:01.356Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.729Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-NullRelativeUriPost" ; @@ -2165,7 +2201,7 @@ rdfs:comment "Upon successful creation of an LDP-NR (HTTP status code of 201-Created and URI indicated by Location response header), LDP servers may create an associated LDP-RS to contain data about the newly created LDP-NR. If a LDP server creates this associated LDP-RS it must indicate its location on the HTTP response using the HTTP Link response header with link relation describedby and href to be the URI of the associated LDP-RS resource." ; rdfs:label "NonRDFSource-PostResourceAndCheckAssociatedResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createbinlinkmetahdr> ; - dcterms:date "2014-07-21T01:25:01.321Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.707Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-PostResourceAndCheckAssociatedResource" ; @@ -2185,7 +2221,7 @@ rdfs:comment "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " ; rdfs:label "BasicContainer-JsonLdRepresentation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-jsonld> ; - dcterms:date "2014-07-21T01:25:01.373Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.745Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-JsonLdRepresentation" ; @@ -2205,7 +2241,7 @@ rdfs:comment "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." ; rdfs:label "IndirectContainer-ReUseVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocab> ; - dcterms:date "2014-07-21T01:25:01.49Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.659Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "IndirectContainer-ReUseVocabularies" ; @@ -2221,12 +2257,33 @@ ldpt:steps ( "Given a URL for a RDF Source, perform a GET using an RDF content type" "Inspect the content to ensure standard terms are used. For example, if things like ex:label or ex:title are used, instead of DCTERMS or RDFS, then the test should fail." ) ; ldpt:testMethod ldpt:manual . +ldpt:IndirectContainer-ConformsRdfSourceLdpResource + a earl:TestRequirement ; + rdfs:comment "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." ; + rdfs:label "IndirectContainer-ConformsRdfSourceLdpResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + dcterms:date "2014-08-25T13:17:51.665Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#CommonResource-Options" , "http://www.w3c.org/ns/ldp/test#CommonResource-Head" , "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead" , "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders" , "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag" , "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource" , "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "IndirectContainer-ConformsRdfSourceLdpResource" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + td:includesText "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; + ldpt:declaredTestCase ldpt:RdfSource-ConformsRdfSourceLdpResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()> ; + ldpt:testMethod ldpt:indirect . + ldpt:NonRDFSource-IsHttp11Manual a earl:TestCase ; rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; rdfs:label "NonRDFSource-IsHttp11Manual" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.326Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.708Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "NonRDFSource-IsHttp11Manual" ; @@ -2246,7 +2303,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "BasicContainer-PutBadETag" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.383Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.755Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PutBadETag" ; @@ -2266,7 +2323,7 @@ rdfs:comment "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." ; rdfs:label "BasicContainer-PutToCreate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-create> ; - dcterms:date "2014-07-21T01:25:01.349Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.724Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "BasicContainer-PutToCreate" ; @@ -2286,7 +2343,7 @@ rdfs:comment "LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle]." ; rdfs:label "BasicContainer-AcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-turtle> ; - dcterms:date "2014-07-21T01:25:01.355Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.728Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-AcceptTurtle" ; @@ -2314,7 +2371,7 @@ rdfs:comment "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " ; rdfs:label "BasicContainer-OptionsAllowHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-allow> ; - dcterms:date "2014-07-21T01:25:01.386Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.757Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-OptionsAllowHeader" ; @@ -2334,7 +2391,7 @@ rdfs:comment "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." ; rdfs:label "DirectContainer-ContainsRdfType" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype> ; - dcterms:date "2014-07-21T01:25:01.427Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.579Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-ContainsRdfType" ; @@ -2354,7 +2411,7 @@ rdfs:comment "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " ; rdfs:label "BasicContainer-PatchMethod" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-patch-req> ; - dcterms:date "2014-07-21T01:25:01.362Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.734Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-PatchMethod" ; @@ -2374,7 +2431,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." ; rdfs:label "IndirectContainer-4xxErrorHasResponseBody" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.497Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.663Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-4xxErrorHasResponseBody" ; @@ -2386,7 +2443,7 @@ ldpt:conformanceLevel ldpt:SHOULD ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-4xxErrorHasResponseBody ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:IndirectContainer-PostNoSlug @@ -2394,7 +2451,7 @@ rdfs:comment "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." ; rdfs:label "IndirectContainer-PostNoSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-serverassignuri> ; - dcterms:date "2014-07-21T01:25:01.478Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.645Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-PostNoSlug" ; @@ -2414,7 +2471,7 @@ rdfs:comment "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." ; rdfs:label "IndirectContainer-DeleteRemovesContainmentTriple" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple> ; - dcterms:date "2014-07-21T01:25:01.482Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.649Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-DeleteRemovesContainmentTriple" ; @@ -2434,7 +2491,7 @@ rdfs:comment "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." ; rdfs:label "DirectContainer-PutRequiresIfMatch" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.441Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.602Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-PutRequiresIfMatch" ; @@ -2454,7 +2511,7 @@ rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "IndirectContainer-RelativeUriResolutionPost" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.471Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.64Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-RelativeUriResolutionPost" ; @@ -2474,7 +2531,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "DirectContainer-ConditionFailedStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.441Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.603Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-ConditionFailedStatusCode" ; @@ -2494,7 +2551,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "DirectContainer-PublishConstraintsReadOnlyProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.432Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.59Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PublishConstraintsReadOnlyProp" ; @@ -2506,7 +2563,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-PublishConstraintsReadOnlyProp ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:IndirectContainer-PostJsonLd @@ -2514,7 +2571,7 @@ rdfs:comment "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." ; rdfs:label "IndirectContainer-PostJsonLd" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-jsonld> ; - dcterms:date "2014-07-21T01:25:01.485Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.651Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-PostJsonLd" ; @@ -2534,7 +2591,7 @@ rdfs:comment "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." ; rdfs:label "MemberResource-ReUseVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocab> ; - dcterms:date "2014-07-21T01:25:01.272Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.779Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "MemberResource-ReUseVocabularies" ; @@ -2555,7 +2612,7 @@ rdfs:comment "LDP Direct Containers MUST behave as if they have a (LDPC URI, ldp:insertedContentRelation , ldp:MemberSubject) triple, but LDP imposes no requirement to materialize such a triple in the LDP-DC representation." ; rdfs:label "DirectContainer-ActAsIfInsertedContentRelationTripleExists" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-indirectmbr-basic> ; - dcterms:date "2014-07-21T01:25:01.408Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.544Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-ActAsIfInsertedContentRelationTripleExists" ; @@ -2570,12 +2627,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/DirectContainerTest.html#testActAsIfInsertedContentRelationTripleExists()> ; ldpt:testMethod ldpt:notImplemented . +ldpt:DirectContainer-ConformsRdfSourceLdpResource + a earl:TestRequirement ; + rdfs:comment "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." ; + rdfs:label "DirectContainer-ConformsRdfSourceLdpResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + dcterms:date "2014-08-25T13:17:51.594Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag" , "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual" , "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-Options" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource" , "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-Head" , "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead" , "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "DirectContainer-ConformsRdfSourceLdpResource" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + td:includesText "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; + ldpt:declaredTestCase ldpt:RdfSource-ConformsRdfSourceLdpResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()> ; + ldpt:testMethod ldpt:indirect . + ldpt:BasicContainer-NoRdfBagSeqOrList a earl:TestCase ; rdfs:comment "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." ; rdfs:label "BasicContainer-NoRdfBagSeqOrList" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes> ; - dcterms:date "2014-07-21T01:25:01.351Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.725Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-NoRdfBagSeqOrList" ; @@ -2595,7 +2673,7 @@ rdfs:comment "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." ; rdfs:label "DirectContainer-NullRelativeUriPost" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel> ; - dcterms:date "2014-07-21T01:25:01.416Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.561Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-NullRelativeUriPost" ; @@ -2615,7 +2693,7 @@ rdfs:comment "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." ; rdfs:label "BasicContainer-LdpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.38Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.753Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-LdpLinkHeader" ; @@ -2635,7 +2713,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "DirectContainer-ETagHeadersHead" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.439Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.601Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-ETagHeadersHead" ; @@ -2655,7 +2733,7 @@ rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "BasicContainer-RelativeUriResolutionPut" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.365Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.739Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-RelativeUriResolutionPut" ; @@ -2675,7 +2753,7 @@ rdfs:comment "LDP servers MUST support the HTTP HEAD method. " ; rdfs:label "DirectContainer-Head" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-head-must> ; - dcterms:date "2014-07-21T01:25:01.443Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.605Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-Head" ; @@ -2695,7 +2773,7 @@ rdfs:comment "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." ; rdfs:label "BasicContainer-RestrictUriReUseNoSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris> ; - dcterms:date "2014-07-21T01:25:01.359Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.731Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-RestrictUriReUseNoSlug" ; @@ -2715,7 +2793,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "BasicContainer-PreconditionRequiredStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.383Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.755Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PreconditionRequiredStatusCode" ; @@ -2730,31 +2808,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testPreconditionRequiredStatusCode()> ; ldpt:testMethod ldpt:automated . -ldpt:IndirectContainer-IsHttp11Server - a earl:TestCase ; - rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; - rdfs:label "IndirectContainer-IsHttp11Server" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.499Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; +ldpt:BasicContainer-ConformsRdfSourceLdpResource + a earl:TestRequirement ; + rdfs:comment "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." ; + rdfs:label "BasicContainer-ConformsRdfSourceLdpResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + dcterms:date "2014-08-25T13:17:51.748Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#CommonResource-Head" , "http://www.w3c.org/ns/ldp/test#CommonResource-Options" , "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode" , "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual" , "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode" , "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag" , "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders" ; dcterms:subject "MUST" ; mf:action "" ; - mf:name "IndirectContainer-IsHttp11Server" ; + mf:name "BasicContainer-ConformsRdfSourceLdpResource" ; td:reviewStatus td:unreviewed ; td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - td:includesText "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]."^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; - ldpt:declaredTestCase ldpt:CommonResource-IsHttp11Server ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()> ; - ldpt:testMethod ldpt:automated . + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + td:includesText "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; + ldpt:declaredTestCase ldpt:RdfSource-ConformsRdfSourceLdpResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()> ; + ldpt:testMethod ldpt:indirect . ldpt:IndirectContainer-GetResource a earl:TestCase ; rdfs:comment "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." ; rdfs:label "IndirectContainer-GetResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-rdf> ; - dcterms:date "2014-07-21T01:25:01.487Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.657Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-GetResource" ; @@ -2774,7 +2854,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." ; rdfs:label "IndirectContainer-PutPropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.497Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.664Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PutPropertiesNotPersisted" ; @@ -2789,32 +2869,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutPropertiesNotPersisted()> ; ldpt:testMethod ldpt:automated . -ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus - a earl:TestCase ; - rdfs:comment "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" ; - rdfs:label "IndirectContainer-PutReadOnlyProperties4xxStatus" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.496Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; - dcterms:subject "MUST" ; - mf:action "" ; - mf:name "IndirectContainer-PutReadOnlyProperties4xxStatus" ; - td:reviewStatus td:unreviewed ; - td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - td:includesText "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)"^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:conformanceLevel ldpt:MUST ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; - ldpt:declaredTestCase ldpt:RdfSource-PutReadOnlyProperties4xxStatus ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()> ; - ldpt:testMethod ldpt:automated . - ldpt:DirectContainer-AcceptPatchHeader a earl:TestCase ; rdfs:comment "LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server. " ; rdfs:label "DirectContainer-AcceptPatchHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch> ; - dcterms:date "2014-07-21T01:25:01.444Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.605Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-AcceptPatchHeader" ; @@ -2834,7 +2894,7 @@ rdfs:comment "LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General." ; rdfs:label "DirectContainer-CreateWithoutConstraints" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-mincontraints> ; - dcterms:date "2014-07-21T01:25:01.418Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.563Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-CreateWithoutConstraints" ; @@ -2849,12 +2909,32 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testCreateWithoutConstraints()> ; ldpt:testMethod ldpt:automated . +ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus + a earl:TestCase ; + rdfs:comment "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" ; + rdfs:label "IndirectContainer-PutReadOnlyProperties4xxStatus" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; + dcterms:date "2014-08-25T13:17:51.663Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "IndirectContainer-PutReadOnlyProperties4xxStatus" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; + td:includesText "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)"^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; + ldpt:declaredTestCase ldpt:RdfSource-PutReadOnlyProperties4xxStatus ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)> ; + ldpt:testMethod ldpt:automated . + ldpt:MemberResource-GetResourceAcceptTurtle a earl:TestCase ; rdfs:comment "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." ; rdfs:label "MemberResource-GetResourceAcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-turtle> ; - dcterms:date "2014-07-21T01:25:01.28Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.781Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-GetResourceAcceptTurtle" ; @@ -2874,7 +2954,7 @@ rdfs:comment "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, the LDPC MUST update its membership triples to reflect that addition, and the resulting membership triple MUST be consistent with any LDP-defined predicates it exposes." ; rdfs:label "DirectContainer-PostResourceUpdatesTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-post-createdmbr-member> ; - dcterms:date "2014-07-21T01:25:01.408Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.544Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-PostResourceUpdatesTriples" ; @@ -2894,7 +2974,7 @@ rdfs:comment "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." ; rdfs:label "DirectContainer-RestrictUriReUseNoSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris> ; - dcterms:date "2014-07-21T01:25:01.419Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.564Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-RestrictUriReUseNoSlug" ; @@ -2914,7 +2994,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "DirectContainer-ETagHeadersGet" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.438Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.6Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-ETagHeadersGet" ; @@ -2934,7 +3014,7 @@ rdfs:comment "LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI." ; rdfs:label "BasicContainer-ContainerSupportsHttpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.348Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.723Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-ContainerSupportsHttpLinkHeader" ; @@ -2954,7 +3034,7 @@ rdfs:comment "When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC." ; rdfs:label "BasicContainer-PostContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains> ; - dcterms:date "2014-07-21T01:25:01.353Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.726Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PostContainer" ; @@ -2974,7 +3054,7 @@ rdfs:comment "LDP servers exposing an LDP Non-RDF Source may advertise this by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#NonRDFSource, and a link relation type of type (that is, rel='type') in responses to requests made to the LDP-NR's HTTP Request-URI." ; rdfs:label "NonRDFSource-PostResourceAndCheckLink" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpnr-type> ; - dcterms:date "2014-07-21T01:25:01.32Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.706Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-PostResourceAndCheckLink" ; @@ -2994,7 +3074,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "IndirectContainer-PreconditionRequiredStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.503Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.671Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PreconditionRequiredStatusCode" ; @@ -3014,7 +3094,7 @@ rdfs:comment "Each LDP Indirect Container MUST also be a conforming LDP Direct Container in section 5.4 Direct along the following restrictions." ; rdfs:label "IndirectContainer-CreateIndirectContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpic-are-ldpcs> ; - dcterms:date "2014-07-21T01:25:01.469Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.638Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-CreateIndirectContainer" ; @@ -3034,7 +3114,7 @@ rdfs:comment "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." ; rdfs:label "IndirectContainer-PreferContainmentTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-prefer> ; - dcterms:date "2014-07-21T01:25:01.473Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.641Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-PreferContainmentTriples" ; @@ -3049,20 +3129,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testPreferContainmentTriples()> ; ldpt:testMethod ldpt:automated . -ldpt:Non-RDFSource-OTHERManifest - a mf:Manifest ; - rdfs:comment "LDP Non-RDF Source tests. No official conformance status." ; - <http://purl.org/dc/elements/1.1/title> - "Non-RDFSource (OTHER)" ; - mf:entries ( ldpt:NonRDFSource-IsHttp11Server ) ; - mf:name "Non-RDFSource (OTHER)" . - ldpt:BasicContainer-ETagHeadersGet a earl:TestCase ; rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "BasicContainer-ETagHeadersGet" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.379Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.752Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-ETagHeadersGet" ; @@ -3077,20 +3149,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testETagHeadersGet()> ; ldpt:testMethod ldpt:automated . -ldpt:IndirectContainer-OTHERManifest - a mf:Manifest ; - rdfs:comment "LDP Indirect Container tests. No official conformance status." ; - <http://purl.org/dc/elements/1.1/title> - "IndirectContainer (OTHER)" ; - mf:entries ( ldpt:IndirectContainer-IsHttp11Server ) ; - mf:name "IndirectContainer (OTHER)" . - ldpt:IndirectContainer-PutReplacesResource a earl:TestCase ; rdfs:comment "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." ; rdfs:label "IndirectContainer-PutReplacesResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-replaceall> ; - dcterms:date "2014-07-21T01:25:01.486Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.656Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PutReplacesResource" ; @@ -3110,7 +3174,7 @@ rdfs:comment "LDP servers SHOULD offer a application/ld+json representation of the requested LDP-RS [JSON-LD]. " ; rdfs:label "DirectContainer-JsonLdRepresentation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-jsonld> ; - dcterms:date "2014-07-21T01:25:01.431Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.59Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-JsonLdRepresentation" ; @@ -3130,7 +3194,7 @@ rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; rdfs:label "IndirectContainer-IsHttp11Manual" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.499Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.667Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "IndirectContainer-IsHttp11Manual" ; @@ -3145,12 +3209,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Manual()> ; ldpt:testMethod ldpt:manual . +ldpt:MemberResource-ConformsRdfSourceLdpResource + a earl:TestRequirement ; + rdfs:comment "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section." ; + rdfs:label "MemberResource-ConformsRdfSourceLdpResource" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + dcterms:date "2014-08-25T13:17:51.785Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#CommonResource-AcceptPatchHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-Head" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResponseHeaders" , "http://www.w3c.org/ns/ldp/test#CommonResource-OptionsAllowHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-GetResource" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersHead" , "http://www.w3c.org/ns/ldp/test#CommonResource-ConditionFailedStatusCode" , "http://www.w3c.org/ns/ldp/test#CommonResource-Options" , "http://www.w3c.org/ns/ldp/test#CommonResource-LdpLinkHeader" , "http://www.w3c.org/ns/ldp/test#CommonResource-IsHttp11Manual" , "http://www.w3c.org/ns/ldp/test#CommonResource-ETagHeadersGet" , "http://www.w3c.org/ns/ldp/test#CommonResource-PutBadETag" , "http://www.w3c.org/ns/ldp/test#CommonResource-PreconditionRequiredStatusCode" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "MemberResource-ConformsRdfSourceLdpResource" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-are-ldpr> ; + td:includesText "Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; + ldpt:declaredTestCase ldpt:RdfSource-ConformsRdfSourceLdpResource ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testConformsRdfSourceLdpResource()> ; + ldpt:testMethod ldpt:indirect . + ldpt:DirectContainer-PatchMethod a earl:TestCase ; rdfs:comment "LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples. " ; rdfs:label "DirectContainer-PatchMethod" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-patch-req> ; - dcterms:date "2014-07-21T01:25:01.422Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.568Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-PatchMethod" ; @@ -3170,7 +3255,7 @@ rdfs:comment "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." ; rdfs:label "MemberResource-UseStandardVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas> ; - dcterms:date "2014-07-21T01:25:01.278Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.78Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "MemberResource-UseStandardVocabularies" ; @@ -3199,7 +3284,7 @@ rdfs:comment "LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules." ; rdfs:label "DirectContainer-ReUseVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocab> ; - dcterms:date "2014-07-21T01:25:01.428Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.581Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "DirectContainer-ReUseVocabularies" ; @@ -3220,7 +3305,7 @@ rdfs:comment "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." ; rdfs:label "MemberResource-LdpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.297Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.79Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-LdpLinkHeader" ; @@ -3240,7 +3325,7 @@ rdfs:comment "LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body." ; rdfs:label "BasicContainer-ContentTypeHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-contenttype> ; - dcterms:date "2014-07-21T01:25:01.356Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.729Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-ContentTypeHeader" ; @@ -3260,7 +3345,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "NonRDFSource-PreconditionRequiredStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.336Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.712Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-PreconditionRequiredStatusCode" ; @@ -3280,7 +3365,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." ; rdfs:label "MemberResource-4xxErrorHasResponseBody" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.286Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.783Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "MemberResource-4xxErrorHasResponseBody" ; @@ -3292,7 +3377,7 @@ ldpt:conformanceLevel ldpt:SHOULD ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; ldpt:declaredTestCase ldpt:RdfSource-4xxErrorHasResponseBody ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists @@ -3300,7 +3385,7 @@ rdfs:comment "Each LDP Direct Container representation must contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:hasMemberRelation or ldp:isMemberOfRelation. The object of the triple is constrained by other sections, such as ldp:hasMemberRelation or ldp:isMemberOfRelation, based on the membership triple pattern used by the container." ; rdfs:label "DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-containtriples> ; - dcterms:date "2014-07-21T01:25:01.407Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.376Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists" ; @@ -3320,7 +3405,7 @@ rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "BasicContainer-RelativeUriResolutionPost" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.35Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.724Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-RelativeUriResolutionPost" ; @@ -3340,7 +3425,7 @@ rdfs:comment "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." ; rdfs:label "BasicContainer-PostNoSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-serverassignuri> ; - dcterms:date "2014-07-21T01:25:01.357Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.73Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-PostNoSlug" ; @@ -3368,7 +3453,7 @@ rdfs:comment "LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs." ; rdfs:label "BasicContainer-PutSimpleUpdate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-simpleupdate> ; - dcterms:date "2014-07-21T01:25:01.366Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.74Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PutSimpleUpdate" ; @@ -3388,7 +3473,7 @@ rdfs:comment "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." ; rdfs:label "DirectContainer-RestrictClientInference" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-noinferencing> ; - dcterms:date "2014-07-21T01:25:01.429Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.588Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "DirectContainer-RestrictClientInference" ; @@ -3409,7 +3494,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "NonRDFSource-ETagHeadersGet" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.328Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.709Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-ETagHeadersGet" ; @@ -3429,7 +3514,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "BasicContainer-PublishConstraintsReadOnlyProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.373Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.745Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PublishConstraintsReadOnlyProp" ; @@ -3441,7 +3526,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-PublishConstraintsReadOnlyProp ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:DirectContainer-RelativeUriResolutionPut @@ -3449,7 +3534,7 @@ rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "DirectContainer-RelativeUriResolutionPut" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.424Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.577Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-RelativeUriResolutionPut" ; @@ -3469,7 +3554,7 @@ rdfs:comment "LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD]." ; rdfs:label "BasicContainer-PostJsonLd" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-jsonld> ; - dcterms:date "2014-07-21T01:25:01.364Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.735Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-PostJsonLd" ; @@ -3489,7 +3574,7 @@ rdfs:comment "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " ; rdfs:label "BasicContainer-RdfTypeLdpContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-typecontainer> ; - dcterms:date "2014-07-21T01:25:01.363Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.734Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "BasicContainer-RdfTypeLdpContainer" ; @@ -3509,7 +3594,7 @@ rdfs:comment "LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server." ; rdfs:label "IndirectContainer-AcceptPostResponseHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr> ; - dcterms:date "2014-07-21T01:25:01.48Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.647Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-AcceptPostResponseHeader" ; @@ -3537,7 +3622,7 @@ rdfs:comment "LDP servers MUST support the HTTP OPTIONS method. " ; rdfs:label "DirectContainer-Options" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-must> ; - dcterms:date "2014-07-21T01:25:01.445Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.606Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-Options" ; @@ -3557,7 +3642,7 @@ rdfs:comment "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." ; rdfs:label "NonRDFSource-PutRequiresIfMatch" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.334Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.711Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "NonRDFSource-PutRequiresIfMatch" ; @@ -3577,7 +3662,7 @@ rdfs:comment "LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing." ; rdfs:label "IndirectContainer-ContainsRdfType" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype> ; - dcterms:date "2014-07-21T01:25:01.488Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.657Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-ContainsRdfType" ; @@ -3597,7 +3682,7 @@ rdfs:comment "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " ; rdfs:label "IndirectContainer-OptionsAllowHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-allow> ; - dcterms:date "2014-07-21T01:25:01.507Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.673Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-OptionsAllowHeader" ; @@ -3612,31 +3697,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testOptionsAllowHeader()> ; ldpt:testMethod ldpt:automated . -ldpt:DirectContainer-IsHttp11Server - a earl:TestCase ; - rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; - rdfs:label "DirectContainer-IsHttp11Server" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.437Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; - dcterms:subject "MUST" ; - mf:action "" ; - mf:name "DirectContainer-IsHttp11Server" ; - td:reviewStatus td:unreviewed ; - td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - td:includesText "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]."^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; - ldpt:declaredTestCase ldpt:CommonResource-IsHttp11Server ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()> ; - ldpt:testMethod ldpt:automated . - ldpt:MemberResource-PutRequiresIfMatch a earl:TestCase ; rdfs:comment "LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions." ; rdfs:label "MemberResource-PutRequiresIfMatch" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.299Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.791Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "MemberResource-PutRequiresIfMatch" ; @@ -3656,7 +3722,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "IndirectContainer-PublishConstraintsReadOnlyProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.495Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.662Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-PublishConstraintsReadOnlyProp" ; @@ -3668,7 +3734,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.IndirectContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-PublishConstraintsReadOnlyProp ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:BasicContainer-RequestedInteractionModelCreateNotAllowed @@ -3676,7 +3742,7 @@ rdfs:comment "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." ; rdfs:label "BasicContainer-RequestedInteractionModelCreateNotAllowed" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createrdf> ; - dcterms:date "2014-07-21T01:25:01.354Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.727Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-RequestedInteractionModelCreateNotAllowed" ; @@ -3688,7 +3754,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; ldpt:declaredTestCase ldpt:CommonContainer-RequestedInteractionModelCreateNotAllowed ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelCreateNotAllowed(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:NonRDFSource-GetResource @@ -3696,7 +3762,7 @@ rdfs:comment "LDP servers MUST support the HTTP GET Method for LDPRs" ; rdfs:label "NonRDFSource-GetResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-must> ; - dcterms:date "2014-07-21T01:25:01.324Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.715Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-GetResource" ; @@ -3716,7 +3782,7 @@ rdfs:comment "LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI." ; rdfs:label "DirectContainer-LdpLinkHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr> ; - dcterms:date "2014-07-21T01:25:01.439Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.601Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-LdpLinkHeader" ; @@ -3731,31 +3797,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testLdpLinkHeader()> ; ldpt:testMethod ldpt:automated . -ldpt:BasicContainer-IsHttp11Server - a earl:TestCase ; - rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; - rdfs:label "BasicContainer-IsHttp11Server" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.377Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; - dcterms:subject "MUST" ; - mf:action "" ; - mf:name "BasicContainer-IsHttp11Server" ; - td:reviewStatus td:unreviewed ; - td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - td:includesText "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]."^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; - ldpt:declaredTestCase ldpt:CommonResource-IsHttp11Server ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()> ; - ldpt:testMethod ldpt:automated . - ldpt:NonRDFSource-ETagHeadersHead a earl:TestCase ; rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "NonRDFSource-ETagHeadersHead" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.33Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.709Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-ETagHeadersHead" ; @@ -3775,7 +3822,7 @@ rdfs:comment "LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS. " ; rdfs:label "BasicContainer-GetResponseHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-get-options> ; - dcterms:date "2014-07-21T01:25:01.381Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.753Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-GetResponseHeaders" ; @@ -3803,7 +3850,7 @@ rdfs:comment "LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response." ; rdfs:label "DirectContainer-GetResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-rdf> ; - dcterms:date "2014-07-21T01:25:01.426Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.579Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-GetResource" ; @@ -3823,7 +3870,7 @@ rdfs:comment "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." ; rdfs:label "DirectContainer-ServerHonorsSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-slug> ; - dcterms:date "2014-07-21T01:25:01.423Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.569Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "DirectContainer-ServerHonorsSlug" ; @@ -3843,7 +3890,7 @@ rdfs:comment "LDP Direct Container tests. MUST conformance tests." ; <http://purl.org/dc/elements/1.1/title> "DirectContainer (MUST)" ; - mf:entries ( ldpt:DirectContainer-HttpLinkHeader ldpt:DirectContainer-MemberResourceTriple ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists ldpt:DirectContainer-ActAsIfInsertedContentRelationTripleExists ldpt:DirectContainer-PostResourceUpdatesTriples ldpt:DirectContainer-DeleteResourceUpdatesTriples ldpt:DirectContainer-RelativeUriResolutionPost ldpt:DirectContainer-PostResponseStatusAndLocation ldpt:DirectContainer-PostContainer ldpt:DirectContainer-RequestedInteractionModelCreateNotAllowed ldpt:DirectContainer-RequestedInteractionModelHeaders ldpt:DirectContainer-AcceptTurtle ldpt:DirectContainer-NullRelativeUriPost ldpt:DirectContainer-AcceptPostResponseHeader ldpt:DirectContainer-DeleteRemovesContainmentTriple ldpt:DirectContainer-RelativeUriResolutionPut ldpt:DirectContainer-PutReplacesResource ldpt:DirectContainer-PutSimpleUpdate ldpt:DirectContainer-GetResource ldpt:DirectContainer-RestrictClientInference ldpt:DirectContainer-GetResourceAcceptTurtle ldpt:DirectContainer-PublishConstraintsReadOnlyProp ldpt:DirectContainer-PublishConstraintsUnknownProp ldpt:DirectContainer-PutReadOnlyProperties4xxStatus ldpt:DirectContainer-PutPropertiesNotPersisted ldpt:DirectContainer-IsHttp11Manual ldpt:DirectContainer-ETagHeadersGet ldpt:DirectContainer-ETagHeadersHead ldpt:DirectContainer-LdpLinkHeader ldpt:DirectContainer-GetResponseHeaders ldpt:DirectContainer-ConditionFailedStatusCode ldpt:DirectContainer-PreconditionRequiredStatusCode ldpt:DirectContainer-PutBadETag ldpt:DirectContainer-Head ldpt:DirectContainer-AcceptPatchHeader ldpt:DirectContainer-Options ldpt:DirectContainer-OptionsAllowHeader ) ; + mf:entries ( ldpt:DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists ldpt:DirectContainer-HttpLinkHeader ldpt:DirectContainer-MemberResourceTriple ldpt:DirectContainer-ActAsIfInsertedContentRelationTripleExists ldpt:DirectContainer-PostResourceUpdatesTriples ldpt:DirectContainer-DeleteResourceUpdatesTriples ldpt:DirectContainer-ConformsDcLdpContainer ldpt:DirectContainer-RelativeUriResolutionPost ldpt:DirectContainer-PostResponseStatusAndLocation ldpt:DirectContainer-PostContainer ldpt:DirectContainer-RequestedInteractionModelCreateNotAllowed ldpt:DirectContainer-RequestedInteractionModelHeaders ldpt:DirectContainer-AcceptTurtle ldpt:DirectContainer-NullRelativeUriPost ldpt:DirectContainer-AcceptPostResponseHeader ldpt:DirectContainer-DeleteRemovesContainmentTriple ldpt:DirectContainer-ConformsContainerRdfResource ldpt:DirectContainer-RelativeUriResolutionPut ldpt:DirectContainer-PutReplacesResource ldpt:DirectContainer-PutSimpleUpdate ldpt:DirectContainer-GetResource ldpt:DirectContainer-RestrictClientInference ldpt:DirectContainer-GetResourceAcceptTurtle ldpt:DirectContainer-PublishConstraintsReadOnlyProp ldpt:DirectContainer-PublishConstraintsUnknownProp ldpt:DirectContainer-PutReadOnlyProperties4xxStatus ldpt:DirectContainer-PutPropertiesNotPersisted ldpt:DirectContainer-ConformsRdfSourceLdpResource ldpt:DirectContainer-IsHttp11Manual ldpt:DirectContainer-ETagHeadersGet ldpt:DirectContainer-ETagHeadersHead ldpt:DirectContainer-LdpLinkHeader ldpt:DirectContainer-GetResponseHeaders ldpt:DirectContainer-ConditionFailedStatusCode ldpt:DirectContainer-PreconditionRequiredStatusCode ldpt:DirectContainer-PutBadETag ldpt:DirectContainer-Head ldpt:DirectContainer-AcceptPatchHeader ldpt:DirectContainer-Options ldpt:DirectContainer-OptionsAllowHeader ) ; mf:name "DirectContainer (MUST)" . ldpt:MemberResource-IsHttp11Manual @@ -3851,7 +3898,7 @@ rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; rdfs:label "MemberResource-IsHttp11Manual" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.294Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.788Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "MemberResource-IsHttp11Manual" ; @@ -3871,7 +3918,7 @@ rdfs:comment "The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS. " ; rdfs:label "DirectContainer-RdfTypeLdpContainer" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-typecontainer> ; - dcterms:date "2014-07-21T01:25:01.422Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.568Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "DirectContainer-RdfTypeLdpContainer" ; @@ -3891,7 +3938,7 @@ rdfs:comment "The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source." ; rdfs:label "IndirectContainer-TypeRdfSource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-rdftype> ; - dcterms:date "2014-07-21T01:25:01.489Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.658Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "IndirectContainer-TypeRdfSource" ; @@ -3911,7 +3958,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "IndirectContainer-ETagHeadersHead" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.5Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.668Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-ETagHeadersHead" ; @@ -3931,7 +3978,7 @@ rdfs:comment "LDP servers must provide a text/turtle representation of the requested LDP-RS whenever HTTP content negotiation does not force another outcome [turtle]. In other words, if the server receives a GET request whose Request-URI identifies a LDP-RS, and either text/turtle has the highest relative quality factor (q= value) in the Accept request header or that header is absent, then an LDP server has to respond with Turtle." ; rdfs:label "BasicContainer-GetResourceAcceptTurtle" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-get-turtle> ; - dcterms:date "2014-07-21T01:25:01.372Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.744Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-GetResourceAcceptTurtle" ; @@ -3951,7 +3998,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" ; rdfs:label "MemberResource-PutReadOnlyProperties4xxStatus" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.285Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.783Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PutReadOnlyProperties4xxStatus" ; @@ -3963,7 +4010,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; ldpt:declaredTestCase ldpt:RdfSource-PutReadOnlyProperties4xxStatus ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:IndirectContainer-Options @@ -3971,7 +4018,7 @@ rdfs:comment "LDP servers MUST support the HTTP OPTIONS method. " ; rdfs:label "IndirectContainer-Options" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-must> ; - dcterms:date "2014-07-21T01:25:01.506Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.673Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-Options" ; @@ -3991,7 +4038,7 @@ rdfs:comment "LDP RDF Source tests. MUST conformance tests." ; <http://purl.org/dc/elements/1.1/title> "RDFSource (MUST)" ; - mf:entries ( ldpt:MemberResource-RelativeUriResolutionPut ldpt:MemberResource-PutReplacesResource ldpt:MemberResource-PutSimpleUpdate ldpt:MemberResource-GetResource ldpt:MemberResource-RestrictClientInference ldpt:MemberResource-GetResourceAcceptTurtle ldpt:MemberResource-PublishConstraintsReadOnlyProp ldpt:MemberResource-PublishConstraintsUnknownProp ldpt:MemberResource-PutReadOnlyProperties4xxStatus ldpt:MemberResource-PutPropertiesNotPersisted ldpt:MemberResource-IsHttp11Manual ldpt:MemberResource-ETagHeadersGet ldpt:MemberResource-ETagHeadersHead ldpt:MemberResource-LdpLinkHeader ldpt:MemberResource-GetResponseHeaders ldpt:MemberResource-ConditionFailedStatusCode ldpt:MemberResource-PreconditionRequiredStatusCode ldpt:MemberResource-PutBadETag ldpt:MemberResource-Head ldpt:MemberResource-AcceptPatchHeader ldpt:MemberResource-Options ldpt:MemberResource-OptionsAllowHeader ) ; + mf:entries ( ldpt:MemberResource-RelativeUriResolutionPut ldpt:MemberResource-PutReplacesResource ldpt:MemberResource-PutSimpleUpdate ldpt:MemberResource-GetResource ldpt:MemberResource-RestrictClientInference ldpt:MemberResource-GetResourceAcceptTurtle ldpt:MemberResource-PublishConstraintsReadOnlyProp ldpt:MemberResource-PublishConstraintsUnknownProp ldpt:MemberResource-PutReadOnlyProperties4xxStatus ldpt:MemberResource-PutPropertiesNotPersisted ldpt:MemberResource-ConformsRdfSourceLdpResource ldpt:MemberResource-IsHttp11Manual ldpt:MemberResource-ETagHeadersGet ldpt:MemberResource-ETagHeadersHead ldpt:MemberResource-LdpLinkHeader ldpt:MemberResource-GetResponseHeaders ldpt:MemberResource-ConditionFailedStatusCode ldpt:MemberResource-PreconditionRequiredStatusCode ldpt:MemberResource-PutBadETag ldpt:MemberResource-Head ldpt:MemberResource-AcceptPatchHeader ldpt:MemberResource-Options ldpt:MemberResource-OptionsAllowHeader ) ; mf:name "RDFSource (MUST)" . ldpt:IndirectContainer-RestrictClientInference @@ -3999,7 +4046,7 @@ rdfs:comment "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." ; rdfs:label "IndirectContainer-RestrictClientInference" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-noinferencing> ; - dcterms:date "2014-07-21T01:25:01.492Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.66Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "IndirectContainer-RestrictClientInference" ; @@ -4020,7 +4067,7 @@ rdfs:comment "LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request." ; rdfs:label "DirectContainer-RequestedInteractionModelHeaders" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-createrdf> ; - dcterms:date "2014-07-21T01:25:01.415Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.559Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-RequestedInteractionModelHeaders" ; @@ -4032,7 +4079,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; ldpt:declaredTestCase ldpt:CommonContainer-RequestedInteractionModelHeaders ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRequestedInteractionModelHeaders(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:IndirectContainer-NullRelativeUriPost @@ -4040,7 +4087,7 @@ rdfs:comment "In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource." ; rdfs:label "IndirectContainer-NullRelativeUriPost" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel> ; - dcterms:date "2014-07-21T01:25:01.477Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.645Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-NullRelativeUriPost" ; @@ -4055,31 +4102,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testNullRelativeUriPost()> ; ldpt:testMethod ldpt:automated . -ldpt:NonRDFSource-IsHttp11Server - a earl:TestCase ; - rdfs:comment "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]." ; - rdfs:label "NonRDFSource-IsHttp11Server" ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - dcterms:date "2014-07-21T01:25:01.325Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; +ldpt:DirectContainer-ConformsDcLdpContainer + a earl:TestRequirement ; + rdfs:comment "Each LDP Direct Container MUST also be a conforming LDP Container in section 5.2 Container along the following restrictions." ; + rdfs:label "DirectContainer-ConformsDcLdpContainer" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-are-ldpcs> ; + dcterms:date "2014-08-25T13:17:51.546Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#CommonContainer-PostResponseStatusAndLocation" , "http://www.w3c.org/ns/ldp/test#CommonContainer-DeleteRemovesContainmentTriple" , "http://www.w3c.org/ns/ldp/test#CommonContainer-PostContainer" , "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptTurtle" , "http://www.w3c.org/ns/ldp/test#CommonContainer-ConformsContainerRdfResource" , "http://www.w3c.org/ns/ldp/test#CommonContainer-NullRelativeUriPost" , "http://www.w3c.org/ns/ldp/test#CommonContainer-RelativeUriResolutionPost" , "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelCreateNotAllowed" , "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelHeaders" , "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptPostResponseHeader" ; dcterms:subject "MUST" ; mf:action "" ; - mf:name "NonRDFSource-IsHttp11Server" ; + mf:name "DirectContainer-ConformsDcLdpContainer" ; td:reviewStatus td:unreviewed ; td:specificationReference [ a td:Excerpt ; - rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-http> ; - td:includesText "LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11]."^^<http://www.w3.org/2001/XMLSchema#string> - ] ; - ldpt:declaredInClass "org.w3.ldp.testsuite.test.NonRDFSourceTest" ; - ldpt:declaredTestCase ldpt:CommonResource-IsHttp11Server ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testIsHttp11Server()> ; - ldpt:testMethod ldpt:automated . + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-are-ldpcs> ; + td:includesText "Each LDP Direct Container MUST also be a conforming LDP Container in section 5.2 Container along the following restrictions."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.DirectContainerTest" ; + ldpt:declaredTestCase ldpt:DirectContainer-ConformsDcLdpContainer ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/DirectContainerTest.html#testConformsDcLdpContainer()> ; + ldpt:testMethod ldpt:indirect . ldpt:IndirectContainer-RelativeUriResolutionPut a earl:TestCase ; rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "IndirectContainer-RelativeUriResolutionPut" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.485Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.655Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-RelativeUriResolutionPut" ; @@ -4099,7 +4148,7 @@ rdfs:comment "LDP servers MAY choose to allow the creation of new resources using HTTP PUT." ; rdfs:label "IndirectContainer-PutToCreate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-create> ; - dcterms:date "2014-07-21T01:25:01.471Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.639Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "IndirectContainer-PutToCreate" ; @@ -4119,7 +4168,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "MemberResource-PreconditionRequiredStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.301Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.792Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PreconditionRequiredStatusCode" ; @@ -4139,7 +4188,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "BasicContainer-PublishConstraintsUnknownProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.374Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.746Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PublishConstraintsUnknownProp" ; @@ -4159,7 +4208,7 @@ rdfs:comment "If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request." ; rdfs:label "MemberResource-PutReplacesResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-replaceall> ; - dcterms:date "2014-07-21T01:25:01.267Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.777Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PutReplacesResource" ; @@ -4187,7 +4236,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11]." ; rdfs:label "MemberResource-PutPropertiesNotPersisted" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-failed> ; - dcterms:date "2014-07-21T01:25:01.288Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.784Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PutPropertiesNotPersisted" ; @@ -4207,7 +4256,7 @@ rdfs:comment "LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585]." ; rdfs:label "NonRDFSource-ConditionFailedStatusCode" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-put-precond> ; - dcterms:date "2014-07-21T01:25:01.335Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.711Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-ConditionFailedStatusCode" ; @@ -4227,7 +4276,7 @@ rdfs:comment "Each LDP Direct Container representation MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is the ldp:membershipResource, and whose object is the LDPC's membership-constant-URI. Commonly the LDPC's URI is the membership-constant-URI, but LDP does not require this." ; rdfs:label "DirectContainer-MemberResourceTriple" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-containres> ; - dcterms:date "2014-07-21T01:25:01.406Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.543Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-MemberResourceTriple" ; @@ -4247,7 +4296,7 @@ rdfs:comment "LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow. " ; rdfs:label "DirectContainer-OptionsAllowHeader" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-allow> ; - dcterms:date "2014-07-21T01:25:01.445Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.606Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-OptionsAllowHeader" ; @@ -4267,7 +4316,7 @@ rdfs:comment "LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values." ; rdfs:label "IndirectContainer-ETagHeadersGet" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-etags> ; - dcterms:date "2014-07-21T01:25:01.5Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.668Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "IndirectContainer-ETagHeadersGet" ; @@ -4282,12 +4331,33 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonResourceTest.html#testETagHeadersGet()> ; ldpt:testMethod ldpt:automated . +ldpt:BasicContainer-ConformsBcLdpContainer + a earl:TestRequirement ; + rdfs:comment "Each LDP Basic Container MUST also be a conforming LDP Container in section 5.2 Container along with the following restrictions in this section." ; + rdfs:label "BasicContainer-ConformsBcLdpContainer" ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpbc-are-ldpcs> ; + dcterms:date "2014-08-25T13:17:51.719Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:hasPart "http://www.w3c.org/ns/ldp/test#CommonContainer-PostResponseStatusAndLocation" , "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelCreateNotAllowed" , "http://www.w3c.org/ns/ldp/test#CommonContainer-DeleteRemovesContainmentTriple" , "http://www.w3c.org/ns/ldp/test#CommonContainer-NullRelativeUriPost" , "http://www.w3c.org/ns/ldp/test#CommonContainer-PostContainer" , "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptPostResponseHeader" , "http://www.w3c.org/ns/ldp/test#CommonContainer-RequestedInteractionModelHeaders" , "http://www.w3c.org/ns/ldp/test#CommonContainer-AcceptTurtle" , "http://www.w3c.org/ns/ldp/test#CommonContainer-RelativeUriResolutionPost" , "http://www.w3c.org/ns/ldp/test#CommonContainer-ConformsContainerRdfResource" ; + dcterms:subject "MUST" ; + mf:action "" ; + mf:name "BasicContainer-ConformsBcLdpContainer" ; + td:reviewStatus td:unreviewed ; + td:specificationReference [ a td:Excerpt ; + rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpbc-are-ldpcs> ; + td:includesText "Each LDP Basic Container MUST also be a conforming LDP Container in section 5.2 Container along with the following restrictions in this section."^^<http://www.w3.org/2001/XMLSchema#string> + ] ; + ldpt:conformanceLevel ldpt:MUST ; + ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; + ldpt:declaredTestCase ldpt:BasicContainer-ConformsBcLdpContainer ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/BasicContainerTest.html#testConformsBcLdpContainer()> ; + ldpt:testMethod ldpt:indirect . + ldpt:BasicContainer-UseStandardVocabularies a earl:TestCase ; rdfs:comment "LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible." ; rdfs:label "BasicContainer-UseStandardVocabularies" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas> ; - dcterms:date "2014-07-21T01:25:01.37Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.743Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, MANUAL" ; mf:action "" ; mf:name "BasicContainer-UseStandardVocabularies" ; @@ -4308,7 +4378,7 @@ rdfs:comment "LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI." ; rdfs:label "IndirectContainer-ServerHonorsSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-slug> ; - dcterms:date "2014-07-21T01:25:01.484Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.651Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MAY" ; mf:action "" ; mf:name "IndirectContainer-ServerHonorsSlug" ; @@ -4336,7 +4406,7 @@ rdfs:comment "LDP Indirect Container tests. MUST conformance tests." ; <http://purl.org/dc/elements/1.1/title> "IndirectContainer (MUST)" ; - mf:entries ( ldpt:IndirectContainer-ContainerSupportsHttpLinkHeader ldpt:IndirectContainer-CreateIndirectContainer ldpt:IndirectContainer-ContainsLdpcUri ldpt:IndirectContainer-PostResource ldpt:IndirectContainer-RelativeUriResolutionPost ldpt:IndirectContainer-PostResponseStatusAndLocation ldpt:IndirectContainer-PostContainer ldpt:IndirectContainer-RequestedInteractionModelCreateNotAllowed ldpt:IndirectContainer-RequestedInteractionModelHeaders ldpt:IndirectContainer-AcceptTurtle ldpt:IndirectContainer-NullRelativeUriPost ldpt:IndirectContainer-AcceptPostResponseHeader ldpt:IndirectContainer-DeleteRemovesContainmentTriple ldpt:IndirectContainer-RelativeUriResolutionPut ldpt:IndirectContainer-PutReplacesResource ldpt:IndirectContainer-PutSimpleUpdate ldpt:IndirectContainer-GetResource ldpt:IndirectContainer-RestrictClientInference ldpt:IndirectContainer-GetResourceAcceptTurtle ldpt:IndirectContainer-PublishConstraintsReadOnlyProp ldpt:IndirectContainer-PublishConstraintsUnknownProp ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus ldpt:IndirectContainer-PutPropertiesNotPersisted ldpt:IndirectContainer-IsHttp11Manual ldpt:IndirectContainer-ETagHeadersGet ldpt:IndirectContainer-ETagHeadersHead ldpt:IndirectContainer-LdpLinkHeader ldpt:IndirectContainer-GetResponseHeaders ldpt:IndirectContainer-ConditionFailedStatusCode ldpt:IndirectContainer-PreconditionRequiredStatusCode ldpt:IndirectContainer-PutBadETag ldpt:IndirectContainer-Head ldpt:IndirectContainer-AcceptPatchHeader ldpt:IndirectContainer-Options ldpt:IndirectContainer-OptionsAllowHeader ) ; + mf:entries ( ldpt:IndirectContainer-ContainsLdpcUri ldpt:IndirectContainer-PostResource ldpt:IndirectContainer-CreateIndirectContainer ldpt:IndirectContainer-ContainerSupportsHttpLinkHeader ldpt:IndirectContainer-RelativeUriResolutionPost ldpt:IndirectContainer-PostResponseStatusAndLocation ldpt:IndirectContainer-PostContainer ldpt:IndirectContainer-RequestedInteractionModelCreateNotAllowed ldpt:IndirectContainer-RequestedInteractionModelHeaders ldpt:IndirectContainer-AcceptTurtle ldpt:IndirectContainer-NullRelativeUriPost ldpt:IndirectContainer-AcceptPostResponseHeader ldpt:IndirectContainer-DeleteRemovesContainmentTriple ldpt:IndirectContainer-ConformsContainerRdfResource ldpt:IndirectContainer-RelativeUriResolutionPut ldpt:IndirectContainer-PutReplacesResource ldpt:IndirectContainer-PutSimpleUpdate ldpt:IndirectContainer-GetResource ldpt:IndirectContainer-RestrictClientInference ldpt:IndirectContainer-GetResourceAcceptTurtle ldpt:IndirectContainer-PublishConstraintsReadOnlyProp ldpt:IndirectContainer-PublishConstraintsUnknownProp ldpt:IndirectContainer-PutReadOnlyProperties4xxStatus ldpt:IndirectContainer-PutPropertiesNotPersisted ldpt:IndirectContainer-ConformsRdfSourceLdpResource ldpt:IndirectContainer-IsHttp11Manual ldpt:IndirectContainer-ETagHeadersGet ldpt:IndirectContainer-ETagHeadersHead ldpt:IndirectContainer-LdpLinkHeader ldpt:IndirectContainer-GetResponseHeaders ldpt:IndirectContainer-ConditionFailedStatusCode ldpt:IndirectContainer-PreconditionRequiredStatusCode ldpt:IndirectContainer-PutBadETag ldpt:IndirectContainer-Head ldpt:IndirectContainer-AcceptPatchHeader ldpt:IndirectContainer-Options ldpt:IndirectContainer-OptionsAllowHeader ) ; mf:name "IndirectContainer (MUST)" . ldpt:DirectContainer-RelativeUriResolutionPost @@ -4344,7 +4414,7 @@ rdfs:comment "LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource." ; rdfs:label "DirectContainer-RelativeUriResolutionPost" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri> ; - dcterms:date "2014-07-21T01:25:01.411Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.555Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "DirectContainer-RelativeUriResolutionPost" ; @@ -4364,7 +4434,7 @@ rdfs:comment "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." ; rdfs:label "BasicContainer-RestrictPutReUseUri" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-put-create> ; - dcterms:date "2014-07-21T01:25:01.361Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.733Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-RestrictPutReUseUri" ; @@ -4384,7 +4454,7 @@ rdfs:comment "If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response." ; rdfs:label "BasicContainer-PostResponseStatusAndLocation" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-created201> ; - dcterms:date "2014-07-21T01:25:01.352Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.726Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PostResponseStatusAndLocation" ; @@ -4404,7 +4474,7 @@ rdfs:comment "When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple." ; rdfs:label "BasicContainer-DeleteRemovesContainmentTriple" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple> ; - dcterms:date "2014-07-21T01:25:01.361Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.733Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-DeleteRemovesContainmentTriple" ; @@ -4424,7 +4494,7 @@ rdfs:comment "LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP." ; rdfs:label "BasicContainer-4xxErrorHasResponseBody" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.375Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.747Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-4xxErrorHasResponseBody" ; @@ -4436,23 +4506,15 @@ ldpt:conformanceLevel ldpt:SHOULD ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-4xxErrorHasResponseBody ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#test4xxErrorHasResponseBody(java.lang.String)> ; ldpt:testMethod ldpt:automated . -ldpt:BasicContainer-OTHERManifest - a mf:Manifest ; - rdfs:comment "LDP Basic Container tests. No official conformance status." ; - <http://purl.org/dc/elements/1.1/title> - "BasicContainer (OTHER)" ; - mf:entries ( ldpt:BasicContainer-IsHttp11Server ) ; - mf:name "BasicContainer (OTHER)" . - ldpt:DirectContainer-UseMemberPredicate a earl:TestCase ; rdfs:comment "LDP Direct Containers SHOULD use the ldp:member predicate as an LDPC's membership predicate if there is no obvious predicate from an application vocabulary to use." ; rdfs:label "DirectContainer-UseMemberPredicate" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpdc-mbrpred> ; - dcterms:date "2014-07-21T01:25:01.406Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.542Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD, ldpMember" ; mf:action "" ; mf:name "DirectContainer-UseMemberPredicate" ; @@ -4472,7 +4534,7 @@ rdfs:comment "LDP servers MUST support the HTTP OPTIONS method. " ; rdfs:label "NonRDFSource-Options" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-must> ; - dcterms:date "2014-07-21T01:25:01.339Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.714Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "NonRDFSource-Options" ; @@ -4492,7 +4554,7 @@ rdfs:comment "LDP servers MUST support the HTTP OPTIONS method. " ; rdfs:label "MemberResource-Options" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-options-must> ; - dcterms:date "2014-07-21T01:25:01.304Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.793Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-Options" ; @@ -4512,7 +4574,7 @@ rdfs:comment "LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint." ; rdfs:label "DirectContainer-PostNoSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-serverassignuri> ; - dcterms:date "2014-07-21T01:25:01.417Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.562Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-PostNoSlug" ; @@ -4532,7 +4594,7 @@ rdfs:comment "When a contained LDPR is deleted, and the LDPC server created anassociated LDP-RS (see the LDPC POST section), the LDPC server must alsodelete the associated LDP-RS it created." ; rdfs:label "NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-del-contremovescontres> ; - dcterms:date "2014-07-21T01:25:01.322Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.707Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, NON-RDF" ; mf:action "" ; mf:name "NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource" ; @@ -4552,7 +4614,7 @@ rdfs:comment "LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List." ; rdfs:label "IndirectContainer-NoRdfBagSeqOrList" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes> ; - dcterms:date "2014-07-21T01:25:01.472Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.64Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-NoRdfBagSeqOrList" ; @@ -4572,7 +4634,7 @@ rdfs:comment "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." ; rdfs:label "IndirectContainer-RestrictUriReUseSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris> ; - dcterms:date "2014-07-21T01:25:01.479Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.646Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-RestrictUriReUseSlug" ; @@ -4592,7 +4654,7 @@ rdfs:comment "LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING]." ; rdfs:label "BasicContainer-PreferContainmentTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-prefer> ; - dcterms:date "2014-07-21T01:25:01.351Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.725Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-PreferContainmentTriples" ; @@ -4612,7 +4674,7 @@ rdfs:comment "LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code." ; rdfs:label "IndirectContainer-RejectPutModifyingContainmentTriples" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-put-mbrprops> ; - dcterms:date "2014-07-21T01:25:01.481Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.648Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-RejectPutModifyingContainmentTriples" ; @@ -4632,7 +4694,7 @@ rdfs:comment "If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)" ; rdfs:label "BasicContainer-PutReadOnlyProperties4xxStatus" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops> ; - dcterms:date "2014-07-21T01:25:01.375Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.746Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "BasicContainer-PutReadOnlyProperties4xxStatus" ; @@ -4644,7 +4706,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.BasicContainerTest" ; ldpt:declaredTestCase ldpt:RdfSource-PutReadOnlyProperties4xxStatus ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPutReadOnlyProperties4xxStatus(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:MemberResource-PublishConstraintsReadOnlyProp @@ -4652,7 +4714,7 @@ rdfs:comment "LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='describedby' [RFC5988] to all responses to requests which fail due to violation of those constraints." ; rdfs:label "MemberResource-PublishConstraintsReadOnlyProp" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs> ; - dcterms:date "2014-07-21T01:25:01.283Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.782Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST" ; mf:action "" ; mf:name "MemberResource-PublishConstraintsReadOnlyProp" ; @@ -4664,7 +4726,7 @@ ldpt:conformanceLevel ldpt:MUST ; ldpt:declaredInClass "org.w3.ldp.testsuite.test.MemberResourceTest" ; ldpt:declaredTestCase ldpt:RdfSource-PublishConstraintsReadOnlyProp ; - ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp()> ; + ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/RdfSourceTest.html#testPublishConstraintsReadOnlyProp(java.lang.String)> ; ldpt:testMethod ldpt:automated . ldpt:BasicContainer-RestrictUriReUseSlug @@ -4672,7 +4734,7 @@ rdfs:comment "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." ; rdfs:label "BasicContainer-RestrictUriReUseSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris> ; - dcterms:date "2014-07-21T01:25:01.358Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.731Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "BasicContainer-RestrictUriReUseSlug" ; @@ -4687,20 +4749,12 @@ ldpt:documentation <http://w3c.github.io/ldp-testsuite/api/java/org/w3/ldp/testsuite/test/CommonContainerTest.html#testRestrictUriReUseSlug()> ; ldpt:testMethod ldpt:automated . -ldpt:RDFSource-OTHERManifest - a mf:Manifest ; - rdfs:comment "LDP RDF Source tests. No official conformance status." ; - <http://purl.org/dc/elements/1.1/title> - "RDFSource (OTHER)" ; - mf:entries ( ldpt:MemberResource-IsHttp11Server ) ; - mf:name "RDFSource (OTHER)" . - ldpt:IndirectContainer-RestrictUriReUseNoSlug a earl:TestCase ; rdfs:comment "LDP servers that allow member creation via POST SHOULD NOT re-use URIs." ; rdfs:label "IndirectContainer-RestrictUriReUseNoSlug" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris> ; - dcterms:date "2014-07-21T01:25:01.48Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.647Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "IndirectContainer-RestrictUriReUseNoSlug" ; @@ -4720,7 +4774,7 @@ rdfs:comment "LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts]." ; rdfs:label "DirectContainer-RestrictPutReUseUri" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldpc-put-create> ; - dcterms:date "2014-07-21T01:25:01.421Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.566Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "SHOULD" ; mf:action "" ; mf:name "DirectContainer-RestrictPutReUseUri" ; @@ -4740,7 +4794,7 @@ rdfs:comment "LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document." ; rdfs:label "MemberResource-RestrictClientInference" ; rdfs:seeAlso <http://www.w3.org/TR/ldp#ldprs-gen-noinferencing> ; - dcterms:date "2014-07-21T01:25:01.279Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; + dcterms:date "2014-08-25T13:17:51.78Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> ; dcterms:subject "MUST, MANUAL" ; mf:action "" ; mf:name "MemberResource-RestrictClientInference" ;