Updated the document with abstract, introduction, references and some other modifications
authorRaúl García Castro <rgarcia@fi.upm.es>
Tue, 27 Aug 2013 14:18:36 +0200
changeset 320 9a8da7f27726
parent 319 9a88c39bc47c
child 321 7ce0ead345b0
Updated the document with abstract, introduction, references and some other modifications
Test Cases/LDP Test Cases.html
--- a/Test Cases/LDP Test Cases.html	Tue Aug 27 13:16:47 2013 +0200
+++ b/Test Cases/LDP Test Cases.html	Tue Aug 27 14:18:36 2013 +0200
@@ -1,7 +1,7 @@
-<?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# tn: http://ldp.example.org/NewTestDefinitions# ht: http://www.w3.org/2011/http#">
  <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:           "ED",
          
          // the specification's short name, as in http://www.w3.org/TR/short-name/
          shortName:            "ldp-test-cases",
          // 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://delicias.dia.fi.upm.es/~rgarcia/",
                company: "Ontology Engineering Group, Universidad Politécnica de Madrid", companyURL: "http://www.oeg-upm.net/" },
              //{ name: "John Arwe", url: "https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/allcommunities?userid=120000CAW7",
              //  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",
      };
    </script>
  </head>
  <body>
    
    <section id='abstract'>
      To be written.
    </section>
    
    <section>
    <h2><a id="Introduction">Introduction</a></h2>
    <p>This document describes...</p>
    </section>

    <section>
    <h2><a id="DesignIssues">Design issues </a></h2>
    
    <section>
    <h3><a id="GenericVsDomain">Generic vs domain-specific servers</a></h3>
    <p>There will be two types of systems implementing the LDP specification:</p>
    <ul>
      <li>Generic RDF 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>Systems exposing their data using the LDP specification. These systems impose restrictions on LDPRs since they
        have an underlying business logic and data model.</li>
    </ul>
    <p>In order to cover both types of systems, we do not provide specific input data in the test suite. It is up to the
      evaluator to define specific input data for a certain system. Evaluators must include these input data along with
      the results when reporting the results of a certain system.</p>
    </section>

    <section>
    <h3><a id="ProtocolVsData">Protocol evaluation vs data evaluation</a></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 behaviour
      when processing LDPR representations. Therefore, the test suite evaluates LDP servers at a protocol level; the
      only exception is in the case of LDPCs, since they are required to include an rdf.type statement 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><a id="Coverage">Test suite coverage</a></h3>
    <p>This test suite only covers those absolute requirements present in the LDP specification (as stated by the use of
      the MUST key word). 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 this test suite to test other levels of conformance in terms of optional capabilities
      (e.g., paging).</p>
    </section>
      
    <section>
    <h3><a id="ResultVsAssertion">Separation of results and assertions</a></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><a id="Traceability">Traceability of test cases</a></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><a id="TestingProcess">Testing process</a></h2>
    <p>The LDP Test Cases are defined in this same page, which is annotated using RDFa so that it can be consumed both by
    persons and machines. The testing process is composed of two steps, depicted in the figure below.</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. It is recommended (but not required) that test execution is automated. 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 available in the Web.</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.</li>
    </ol>
    <p>
    <object data="TestingProcess.svg" type="image/svg+xml">Your browser does not support SVG.</object>
    </p>
	</section>

    <section>
    <h2><a id="DescribingArtifacts">Describing testing artifacts in RDF</a></h2>

    <section>
    <h3><a id="Namespaces">Namespaces used</a></h3>
    <p>The following vocabularies are reused for describing the testing artifacts: DOAP (<code>doap</code>), Dublin Core (<code>dc</code>),
-      FOAF (<code>foaf</code>), HTTP Vocabulary in RDF (<code>ht</code>), and W3C Test Metadata (<code>td</code>).</p>
    <p>All the new required entities that are not covered by those vocabularies have been defined under a new namespace
      (<code>tn</code>). Besides, the LDP test cases have been defined under their own namespace (<code>ldptc</code>).</p>
    <p>Next we present the definition of these namespaces and of all the namespaces used in the examples.</p>
    <pre>cnt: &lt;http://www.w3.org/2011/content#&gt; 
dc: &lt;http://purl.org/dc/terms/&gt;
doap: &lt;http://usefulinc.com/ns/doap#&gt;
earl: &lt;http://www.w3.org/ns/earl#&gt;
foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
ht: &lt;http://www.w3.org/2011/http#&gt;
httph: &lt;http://www.w3.org/2011/http-headers#&gt;
ldptc: &lt;http://www.w3.org/TR/ldp/TestCases#&gt; 
td: &lt;http://www.w3.org/2006/03/test-description#&gt;
tn: &lt;http://ldp.example.org/NewTestDefinitions#&gt;</pre>
    </section>

    <section>
    <h3><a id="TestSuiteDescription">Test suite description</a></h3>
    <p><em>To be completed</em></p>
    </section>
    
    <section>
    <h3><a id="TestCaseDescription">Test case description</a></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>dc:title</code>. The name of the test.</li>
      <li><code>dc:description</code>. The description of the test.</li>
      <li><code>dc:contributor</code>. The person (<code>foaf:Person</code>) contributing the test.</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>excerpt</a> (<code>tn:Excerpt</code>) of the specification that is
        relevant to the test.</li>
      <li><code>td:input</code>. An <a>input</a> (<code>tn:TestInput</code>) used in the test.</li>
      <li><code>td:precondition</code>. A precondition that must be satisfied before running the test.</li>
      <li><code>tn:output</code>. An <a href="#dfn-test-output">output</a> (<code>tn:TestOutput</code>) to be produced by the test.</li>
      <li><code>tn:testProcess</code>. The list of <a href="#dfn-step">steps</a> (<code>tn:Step</code>) to be performed during the test.</li>
      <li><code>tn:testAssertion</code>. An <a href="#dfn-test-assertion">assertion</a> (<code>tn:TestAssertion</code>) to be performed over the test output.</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>A <dfn id="dfn-test-input" title="test input">test input</dfn> is defined as an instance of the <code>td:TestInput </code>class and it can be
      further described using the following properties:</p>
    <ul>
      <li><code>dc:title</code>: The name of the test input.</li>
      <li><code>dc:description</code>. The description of the test input.</li>
    </ul>
    
      <p>A <dfn id="dfn-test-output" title="test output">test output</dfn> is defined as an instance of the <code>td:TestOutput</code>
        class and it can be further described using the following properties:</p>
        <ul>
          <li><code>dc:title</code>: The name of the test output.</li>
          <li><code>dc:description</code>. The description of the test output.</li>
          <li><code>tn:fromStep</code>. The <a href="#dfn-step">step</a> in the process in which the output is produced.</li>
        </ul>
        <p>In the LDP test cases, test outputs are expected to be HTTP responses (<code>ht:Response</code>).</p>
        
        <p>A <dfn id="dfn-step" title="test input">step</dfn> in the test process is defined as an instance of the <code>td:Step</code> class and it
          can be further described using the following properties:</p>
        <ul>
          <li><code>dc:description</code>. The description of the step.</li>
          <li><code>tn:usesInput</code>. A <a href="#dfn-test-input">test input</a> used in the step.</li>
        </ul>
        <p>In the LDP test cases, steps are expected to be HTTP requests (<code>ht:Request</code>).</p>
        
        <p>A <dfn id="dfn-test-assertion" title="test assertion">test assertion</dfn> is defined as an instance of the <code>td:TestAssertion</code> class and it
          can be further described using the following properties:</p>
        <ul>
          <li><code>dc:title</code>: The name of the test assertion.</li>
          <li><code>dc:description</code>. The description of the test assertion.</li>
          <li><code>tn:outputAsserted</code>. An <a href="#dfn-test-output">output</a> under assertion.</li>
        </ul>
        <p>The following example contains the description of one of the LDP test cases.</p>
      <pre class="example" id="test-case-example">:TCR1 a td:TestCase;
         rdfs:label "TC-R1";
         dc:title "GET on an LDPR";
         dc:description "Tests making a GET request on an existing LDPR";
         dc:contributor :RaulGarciaCastro;
         td:reviewStatus td:unreviewed;
         rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
         td:specificationReference [
             a tn:Excerpt;
             rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
             tn:includesText "4.2.8 LDPR server responses MUST use entity tags (either weak or strong ones) as response ETag header values.".
           ], 
         	                       [
         	 a tn:Excerpt;
             rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
             tn:includesText "4.2.10 LDPR servers 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=&quot;type&quot;) in all responses to requests made to the resource's HTTP Request-URI. [...]".
           ],
         	                       [
         	 a tn:Excerpt;
             rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
             tn:includesText "4.3.1 LDPR servers MUST support the HTTP GET Method for LDPRs.".
           ];
         td:input :TCR1-I1-LDPR-URI;
         td:precondition "The LDP server contains an LDPR at &lt;LDPR URI&gt;";
         tn:output :TCR1-O1-Response-1-GET;
         tn:testProcess (:TCR1-RQ1-GET-LDPR-URI);
         tn:testAssertion :TCR1-A1-Response-1-GET.
         
:RaulGarciaCastro a foaf:Person;
                    rdfs:label "Raúl García-Castro";
                    owl:sameAs &lt;http://delicias.dia.fi.upm.es/~rgarcia/#me&gt;.
                    
:TCR1-I1-LDPR-URI a tn:TestInput;
           dc:title "&lt;LDPR URI&gt;";
           dc:description "The URI of an LDPR".
              
:TCR1-O1-Response-1-GET a tn:TestOutput;
            a ht:Response;
            tn:fromStep :TCR1-RQ1-GET-LDPR-URI;
            dc:title "&lt;Response 1 GET&gt;";
            dc:description "The response of the GET request in step 1".

:TCR1-RQ1-GET-LDPR-URI a tn:Step;
            a ht:Request;
            dc:description "GET &lt;LDPR URI&gt;";
            tn:usesInput :TCR1-I1-LDPR-URI.

:TCR1-A1-Response-1-GET a tn:TestAssertion;
            tn:outputAsserted :TCR1-O1-Response-1-GET;
            dc:title "GET correct";
            dc:description """[Status-Line].Status-Code = 2xx
        [response-header].ETag exists
        [response-header].Link = ldp:Resource; rel=&quot;type&quot;""".
</pre>
    </section>
    
    <section>
    <h3><a id="ExecutionReportDescription">Execution report description</a></h3>
    <p>A <dfn id="dfn-test-execution" title="test execution">test execution</dfn> is defined as an instance of the <code>tn:TestExecution</code> class and it can
      be further described using the following properties:</p>
    <ul>
      <li><code>tn:testExecuted</code>. The <a href="#dfn-test-case">test case</a> (<code>td:TestCase</code>) used in the execution.</li>
      <li><code>tn:subjectTested</code>. The subject (<code>doap:Project</code>) tested.</li>
      <li><code>dc:date</code>. The date when the test was executed.</li>
      <li><code>tn:inputUsed</code>. The <a href="#dfn-test-input-value">input value</a> (<code>tn:TestInputValue</code>) used in the execution.</li>
      <li><code>tn:outputProduced</code>. The <a href="#dfn-test-output-value">output value</a> (<code>tn:TestOutputValue</code>) produced in the execution.</li>
    </ul>
    
    <p>A <dfn id="dfn-test-input-value" title="test input value">test input value</dfn> is defined as an instance of the <code>tn:TestInputValue</code> class and it
      can be further described using the following properties:</p>
    <ul>
      <li><code>tn:relatedInput</code>. The <a href="#dfn-test-input">input</a> in the test definition (<code>tn:TestInput</code>) for which the value is
        defined.</li>
      <li><code>tn:inputValue</code>. The specific input defined for the execution.</li>
    </ul>
    
    <p>A <dfn id="dfn-test-output-value" title="test output value">test output value</dfn> is defined as an instance of the <code>tn:TestOutputValue</code> class and it
      can be further described using the following properties:</p>
    <ul>
      <li><code>tn:relatedOutput</code>. The <a href="#dfn-test-output">output</a> in the test definition (<code>tn:TestOutput</code>) for which the value is
        defined.</li>
      <li><code>tn:outputValue</code>. The specific output defined for the execution.</li>
    </ul>
    <p>In the LDP test cases, test output values are expected to be HTTP responses (<code>ht:Response</code>).</p>
    <p>The following example contains the description of one test execution.</p>
    <pre class="example" id="execution-report-example">:TCR1-Execution a tn:TestExecution;
                tn:testExecuted ldptc:TCR1;
                tn:subjectTested :SomeServer;
                dc:date "2013-03-30T09:30:10";
                tn:inputUsed [
                  a tn:TestInputValue ;
                  tn:relatedInput :TCR1-I1-LDPR-URI ;
                  tn:inputValue &lt;http://www.example.org/MyResource&gt; .
                ];
                tn:outputProduced [
                  a tn:TestOutputValue ;
                  tn:relatedOutput :TCR1-O1-Response-1-GET ;
                  tn:outputValue :TCR1-Exec-Response-1-GET .    
                ].

:SomeServer a doap:Project;
            doap:name "Sample server".

:TCR1-Exec-Response-1-GET a ht:Response;
    ht:httpVersion "1.1";
    dc:date "2013-03-30T09:30:10";
    ht:sc &lt;http://www.w3.org/2011/http-statusCodes#OK&gt;;
    ht:statusCodeValue "200";
    ht:reasonPhrase "OK";
    ht:headers (  
      [ 
        a ht:ResponseHeader;
        ht:hdrName httph:etag;
        ht:fieldName "ETag";
        ht:fieldValue "hd73hck43".
      ]
      [ 
        a ht:EntityHeader;
        ht:hdrName httph:content-type;
        ht:fieldName "Content-Type";
        ht:fieldValue "text/turtle; charset=utf-8".
      ]
    ); 
    ht:body [
      a cnt:ContentAsText ;
      cnt:chars """
			@prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;.
			@prefix dc: &lt;http://purl.org/dc/terms/&gt;.
			@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.

			&lt;http://example.org/MyResource&gt;
			   a ldp:Resource;
			   dc:title "My LDP resource".
      """;
      cnt:characterEncoding "UTF-8".       
    ].
</pre>
    </section>

    <section>
    <h3><a id="AssertionDescription">Test case assertion description</a></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>tn:fromTestExecution</code>. The <a href="#dfn-test-execution">test execution</a> (<code>td:TestExecution</code>) used in the assertion.</li>
      <li><code>dc: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><code>earl:mode</code>.</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 sr:SomeServer;
                earl:test ldptc:TCR1;
                tn:fromTestExecution sr:TCR1-Execution;
                dc:date "2013-03-30T09:30:10";
                earl:assertedBy :Validator;
                earl:mode:  earl:automatic;
                earl:result [
                  a earl:OutcomeValue ;
                  earl:outcome earl:passed .
                ].

:Validator a doap:Project;
            doap:name "Some validator".</pre>
    </section>
    </section>
    
    <section>
    <h2><a id="Tests-LDPRs"></a>Tests for LDPRs</h2>
    <p>These tests involve only LDPRs.</p>
    
    <section resource="#TCR1" typeof="td:TestCase">
      <h3><a id="TC-R1"><span property="rdfs:label">TC-R1</span>. <span property="dc:title">GET on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a GET request on an existing LDPR.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong><span property="rdfs:label">Raúl 
+<?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# tn: http://ldp.example.org/NewTestDefinitions# ht: http://www.w3.org/2011/http#">
  <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:           "ED",
          
          // the specification's short name, as in http://www.w3.org/TR/short-name/
          shortName:            "ldp-test-cases",
          // 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://delicias.dia.fi.upm.es/~rgarcia/",
                company: "Ontology Engineering Group, Universidad Politécnica de Madrid", companyURL: "http://www.oeg-upm.net/" },
              //{ name: "John Arwe", url: "https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/allcommunities?userid=120000CAW7",
              //  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",
      };
    </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 describes the conditions that LDP servers must satisfy in order to be conformant with the specification and presents a common format for describing LDP test cases and server results. These test cases both illustrate the features of the specification and can be used for testing conformance.
</p>
    </section>
    
    <section>
    <h2><a id="Introduction">Introduction</a></h2>
    <p>
This document describes 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 cases and server results.
<br>
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. 
<br>
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 [[PRIMER]] for concrete examples of inputs and expected outputs that can be used for testing. 
    </p>
    </section>

    <section>
    <h2><a id="DesignPrinciples">Design principles</a></h2>
    
    <section>
    <h3><a id="GenericVsDomain">Generic vs domain-specific servers</a></h3>
    <p>There will be two types of systems implementing the LDP specification:</p>
    <ul>
      <li>Generic RDF 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>Systems exposing their data using the LDP specification. These systems impose restrictions on LDPRs since they
        have an underlying business logic and data model.</li>
    </ul>
    <p>In order to cover both types of systems, we do not provide specific input data in the test suite. It is up to the
      evaluator to define specific input data for a certain system. Evaluators must include these input data along with
      the results when reporting the results of a certain system.</p>
    </section>

    <section>
    <h3><a id="ProtocolVsData">Protocol evaluation vs data evaluation</a></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 behaviour
      when processing LDPR representations. Therefore, the test suite evaluates LDP servers at a protocol level; the
      only exception is in the case of LDPCs, since they are required to include an rdf.type statement 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><a id="Coverage">Test suite coverage</a></h3>
    <p>This test suite only covers those absolute requirements present in the LDP specification (as stated by the use of
      the MUST key word). 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 this test suite to test other levels of conformance in terms of optional capabilities
      (e.g., paging).</p>
    <p>Furthermore, the LDP specification [[LINKED-DATA-PLATFORM]] contains the following absolute requirements for <a>LDP Core</a> that are not directly testable and, therefore, are not covered by the current test suite:</p>
    <ul>
      <li>4.2.1 LDPR servers MUST at least be HTTP/1.1 conformant servers [HTTP11].</li>
      <li>4.2.2 LDPR servers MUST provide an RDF representation for LDPRs. The HTTP Request-URI of the LDPR is typically the subject of most triples in the response.</li>
      <li>4.2.11 LDPR servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. [...]</li>
      <li>4.2.12 LDPR 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.</li>
      <li>4.3.2 LDPR servers MUST support the HTTP response headers defined in section 4.9.</li>
      <li>4.4.1 If HTTP PUT is performed on an existing resource, LDPR servers
        MUST replace the entire persistent state of the identified resource with
        the entity representation in the body of the request. </li>
      <li>5.2.1 LDPC servers MUST also be conformant LDPR servers. [...]</li>
      <li>5.2.1 [...] A Linked Data Platform Container MUST also be a conformant Linked Data Platform Resource.</li>
      <li>5.3.1 The representation of a LDPC MUST contain a set of triples with a consistent subject and predicate whose objects indicate members of the container.</li>
      <li>5.4.7 In RDF representations, LDPC 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.
        [...]</li>
      <li>5.6.1 When a LDPC member resource originally created by the LDPC (for example, one whose representation was HTTP POSTed to the LDPC and then referenced by a membership triple) is deleted, and the LDPC server is aware of the member's deletion (for example, the member is managed by the same server), the LDPC server MUST also remove it from the LDPC by removing the corresponding membership triple.</li>  
    </ul>
    </section>
      
    <section>
    <h3><a id="ResultVsAssertion">Separation of results and assertions</a></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><a id="Traceability">Traceability of test cases</a></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><a id="TestingProcess">Testing process</a></h2>
    <p>The LDP Test Cases are defined in this same page, which is annotated using RDFa so that it can be consumed both by
    persons and machines. The testing process is composed of two steps, depicted in the figure below.</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. It is recommended (but not required) that test execution is automated. 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 available in the Web.</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.</li>
    </ol>
    <p>
    <object data="TestingProcess.svg" type="image/svg+xml">Your browser does not support SVG.</object>
    </p>
	</section>

    <section>
    <h2><a id="DescribingArtifacts">Describing testing artifacts in RDF</a></h2>

    <section>
    <h3><a id="Namespaces">Namespaces used</a></h3>
    <p>The following vocabularies are reused for describing the testing artifacts: DOAP (<code>doap</code>), Dublin Core (<code>dc</code>) [[DC11]],
+ FOAF (<code>foaf</code>) [[FOAF]], HTTP Vocabulary in RDF (<code>ht</code>) [[HTTP-IN-RDF]], 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>tn</code>). Besides, the LDP test cases have been defined under their own namespace (<code>ldptc</code>).</p>
    <p>Next we present the definition of these namespaces and of all the namespaces used in the examples.</p>
    <pre>cnt: &lt;http://www.w3.org/2011/content#&gt; 
dc: &lt;http://purl.org/dc/terms/&gt;
doap: &lt;http://usefulinc.com/ns/doap#&gt;
earl: &lt;http://www.w3.org/ns/earl#&gt;
foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
ht: &lt;http://www.w3.org/2011/http#&gt;
httph: &lt;http://www.w3.org/2011/http-headers#&gt;
ldptc: &lt;http://www.w3.org/TR/ldp/TestCases#&gt; 
td: &lt;http://www.w3.org/2006/03/test-description#&gt;
tn: &lt;http://ldp.example.org/NewTestDefinitions#&gt;</pre>
    </section>

<!--
    <section>
    <h3><a id="TestSuiteDescription">Test suite description</a></h3>
    <p><em>To be completed</em></p>
    </section>
-->
    
    <section>
    <h3><a id="TestCaseDescription">Test case description</a></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>dc:title</code>. The name of the test.</li>
      <li><code>dc:description</code>. The description of the test.</li>
      <li><code>dc:contributor</code>. The person (<code>foaf:Person</code>) contributing the test.</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>excerpt</a> (<code>tn:Excerpt</code>) of the specification that is
        relevant to the test.</li>
      <li><code>td:input</code>. An <a>input</a> (<code>tn:TestInput</code>) used in the test.</li>
      <li><code>td:precondition</code>. A precondition that must be satisfied before running the test.</li>
      <li><code>tn:output</code>. An <a href="#dfn-test-output">output</a> (<code>tn:TestOutput</code>) to be produced by the test.</li>
      <li><code>tn:testProcess</code>. The list of <a href="#dfn-step">steps</a> (<code>tn:Step</code>) to be performed during the test.</li>
      <li><code>tn:testAssertion</code>. An <a href="#dfn-test-assertion">assertion</a> (<code>tn:TestAssertion</code>) to be performed over the test output.</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>A <dfn id="dfn-test-input" title="test input">test input</dfn> is defined as an instance of the <code>td:TestInput </code>class and it can be
      further described using the following properties:</p>
    <ul>
      <li><code>dc:title</code>: The name of the test input.</li>
      <li><code>dc:description</code>. The description of the test input.</li>
    </ul>
    
      <p>A <dfn id="dfn-test-output" title="test output">test output</dfn> is defined as an instance of the <code>td:TestOutput</code>
        class and it can be further described using the following properties:</p>
        <ul>
          <li><code>dc:title</code>: The name of the test output.</li>
          <li><code>dc:description</code>. The description of the test output.</li>
          <li><code>tn:fromStep</code>. The <a href="#dfn-step">step</a> in the process in which the output is produced.</li>
        </ul>
        <p>In the LDP test cases, test outputs are expected to be HTTP responses (<code>ht:Response</code>).</p>
        
        <p>A <dfn id="dfn-step" title="test input">step</dfn> in the test process is defined as an instance of the <code>td:Step</code> class and it
          can be further described using the following properties:</p>
        <ul>
          <li><code>dc:description</code>. The description of the step.</li>
          <li><code>tn:usesInput</code>. A <a href="#dfn-test-input">test input</a> used in the step.</li>
        </ul>
        <p>In the LDP test cases, steps are expected to be HTTP requests (<code>ht:Request</code>).</p>
        
        <p>A <dfn id="dfn-test-assertion" title="test assertion">test assertion</dfn> is defined as an instance of the <code>td:TestAssertion</code> class and it
          can be further described using the following properties:</p>
        <ul>
          <li><code>dc:title</code>: The name of the test assertion.</li>
          <li><code>dc:description</code>. The description of the test assertion.</li>
          <li><code>tn:outputAsserted</code>. An <a href="#dfn-test-output">output</a> under assertion.</li>
        </ul>
        <p>The following example contains the description of one of the LDP test cases.</p>
      <pre class="example" id="test-case-example">:TCR1 a td:TestCase;
         rdfs:label "TC-R1";
         dc:title "GET on an LDPR";
         dc:description "Tests making a GET request on an existing LDPR";
         dc:contributor :RaulGarciaCastro;
         td:reviewStatus td:unreviewed;
         rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
         td:specificationReference [
             a tn:Excerpt;
             rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
             tn:includesText "4.2.8 LDPR server responses MUST use entity tags (either weak or strong ones) as response ETag header values.".
           ], 
         	                       [
         	 a tn:Excerpt;
             rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
             tn:includesText "4.2.10 LDPR servers 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=&quot;type&quot;) in all responses to requests made to the resource's HTTP Request-URI. [...]".
           ],
         	                       [
         	 a tn:Excerpt;
             rdfs:seeAlso &lt;http://www.w3.org/TR/ldp/&gt;;
             tn:includesText "4.3.1 LDPR servers MUST support the HTTP GET Method for LDPRs.".
           ];
         td:input :TCR1-I1-LDPR-URI;
         td:precondition "The LDP server contains an LDPR at &lt;LDPR URI&gt;";
         tn:output :TCR1-O1-Response-1-GET;
         tn:testProcess (:TCR1-RQ1-GET-LDPR-URI);
         tn:testAssertion :TCR1-A1-Response-1-GET.
         
:RaulGarciaCastro a foaf:Person;
                    rdfs:label "Raúl García-Castro";
                    owl:sameAs &lt;http://delicias.dia.fi.upm.es/~rgarcia/#me&gt;.
                    
:TCR1-I1-LDPR-URI a tn:TestInput;
           dc:title "&lt;LDPR URI&gt;";
           dc:description "The URI of an LDPR".
              
:TCR1-O1-Response-1-GET a tn:TestOutput;
            a ht:Response;
            tn:fromStep :TCR1-RQ1-GET-LDPR-URI;
            dc:title "&lt;Response 1 GET&gt;";
            dc:description "The response of the GET request in step 1".

:TCR1-RQ1-GET-LDPR-URI a tn:Step;
            a ht:Request;
            dc:description "GET &lt;LDPR URI&gt;";
            tn:usesInput :TCR1-I1-LDPR-URI.

:TCR1-A1-Response-1-GET a tn:TestAssertion;
            tn:outputAsserted :TCR1-O1-Response-1-GET;
            dc:title "GET correct";
            dc:description """[Status-Line].Status-Code = 2xx
        [response-header].ETag exists
        [response-header].Link = ldp:Resource; rel=&quot;type&quot;""".
</pre>
    </section>
    
    <section>
    <h3><a id="ExecutionReportDescription">Execution report description</a></h3>
    <p>A <dfn id="dfn-test-execution" title="test execution">test execution</dfn> is defined as an instance of the <code>tn:TestExecution</code> class and it can
      be further described using the following properties:</p>
    <ul>
      <li><code>tn:testExecuted</code>. The <a href="#dfn-test-case">test case</a> (<code>td:TestCase</code>) used in the execution.</li>
      <li><code>tn:subjectTested</code>. The subject (<code>doap:Project</code>) tested.</li>
      <li><code>dc:date</code>. The date when the test was executed.</li>
      <li><code>tn:inputUsed</code>. The <a href="#dfn-test-input-value">input value</a> (<code>tn:TestInputValue</code>) used in the execution.</li>
      <li><code>tn:outputProduced</code>. The <a href="#dfn-test-output-value">output value</a> (<code>tn:TestOutputValue</code>) produced in the execution.</li>
    </ul>
    
    <p>A <dfn id="dfn-test-input-value" title="test input value">test input value</dfn> is defined as an instance of the <code>tn:TestInputValue</code> class and it
      can be further described using the following properties:</p>
    <ul>
      <li><code>tn:relatedInput</code>. The <a href="#dfn-test-input">input</a> in the test definition (<code>tn:TestInput</code>) for which the value is
        defined.</li>
      <li><code>tn:inputValue</code>. The specific input defined for the execution.</li>
    </ul>
    
    <p>A <dfn id="dfn-test-output-value" title="test output value">test output value</dfn> is defined as an instance of the <code>tn:TestOutputValue</code> class and it
      can be further described using the following properties:</p>
    <ul>
      <li><code>tn:relatedOutput</code>. The <a href="#dfn-test-output">output</a> in the test definition (<code>tn:TestOutput</code>) for which the value is
        defined.</li>
      <li><code>tn:outputValue</code>. The specific output defined for the execution.</li>
    </ul>
    <p>In the LDP test cases, test output values are expected to be HTTP responses (<code>ht:Response</code>).</p>
    <p>The following example contains the description of one test execution.</p>
    <pre class="example" id="execution-report-example">:TCR1-Execution a tn:TestExecution;
                tn:testExecuted ldptc:TCR1;
                tn:subjectTested :SomeServer;
                dc:date "2013-03-30T09:30:10";
                tn:inputUsed [
                  a tn:TestInputValue ;
                  tn:relatedInput :TCR1-I1-LDPR-URI ;
                  tn:inputValue &lt;http://www.example.org/MyResource&gt; .
                ];
                tn:outputProduced [
                  a tn:TestOutputValue ;
                  tn:relatedOutput :TCR1-O1-Response-1-GET ;
                  tn:outputValue :TCR1-Exec-Response-1-GET .    
                ].

:SomeServer a doap:Project;
            doap:name "Sample server".

:TCR1-Exec-Response-1-GET a ht:Response;
    ht:httpVersion "1.1";
    dc:date "2013-03-30T09:30:10";
    ht:sc &lt;http://www.w3.org/2011/http-statusCodes#OK&gt;;
    ht:statusCodeValue "200";
    ht:reasonPhrase "OK";
    ht:headers (  
      [ 
        a ht:ResponseHeader;
        ht:hdrName httph:etag;
        ht:fieldName "ETag";
        ht:fieldValue "hd73hck43".
      ]
      [ 
        a ht:EntityHeader;
        ht:hdrName httph:content-type;
        ht:fieldName "Content-Type";
        ht:fieldValue "text/turtle; charset=utf-8".
      ]
    ); 
    ht:body [
      a cnt:ContentAsText ;
      cnt:chars """
			@prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;.
			@prefix dc: &lt;http://purl.org/dc/terms/&gt;.
			@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.

			&lt;http://example.org/MyResource&gt;
			   a ldp:Resource;
			   dc:title "My LDP resource".
      """;
      cnt:characterEncoding "UTF-8".       
    ].
</pre>
    </section>

    <section>
    <h3><a id="AssertionDescription">Test case assertion description</a></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>tn:fromTestExecution</code>. The <a href="#dfn-test-execution">test execution</a> (<code>td:TestExecution</code>) used in the assertion.</li>
      <li><code>dc: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><code>earl:mode</code>.</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 sr:SomeServer;
                earl:test ldptc:TCR1;
                tn:fromTestExecution sr:TCR1-Execution;
                dc:date "2013-03-30T09:30:10";
                earl:assertedBy :Validator;
                earl:mode:  earl:automatic;
                earl:result [
                  a earl:OutcomeValue ;
                  earl:outcome earl:passed .
                ].

:Validator a doap:Project;
            doap:name "Some validator".</pre>
    </section>
    </section>
    
    <section>
    <h2><a id="Tests-LDPRs"></a>Tests for LDPRs</h2>
    <p>These tests involve only LDPRs.</p>
    
    <section resource="#TCR1" typeof="td:TestCase">
      <h3><a id="TC-R1"><span property="rdfs:label">TC-R1</span>. <span property="dc:title">GET on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a GET request on an existing LDPR.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong><span property="rdfs:label">Raúl 
 García-Castro</span><span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed
 </p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.8 LDPR server responses MUST use entity tags (either weak or strong ones) as response ETag header values.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.3.1 LDPR servers MUST support the HTTP GET Method for LDPRs.</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR1-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR1-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
          <div property="dc:description"> GET &lt;LDPR URI&gt;</div>
          <span property="tn:usesInput" resource="#TCR1-I1-LDPR-URI"> </span></li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR1-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"> <em property="dc:title">&lt;Response
  1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> <span property="tn:fromStep"  resource="#TCR1-RQ1-GET-LDPR-URI"></span></li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR1-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted"
            resource="TCR1-O1-Response-1-GET">Assert
   &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
            <div property="dc:description">
            <ul>
              <li>[Status-Line].Status-Code = 2xx</li>
              <li>[response-header].ETag exists</li>
              <li>[response-header].Link = ldp:Resource; rel="type"</li>
            </ul>
            </div>
          </div></li>
      </ul>
    </section>

<!-- RGC: Test removed since 4.3.4 is no longer an absolute requirement
    <section resource="#TCR2" typeof="td:TestCase">
      <h3><a id="TC-R2"><span property="rdfs:label">TC-R2</span>. <span property="dc:title">GET on an LDPR without content type</span></a></h3>
      <p property="dc:description">Tests making a GET request on an existing LDPR without indicating a content type.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span property="rdfs:label">Raúl
- García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.3.4 [...] If the client does not indicate a preference, text/turtle SHOULD be returned.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR2-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR2-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR2-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR2-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> <span property="tn:fromStep"
            resource="#TCR2-RQ1-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR2-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR2-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[entity-header].Content-Type = text/turtle</li>
          </ul>
          </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCR3" typeof="td:TestCase">
      <h3><a id="TC-R3"><span property="rdfs:label">TC-R3</span>. <span property="dc:title">GET on a non-existing LDPR</span></a></h3>
      <p property="dc:description">Tests making a GET request on a non-existing LDPR.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR3-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of a non-existing LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server does not contain an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR3-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR3-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR3-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR3-RQ1-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR3-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR3-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET incorrect</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 404 or 410</li>
          </ul>
          </div>
        </div></li>
      </ul>
    </section>
    
<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCR4" typeof="td:TestCase">
      <h3><a id="TC-R4"><span property="rdfs:label">TC-R4</span>. <span property="dc:title">PUT on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPR.</p>      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span       property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><em><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso">Hypertext Transfer Protocol - HTTP/1.1</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">3.11 [...] An entity tag MUST be unique across all versions of all entities associated with a particular resource.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input </h4>
      <ul>
        <li property="td:input" resource="#TCR4-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPR the current representation at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDP server does not desire that the request be applied to a different URI</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR4-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR4-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR4-RQ2-PUT-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPR URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCR4-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR4-RQ3-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR4-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR4-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR4-RQ1-GET-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR4-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCR4-RQ2-PUT-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR4-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCR4-RQ3-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR4-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR4-A2-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR4-A3-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR4-A4-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">LDPR updated</span>):
          <div property="dc:description">
          <ul>
            <li>[response-header].ETag != &lt;Response 1 GET&gt;.[response-header].ETag</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCR5" typeof="td:TestCase">
      <h3><a id="TC-R5"><span property="rdfs:label">TC-R5</span>. <span property="dc:title">PUT on an LDPR without matching ETags</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPR without matching ETags.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.5.2 [...] LDPR servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input </h4>
      <ul>
        <li property="td:input" resource="#TCR5-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPR the current representation at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR5-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR5-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR5-RQ2-PUT-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPR URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag + 'M'</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCR5-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR5-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR5-RQ1-GET-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR5-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCR5-RQ2-PUT-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR5-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR5-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR5-A2-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR5-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT incorrect</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 412</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCR6" typeof="td:TestCase">
      <h3><a id="TC-R6"><span property="rdfs:label">TC-R6</span>. <span property="dc:title">DELETE on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a DELETE request on an LDPR.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR6-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows DELETE</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR6-RQ1-DELETE-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">DELETE &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCR6-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR6-RQ2-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR6-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR6-O1-Response-1-DELETE" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 DELETE&gt;</em>. <span property="dc:description">The response of the DELETE request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR6-RQ1-DELETE-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR6-O2-Response-2-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCR6-RQ2-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR6-A1-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; (<span property="dc:title">DELETE correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR6-A2-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; &lt;Response 2 GET&gt; (<span property="dc:title">DELETE resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 200 or 204 and &lt;Response 2 GET&gt;.[Status-Line].Status-Code = 404 or 410</li>
            <li>or&nbsp;</li>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 2xx (except 200 and 204) </li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCR7" typeof="td:TestCase">
      <h3><a id="TC-R7"><span property="rdfs:label">TC-R7</span>. <span property="dc:title">HEAD on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a HEAD request on an LDPR.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.7.1 LDPR servers MUST support the HTTP HEAD method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><em><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso">Hypertext Transfer Protocol - HTTP/1.1</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">9.4 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR7-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR7-RQ1-HEAD-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">HEAD &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCR7-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR7-O1-Response-1-HEAD" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 HEAD&gt;</em>. <span property="dc:description">The response of the HEAD request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR7-RQ1-HEAD-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR7-A1-Response-1-HEAD" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR7-O1-Response-1-HEAD">Assert &lt;Response 1 HEAD&gt; (<span property="dc:title">HEAD correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
            <li>[message-body] not exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCR8" typeof="td:TestCase">
      <h3><a id="TC-R8"><span property="rdfs:label">TC-R8</span>. <span property="dc:title">OPTIONS on an LDPR</span></a></h3>
      <p property="dc:description">Tests making an OPTIONS request on an LDPR.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.1 LDPR servers MUST support the HTTP OPTIONS method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.2 LDPR 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.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR8-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR8-RQ1-OPTIONS-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">OPTIONS &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCR8-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR8-RP1-Response-1-OPTIONS" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 OPTIONS&gt;</em>. <span property="dc:description">The response of the OPTIONS request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR8-RQ1-OPTIONS-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR8-A1-Response-1-OPTIONS" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR8-O1-Response-1-OPTIONS">Assert &lt;Response 1 OPTIONS&gt; (<span property="dc:title">OPTIONS correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx<strong> </strong></li>
            <li>[entity-header].Allow exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    </section>

    <section>
    <h2><a id="Tests-LDPCs"></a>Tests for LDPCs</h2>
    <p>These tests involve LDPCs and LDPRs.</p>

    <section resource="#TCC1" typeof="td:TestCase">
      <h3><a id="TC-C1"><span property="rdfs:label">TC-C1</span>. <span property="dc:title">GET on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a GET request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.2.8 LDPR server responses MUST use entity tags (either weak or strong ones) as response ETag header values.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.3.1 LDPR servers MUST support the HTTP GET Method for LDPRs.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.7 The representation of a LDPC MUST have rdf:type of ldp:Container, [...].</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.4 An LDPC representation MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is the ldp:membershipSubject, and whose object is the LDPC's membership subject URI.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.5 An LDPC representation MUST contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:membershipPredicate or ldp:membershipPredicateInverse. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.5.1 For a given triple T with a subject C of the LDPC and predicate of ldp:membershipPredicate, the object MUST be the URI of the membership predicate P used to indicate membership to the linked to LDPC, [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.5.2 For a given triple T with a subject C of the LDPC and predicate of ldp:membershipPredicateInverse, the object MUST be the URI of the membership predicate P used to indicate membership to the linked to LDPC, [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC1-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
        <li property="td:input" resource="#TCC1-I2-S-URI" typeof="tn:TestInput"><em property="dc:title">&lt;S URI&gt;</em>. <span property="dc:description">The URI of an RDF resource.</span></li>
        <li property="td:input" resource="#TCC1-I3-P-URI" typeof="tn:TestInput"><em property="dc:title">&lt;P URI&gt;</em>. <span property="dc:description">The URI of an RDF property.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The membership subject used by the LDPC is identified by  &lt;S URI&gt;</li>
        <li property="td:precondition">The membership predicate used by the LDPC is identified by  &lt;P URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC1-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC1-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC1-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC1-RQ1-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC1-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC1-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC1-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC1-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
    
<!-- RGC: Test removed since 4.3.4 is no longer an absolute requirement
    <section resource="#TCC2" typeof="td:TestCase">
      <h3><a id="TC-C2"><span property="rdfs:label">TC-C2</span>. <span property="dc:title">GET on an LDPC without content type</span></a></h3>
      <p property="dc:description">Tests making a GET request on an LDPC without content type.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.3.4 [...] If the client does not indicate a preference, text/turtle SHOULD be returned.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC2-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC2-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC2-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC2-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC2-RQ1-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC2-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC2-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[entity-header].Content-Type = text/turtle</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC2-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC2-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCC3" typeof="td:TestCase">
      <h3><a id="TC-C3"><span property="rdfs:label">TC-C3</span>. <span property="dc:title">GET on a non-existing LDPC</span></a></h3>
      <p property="dc:description">Tests making a GET request on an non-existing LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC3-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of a non-existing LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server does not contain an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC3-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC3-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC3-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC3-RQ1-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC3-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC3-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET incorrect</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 404 or 410</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCC4" typeof="td:TestCase">
      <h3><a id="TC-C4"><span property="rdfs:label">TC-C4</span>. <span property="dc:title">PUT on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><em><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso">Hypertext Transfer Protocol - HTTP/1.1</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">3.11 [...] An entity tag MUST be unique across all versions of all entities associated with a particular resource.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input </h4>
      <ul>
        <li property="td:input" resource="#TCC4-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPC the current representation at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDP server does not desire that the request be applied to a different URI</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC4-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC4-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC4-RQ2-PUT-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPC URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCC4-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC4-RQ3-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC4-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC4-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC4-RQ1-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC4-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC4-RQ2-PUT-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC4-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCC4-RQ3-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC4-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A3-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A4-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A5-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A6-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">LDPC updated</span>):
        <div property="dc:description">
          <ul>
            <li>[response-header].ETag != &lt;Response 1 GET&gt;.[response-header].ETag</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCC5" typeof="td:TestCase">
      <h3><a id="TC-C5"><span property="rdfs:label">TC-C5</span>. <span property="dc:title">PUT on an LDPC without matching ETags</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPC without matching ETags.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.5.2 [...] LDPR servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC5-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPC the current representation at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC5-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC5-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC5-RQ2-PUT-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPC URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag + 'M'</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCC5-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC5-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC5-RQ1-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC5-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC5-RQ2-PUT-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC5-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC5-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC5-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC5-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC5-A3-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC5-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 412</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCC6" typeof="td:TestCase">
      <h3><a id="TC-C6"><span property="rdfs:label">TC-C6</span>. <span property="dc:title">DELETE on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a DELETE request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC6-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows DELETE</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC6-RQ1-DELETE-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">DELETE &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC6-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC6-RQ2-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC6-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC6-O1-Response-1-DELETE" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 DELETE&gt;</em>. <span property="dc:description">The response of the DELETE request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC6-RQ1-DELETE-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC6-O2-Response-2-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC6-RQ2-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC6-A1-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; (<span property="dc:title">DELETE correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC6-A2-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; &lt;Response 2 GET&gt; (<span property="dc:title">DELETE resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 200 or 204 and &lt;Response 2 GET&gt;.[Status-Line].Status-Code = 404 or 410</li>
            <li>or&nbsp;</li>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 2xx (except 200 and 204)</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCC7" typeof="td:TestCase">
      <h3><a id="TC-C7"><span property="rdfs:label">TC-C7</span>. <span property="dc:title">DELETE on an LDPR in an LDPC</span></a></h3>
      <p property="dc:description">Tests making a DELETE request on an LDPR in an LDPC.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.6.2 When the LDPC server successfully completes the DELETE request on a LDPC, it MUST remove any membership triples associated with the LDPC as indicated by the canonical Request-URI. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC7-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
        <li property="td:input" resource="#TCC7-I2-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR that is a member of the LDPC.</span></li>
        <li property="td:input" resource="#TCC7-I3-S-URI" typeof="tn:TestInput"><em property="dc:title">&lt;S URI&gt;</em>. <span property="dc:description">The URI of an RDF resource.</span></li>
        <li property="td:input" resource="#TCC7-I4-P-URI" typeof="tn:TestInput"><em property="dc:title">&lt;P URI&gt;</em>. <span property="dc:description">The URI of an RDF property.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR is a member of the LDPC</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows DELETE</li>
        <li property="td:precondition">The LDPR was originally created by the LDPC</li>
        <li property="td:precondition">The membership subject used by the LDPC is identified by  &lt;S URI&gt;</li>
        <li property="td:precondition">The membership predicate used by the LDPC is identified by  &lt;P URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC7-RQ1-DELETE-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">DELETE &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC7-I2-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC7-RQ2-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC7-I2-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC7-RQ3-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC7-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC7-O1-Response-1-DELETE" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 DELETE&gt;</em>. <span property="dc:description">The response of the DELETE request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC7-RQ1-DELETE-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC7-O2-Response-2-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC7-RQ2-GET-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC7-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCC7-RQ3-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC7-A1-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; (<span property="dc:title">DELETE correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A2-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; &lt;Response 2 GET&gt; (<span property="dc:title">DELETE resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 200 or 204 and &lt;Response 2 GET&gt;.[Status-Line].Status-Code = 404 or 410</li>
            <li>or&nbsp;</li>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 2xx (except 200 and 204)</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A3-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A4-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A5-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">member removed from container</span>)
        <div property="dc:description">
          <ul>
            <li>[message-body] does not contain &lt;S URI&gt; &lt;P URI&gt; &lt;LDPR URI&gt; .</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCC8" typeof="td:TestCase">
      <h3><a id="TC-C8"><span property="rdfs:label">TC-C8</span>. <span property="dc:title">HEAD on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a HEAD request on an LDPC.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.7.1 LDPR servers MUST support the HTTP HEAD method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso"><em>Hypertext Transfer Protocol - HTTP/1.1</em></a>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">9.4 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC8-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC8-RQ1-HEAD-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">HEAD &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC8-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC8-O1-Response-1-HEAD" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 HEAD&gt;</em>. <span property="dc:description">The response of the HEAD request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC8-RQ1-HEAD-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC8-A1-Response-1-HEAD" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC8-O1-Response-1-HEAD">Assert &lt;Response 1 HEAD&gt; (<span property="dc:title">HEAD correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
            <li>[message-body] not exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCC9" typeof="td:TestCase">
      <h3><a id="TC-C9"><span property="rdfs:label">TC-C9</span>. <span property="dc:title">POST an LDPR on an LDPC</a></h3>
      <p property="dc:description">Tests making a POST request of an LDPR on an LDPC.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.1 [...] If the resource was created successfully, LDPC servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. [...] </span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.2 After a successful HTTP POST request to a LDPC, the new resource MUST appear as a member of the LDPC until the new resource is deleted or removed by other methods. [...] </span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.4 For servers that support create, LDPC servers MUST create an LDPR from a RDF representation in the request entity body. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.5 LDPC servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle. </span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC9-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
        <li property="td:input" resource="#TCC9-I2-LDPR-REP" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR representation&gt;</em>. <span property="dc:description">The representation of the LDPR to be created</span></li>
        <li property="td:input" resource="#TCC9-I3-S-URI" typeof="tn:TestInput"><em property="dc:title">&lt;S URI&gt;</em>. <span property="dc:description">The URI of an RDF resource.</span></li>
        <li property="td:input" resource="#TCC9-I4-P-URI" typeof="tn:TestInput"><em property="dc:title">&lt;P URI&gt;</em>. <span property="dc:description">The URI of an RDF property.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows POST</li>
        <li property="td:precondition">The LDP server does not desire to direct the user agent to retrieve a cacheable resource</li>
        <li property="td:precondition">&lt;LDPR representation&gt; is in text/turtle</li>
        <li property="td:precondition">&lt;LDPR representation&gt; is a valid representation for a resource to be created in the LDPC</li>
        <li property="td:precondition">&lt;LDPR representation&gt; uses null relative URI as the entity in the request body</li>
        <li property="td:precondition">The membership subject used by the LDPC is identified by  &lt;S URI&gt;</li>
        <li property="td:precondition">The membership predicate used by the LDPC is identified by  &lt;P URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC9-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ2-POST-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">POST &lt;LDPC URI&gt;
          <ul>
            <li>[entity-header].Content-type = text/turtle</li>
            <li>[message-body] = &lt;LDPR representation&gt;</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCC9-I1-LDPC-URI"> </span>
        <span property="tn:usesInput" resource="#TCC9-I2-LDPR-REP"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ3-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC9-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ4-GET-LOC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;Response 2 POST&gt;.[response-header].Location</div>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC9-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ1-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC9-O2-Response-2-POST" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 POST&gt;</em>. <span property="dc:description">The response of the POST request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ2-POST-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC9-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ3-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC9-O4-Response-4-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 4 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 4.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ4-GET-LOC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC9-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A3-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">container does not have member</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] does not contain &lt;S URI&gt; &lt;P URI&gt; &lt;Response 2
              POST&gt;.[response-header].Location .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A4-Response-2-POST" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O2-Response-2-POST">Assert &lt;Response 2 POST&gt; (<span property="dc:title">POST correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 201</li>
            <li>[response-header].Location exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A5-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A6-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A7-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">container has member</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;S URI&gt; &lt;P URI&gt; &lt;Response 2 POST&gt;.[response-header].Location .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A8-Response-4-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O4-Response-4-GET">Assert &lt;Response 4 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
    
    <section resource="#TCC10" typeof="td:TestCase">
      <h3><a id="TC-C10"><span property="rdfs:label">TC-C10</span>. <span property="dc:title">OPTIONS on an LDPC</span></a></h3>
      <p property="dc:description">Tests making an OPTIONS request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.1 LDPR servers MUST support the HTTP OPTIONS method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.2 LDPR 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.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC10-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC10-RQ1-OPTIONS-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">OPTIONS &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC10-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC10-RP1-Response-1-OPTIONS" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 OPTIONS&gt;</em>. <span property="dc:description">The response of the OPTIONS request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC10-RQ1-OPTIONS-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC10-A1-Response-1-OPTIONS" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC10-O1-Response-1-OPTIONS">Assert &lt;Response 1 OPTIONS&gt; (<span property="dc:title">OPTIONS correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx<strong> </strong></li>
            <li>[entity-header].Allow exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
    
    </section>
    
    <section class="appendix">
    <h2>Recommendation coverage</h2>
    <p>The following absolute requirements in the specification for <a>LDP Core</a> are not covered by the current test suite. </p>
    <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/">Linked Data Platform 1.0</a></em>:</p>
    <ul>
      <li>4.2.1 LDPR servers MUST at least be HTTP/1.1 conformant servers [HTTP11].</li>
      <li>4.2.2 LDPR servers MUST provide an RDF representation for LDPRs. The HTTP Request-URI of the LDPR is typically the subject of most triples in the response.</li>
      <li>4.2.11 LDPR servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. [...]</li>
      <li>4.2.12 LDPR 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.</li>
      <li>4.3.2 LDPR servers MUST support the HTTP response headers defined in section 4.9.</li>
      <li>4.4.1 If HTTP PUT is performed on an existing resource, LDPR servers
        MUST replace the entire persistent state of the identified resource with
        the entity representation in the body of the request. </li>
      <li>5.2.1 LDPC servers MUST also be conformant LDPR servers. [...]</li>
      <li>5.2.1 [...] A Linked Data Platform Container MUST also be a conformant Linked Data Platform Resource.</li>
      <li>5.3.1 The representation of a LDPC MUST contain a set of triples with a consistent subject and predicate whose objects indicate members of the container.</li>
      <li>5.4.7 In RDF representations, LDPC 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.
        [...]</li>
      <li>5.6.1 When a LDPC member resource originally created by the LDPC (for example, one whose representation was HTTP POSTed to the LDPC and then referenced by a membership triple) is deleted, and the LDPC server is aware of the member's deletion (for example, the member is managed by the same server), the LDPC server MUST also remove it from the LDPC by removing the corresponding membership triple.</li>  
    </ul>
    </section>
    
    <section class="appendix">
    <h2><a id="ChangeHistory">Change history</a></h2>
    <ul>
      <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>
    
    <section class="appendix">
    <h2><a id="EditorNotes">Editor TODOs and notes</a></h2>
    <ul>
      <li>Choose a namespace for the new vocabulary terms and for the test cases</li>
      <li>Include the RDF description of the test suite</li>
      <li>Write abstract and introduction</li>
      <li>Refer to Primer for sample inputs and expected outputs for generic LDP servers</li>
      <li>Add references</li>
    </ul>
    </section>
  </body>
</html>
\ No newline at end of file
+ García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.3.4 [...] If the client does not indicate a preference, text/turtle SHOULD be returned.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR2-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR2-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR2-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR2-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> <span property="tn:fromStep"
            resource="#TCR2-RQ1-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR2-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR2-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[entity-header].Content-Type = text/turtle</li>
          </ul>
          </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCR3" typeof="td:TestCase">
      <h3><a id="TC-R3"><span property="rdfs:label">TC-R3</span>. <span property="dc:title">GET on a non-existing LDPR</span></a></h3>
      <p property="dc:description">Tests making a GET request on a non-existing LDPR.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR3-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of a non-existing LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server does not contain an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR3-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR3-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR3-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR3-RQ1-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR3-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR3-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET incorrect</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 404 or 410</li>
          </ul>
          </div>
        </div></li>
      </ul>
    </section>
    
<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCR4" typeof="td:TestCase">
      <h3><a id="TC-R4"><span property="rdfs:label">TC-R4</span>. <span property="dc:title">PUT on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPR.</p>      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span       property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><em><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso">Hypertext Transfer Protocol - HTTP/1.1</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">3.11 [...] An entity tag MUST be unique across all versions of all entities associated with a particular resource.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input </h4>
      <ul>
        <li property="td:input" resource="#TCR4-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPR the current representation at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDP server does not desire that the request be applied to a different URI</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR4-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR4-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR4-RQ2-PUT-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPR URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCR4-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR4-RQ3-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR4-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR4-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR4-RQ1-GET-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR4-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCR4-RQ2-PUT-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR4-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCR4-RQ3-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR4-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR4-A2-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR4-A3-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR4-A4-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">LDPR updated</span>):
          <div property="dc:description">
          <ul>
            <li>[response-header].ETag != &lt;Response 1 GET&gt;.[response-header].ETag</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCR5" typeof="td:TestCase">
      <h3><a id="TC-R5"><span property="rdfs:label">TC-R5</span>. <span property="dc:title">PUT on an LDPR without matching ETags</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPR without matching ETags.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.5.2 [...] LDPR servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input </h4>
      <ul>
        <li property="td:input" resource="#TCR5-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPR the current representation at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR5-RQ1-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR5-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR5-RQ2-PUT-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPR URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag + 'M'</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCR5-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR5-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR5-RQ1-GET-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR5-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCR5-RQ2-PUT-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR5-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR5-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR5-A2-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR5-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT incorrect</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 412</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCR6" typeof="td:TestCase">
      <h3><a id="TC-R6"><span property="rdfs:label">TC-R6</span>. <span property="dc:title">DELETE on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a DELETE request on an LDPR.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR6-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows DELETE</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR6-RQ1-DELETE-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">DELETE &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCR6-I1-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCR6-RQ2-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCR6-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR6-O1-Response-1-DELETE" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 DELETE&gt;</em>. <span property="dc:description">The response of the DELETE request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR6-RQ1-DELETE-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCR6-O2-Response-2-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCR6-RQ2-GET-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR6-A1-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; (<span property="dc:title">DELETE correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCR6-A2-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; &lt;Response 2 GET&gt; (<span property="dc:title">DELETE resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 200 or 204 and &lt;Response 2 GET&gt;.[Status-Line].Status-Code = 404 or 410</li>
            <li>or&nbsp;</li>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 2xx (except 200 and 204) </li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCR7" typeof="td:TestCase">
      <h3><a id="TC-R7"><span property="rdfs:label">TC-R7</span>. <span property="dc:title">HEAD on an LDPR</span></a></h3>
      <p property="dc:description">Tests making a HEAD request on an LDPR.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.7.1 LDPR servers MUST support the HTTP HEAD method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><em><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso">Hypertext Transfer Protocol - HTTP/1.1</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">9.4 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR7-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR7-RQ1-HEAD-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">HEAD &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCR7-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR7-O1-Response-1-HEAD" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 HEAD&gt;</em>. <span property="dc:description">The response of the HEAD request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR7-RQ1-HEAD-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR7-A1-Response-1-HEAD" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR7-O1-Response-1-HEAD">Assert &lt;Response 1 HEAD&gt; (<span property="dc:title">HEAD correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
            <li>[message-body] not exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCR8" typeof="td:TestCase">
      <h3><a id="TC-R8"><span property="rdfs:label">TC-R8</span>. <span property="dc:title">OPTIONS on an LDPR</span></a></h3>
      <p property="dc:description">Tests making an OPTIONS request on an LDPR.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.1 LDPR servers MUST support the HTTP OPTIONS method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.2 LDPR 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.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCR8-I1-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCR8-RQ1-OPTIONS-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">OPTIONS &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCR8-I1-LDPR-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCR8-RP1-Response-1-OPTIONS" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 OPTIONS&gt;</em>. <span property="dc:description">The response of the OPTIONS request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCR8-RQ1-OPTIONS-LDPR-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCR8-A1-Response-1-OPTIONS" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCR8-O1-Response-1-OPTIONS">Assert &lt;Response 1 OPTIONS&gt; (<span property="dc:title">OPTIONS correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx<strong> </strong></li>
            <li>[entity-header].Allow exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    </section>

    <section>
    <h2><a id="Tests-LDPCs"></a>Tests for LDPCs</h2>
    <p>These tests involve LDPCs and LDPRs.</p>

    <section resource="#TCC1" typeof="td:TestCase">
      <h3><a id="TC-C1"><span property="rdfs:label">TC-C1</span>. <span property="dc:title">GET on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a GET request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.2.8 LDPR server responses MUST use entity tags (either weak or strong ones) as response ETag header values.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.3.1 LDPR servers MUST support the HTTP GET Method for LDPRs.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.7 The representation of a LDPC MUST have rdf:type of ldp:Container, [...].</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.4 An LDPC representation MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is the ldp:membershipSubject, and whose object is the LDPC's membership subject URI.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.5 An LDPC representation MUST contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:membershipPredicate or ldp:membershipPredicateInverse. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.5.1 For a given triple T with a subject C of the LDPC and predicate of ldp:membershipPredicate, the object MUST be the URI of the membership predicate P used to indicate membership to the linked to LDPC, [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.2.5.2 For a given triple T with a subject C of the LDPC and predicate of ldp:membershipPredicateInverse, the object MUST be the URI of the membership predicate P used to indicate membership to the linked to LDPC, [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC1-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
        <li property="td:input" resource="#TCC1-I2-S-URI" typeof="tn:TestInput"><em property="dc:title">&lt;S URI&gt;</em>. <span property="dc:description">The URI of an RDF resource.</span></li>
        <li property="td:input" resource="#TCC1-I3-P-URI" typeof="tn:TestInput"><em property="dc:title">&lt;P URI&gt;</em>. <span property="dc:description">The URI of an RDF property.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The membership subject used by the LDPC is identified by  &lt;S URI&gt;</li>
        <li property="td:precondition">The membership predicate used by the LDPC is identified by  &lt;P URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC1-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC1-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC1-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC1-RQ1-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC1-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC1-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC1-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC1-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
    
<!-- RGC: Test removed since 4.3.4 is no longer an absolute requirement
    <section resource="#TCC2" typeof="td:TestCase">
      <h3><a id="TC-C2"><span property="rdfs:label">TC-C2</span>. <span property="dc:title">GET on an LDPC without content type</span></a></h3>
      <p property="dc:description">Tests making a GET request on an LDPC without content type.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.3.4 [...] If the client does not indicate a preference, text/turtle SHOULD be returned.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC2-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC2-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC2-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC2-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC2-RQ1-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC2-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC2-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[entity-header].Content-Type = text/turtle</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC2-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC2-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCC3" typeof="td:TestCase">
      <h3><a id="TC-C3"><span property="rdfs:label">TC-C3</span>. <span property="dc:title">GET on a non-existing LDPC</span></a></h3>
      <p property="dc:description">Tests making a GET request on an non-existing LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC3-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of a non-existing LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server does not contain an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC3-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC3-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC3-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC3-RQ1-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC3-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC3-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET incorrect</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 404 or 410</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCC4" typeof="td:TestCase">
      <h3><a id="TC-C4"><span property="rdfs:label">TC-C4</span>. <span property="dc:title">PUT on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><em><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso">Hypertext Transfer Protocol - HTTP/1.1</a>:</em></p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">3.11 [...] An entity tag MUST be unique across all versions of all entities associated with a particular resource.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input </h4>
      <ul>
        <li property="td:input" resource="#TCC4-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPC the current representation at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDP server does not desire that the request be applied to a different URI</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC4-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC4-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC4-RQ2-PUT-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPC URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCC4-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC4-RQ3-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC4-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC4-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC4-RQ1-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC4-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC4-RQ2-PUT-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC4-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCC4-RQ3-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC4-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A3-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A4-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A5-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC4-A6-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC4-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">LDPC updated</span>):
        <div property="dc:description">
          <ul>
            <li>[response-header].ETag != &lt;Response 1 GET&gt;.[response-header].ETag</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

<!-- RGC: Test removed since 4.5.2 is not an absolute requirement
    <section resource="#TCC5" typeof="td:TestCase">
      <h3><a id="TC-C5"><span property="rdfs:label">TC-C5</span>. <span property="dc:title">PUT on an LDPC without matching ETags</span></a></h3>
      <p property="dc:description">Tests making a PUT request on an LDPC without matching ETags.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.5.2 [...] LDPR servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC5-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows PUT</li>
        <li property="td:precondition">The LDP server allows updating in the LDPC the current representation at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC5-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC5-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC5-RQ2-PUT-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">PUT &lt;LDPC URI&gt;
          <ul>
            <li>[request-header].If-Match = &lt;Response GET 1&gt;.[response-header].ETag + 'M'</li>
            <li>[message-body] = &lt;Response GET 1&gt;.[message-body]</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCC5-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC5-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC5-RQ1-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC5-O2-Response-2-PUT" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 PUT&gt;</em>. <span property="dc:description">The response of the PUT request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC5-RQ2-PUT-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC5-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC5-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC5-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC5-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains rdf:type ldp:Container</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC5-A3-Response-2-PUT" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC5-O2-Response-2-PUT">Assert &lt;Response 2 PUT&gt; (<span property="dc:title">PUT correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 412</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
-->

    <section resource="#TCC6" typeof="td:TestCase">
      <h3><a id="TC-C6"><span property="rdfs:label">TC-C6</span>. <span property="dc:title">DELETE on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a DELETE request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.6.1 LDPR servers MUST remove the resource identified by the Request-URI. After a successful HTTP DELETE, a subsequent HTTP GET on the same Request-URI MUST result in a 404 (Not found) or 410 (Gone) status code.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC6-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows DELETE</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC6-RQ1-DELETE-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">DELETE &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC6-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC6-RQ2-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC6-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC6-O1-Response-1-DELETE" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 DELETE&gt;</em>. <span property="dc:description">The response of the DELETE request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC6-RQ1-DELETE-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC6-O2-Response-2-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC6-RQ2-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC6-A1-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; (<span property="dc:title">DELETE correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC6-A2-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC6-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; &lt;Response 2 GET&gt; (<span property="dc:title">DELETE resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 200 or 204 and &lt;Response 2 GET&gt;.[Status-Line].Status-Code = 404 or 410</li>
            <li>or&nbsp;</li>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 2xx (except 200 and 204)</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCC7" typeof="td:TestCase">
      <h3><a id="TC-C7"><span property="rdfs:label">TC-C7</span>. <span property="dc:title">DELETE on an LDPR in an LDPC</span></a></h3>
      <p property="dc:description">Tests making a DELETE request on an LDPR in an LDPC.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.6.2 When the LDPC server successfully completes the DELETE request on a LDPC, it MUST remove any membership triples associated with the LDPC as indicated by the canonical Request-URI. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC7-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
        <li property="td:input" resource="#TCC7-I2-LDPR-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR URI&gt;</em>. <span property="dc:description">The URI of an LDPR that is a member of the LDPC.</span></li>
        <li property="td:input" resource="#TCC7-I3-S-URI" typeof="tn:TestInput"><em property="dc:title">&lt;S URI&gt;</em>. <span property="dc:description">The URI of an RDF resource.</span></li>
        <li property="td:input" resource="#TCC7-I4-P-URI" typeof="tn:TestInput"><em property="dc:title">&lt;P URI&gt;</em>. <span property="dc:description">The URI of an RDF property.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDP server contains an LDPR at &lt;LDPR URI&gt;</li>
        <li property="td:precondition">The LDPR is a member of the LDPC</li>
        <li property="td:precondition">The LDPR at &lt;LDPR URI&gt; allows DELETE</li>
        <li property="td:precondition">The LDPR was originally created by the LDPC</li>
        <li property="td:precondition">The membership subject used by the LDPC is identified by  &lt;S URI&gt;</li>
        <li property="td:precondition">The membership predicate used by the LDPC is identified by  &lt;P URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC7-RQ1-DELETE-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">DELETE &lt;LDPR URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC7-I2-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC7-RQ2-GET-LDPR-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPR URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC7-I2-LDPR-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC7-RQ3-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC7-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC7-O1-Response-1-DELETE" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 DELETE&gt;</em>. <span property="dc:description">The response of the DELETE request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC7-RQ1-DELETE-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC7-O2-Response-2-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC7-RQ2-GET-LDPR-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC7-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCC7-RQ3-GET-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC7-A1-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; (<span property="dc:title">DELETE correct</span>):
          <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A2-Response-1-DELETE" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O1-Response-1-DELETE">Assert &lt;Response 1 DELETE&gt; &lt;Response 2 GET&gt; (<span property="dc:title">DELETE resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 200 or 204 and &lt;Response 2 GET&gt;.[Status-Line].Status-Code = 404 or 410</li>
            <li>or&nbsp;</li>
            <li>&lt;Response 1 DELETE&gt;.[Status-Line].Status-Code = 2xx (except 200 and 204)</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A3-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A4-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC7-A5-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC7-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">member removed from container</span>)
        <div property="dc:description">
          <ul>
            <li>[message-body] does not contain &lt;S URI&gt; &lt;P URI&gt; &lt;LDPR URI&gt; .</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCC8" typeof="td:TestCase">
      <h3><a id="TC-C8"><span property="rdfs:label">TC-C8</span>. <span property="dc:title">HEAD on an LDPC</span></a></h3>
      <p property="dc:description">Tests making a HEAD request on an LDPC.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.7.1 LDPR servers MUST support the HTTP HEAD method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <p><a target="_blank" href="http://tools.ietf.org/html/rfc2616" property="rdfs:seeAlso"><em>Hypertext Transfer Protocol - HTTP/1.1</em></a>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">9.4 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.</span><span property="rdfs:seeAlso" href="http://tools.ietf.org/html/rfc2616"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC8-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC8-RQ1-HEAD-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">HEAD &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC8-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC8-O1-Response-1-HEAD" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 HEAD&gt;</em>. <span property="dc:description">The response of the HEAD request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC8-RQ1-HEAD-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC8-A1-Response-1-HEAD" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC8-O1-Response-1-HEAD">Assert &lt;Response 1 HEAD&gt; (<span property="dc:title">HEAD correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
            <li>[message-body] not exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>

    <section resource="#TCC9" typeof="td:TestCase">
      <h3><a id="TC-C9"><span property="rdfs:label">TC-C9</span>. <span property="dc:title">POST an LDPR on an LDPC</a></h3>
      <p property="dc:description">Tests making a POST request of an LDPR on an LDPC.</p>
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
          <div><span property="tn:includesText">4.2.10 LDPR servers 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 resource's HTTP Request-URI. [...]</span><span
              property="rdfs:seeAlso"
              href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.1 [...] If the resource was created successfully, LDPC servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. [...] </span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.2 After a successful HTTP POST request to a LDPC, the new resource MUST appear as a member of the LDPC until the new resource is deleted or removed by other methods. [...] </span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.4 For servers that support create, LDPC servers MUST create an LDPR from a RDF representation in the request entity body. [...]</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">5.4.5 LDPC servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle. </span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC9-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
        <li property="td:input" resource="#TCC9-I2-LDPR-REP" typeof="tn:TestInput"><em property="dc:title">&lt;LDPR representation&gt;</em>. <span property="dc:description">The representation of the LDPR to be created</span></li>
        <li property="td:input" resource="#TCC9-I3-S-URI" typeof="tn:TestInput"><em property="dc:title">&lt;S URI&gt;</em>. <span property="dc:description">The URI of an RDF resource.</span></li>
        <li property="td:input" resource="#TCC9-I4-P-URI" typeof="tn:TestInput"><em property="dc:title">&lt;P URI&gt;</em>. <span property="dc:description">The URI of an RDF property.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
        <li property="td:precondition">The LDPC at &lt;LDPC URI&gt; allows POST</li>
        <li property="td:precondition">The LDP server does not desire to direct the user agent to retrieve a cacheable resource</li>
        <li property="td:precondition">&lt;LDPR representation&gt; is in text/turtle</li>
        <li property="td:precondition">&lt;LDPR representation&gt; is a valid representation for a resource to be created in the LDPC</li>
        <li property="td:precondition">&lt;LDPR representation&gt; uses null relative URI as the entity in the request body</li>
        <li property="td:precondition">The membership subject used by the LDPC is identified by  &lt;S URI&gt;</li>
        <li property="td:precondition">The membership predicate used by the LDPC is identified by  &lt;P URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ1-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC9-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ2-POST-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">POST &lt;LDPC URI&gt;
          <ul>
            <li>[entity-header].Content-type = text/turtle</li>
            <li>[message-body] = &lt;LDPR representation&gt;</li>
          </ul>
        </div>
        <span property="tn:usesInput" resource="#TCC9-I1-LDPC-URI"> </span>
        <span property="tn:usesInput" resource="#TCC9-I2-LDPR-REP"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ3-GET-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;LDPC URI&gt;</div>
        <span property="tn:usesInput" resource="#TCC9-I1-LDPC-URI"> </span>
        </li>
        <li inlist="" property="tn:testProcess" resource="#TCC9-RQ4-GET-LOC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">GET &lt;Response 2 POST&gt;.[response-header].Location</div>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC9-O1-Response-1-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ1-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC9-O2-Response-2-POST" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 2 POST&gt;</em>. <span property="dc:description">The response of the POST request in step 2.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ2-POST-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC9-O3-Response-3-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 3 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 3.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ3-GET-LDPC-URI">
          </span>
        </li>
        <li property="td:output" resource="#TCC9-O4-Response-4-GET" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 4 GET&gt;</em>. <span property="dc:description">The response of the GET request in step 4.</span> 
          <span property="tn:fromStep" resource="#TCC9-RQ4-GET-LOC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC9-A1-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A2-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A3-Response-1-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O1-Response-1-GET">Assert &lt;Response 1 GET&gt; (<span property="dc:title">container does not have member</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] does not contain &lt;S URI&gt; &lt;P URI&gt; &lt;Response 2
              POST&gt;.[response-header].Location .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A4-Response-2-POST" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O2-Response-2-POST">Assert &lt;Response 2 POST&gt; (<span property="dc:title">POST correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 201</li>
            <li>[response-header].Location exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A5-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A6-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">GET container correct</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;LDPC URI&gt; rdf:type ldp:Container .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipSubject &lt;S URI&gt; .</li>
            <li>[message-body] contains &lt;LDPC URI&gt; ldp:membershipPredicate &lt;P URI&gt; . or &lt;LDPC URI&gt; ldp:membershipPredicateInverse &lt;P URI&gt; .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A7-Response-3-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O3-Response-3-GET">Assert &lt;Response 3 GET&gt; (<span property="dc:title">container has member</span>):
        <div property="dc:description">
          <ul>
            <li>[message-body] contains &lt;S URI&gt; &lt;P URI&gt; &lt;Response 2 POST&gt;.[response-header].Location .</li>
          </ul>
        </div>
        </div></li>
        <li property="tn:testAssertion" resource="#TCC9-A8-Response-4-GET" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC9-O4-Response-4-GET">Assert &lt;Response 4 GET&gt; (<span property="dc:title">GET resource correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx</li>
            <li>[response-header].ETag exists</li>
            <li>[response-header].Link = ldp:Resource; rel="type"</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
    
    <section resource="#TCC10" typeof="td:TestCase">
      <h3><a id="TC-C10"><span property="rdfs:label">TC-C10</span>. <span property="dc:title">OPTIONS on an LDPC</span></a></h3>
      <p property="dc:description">Tests making an OPTIONS request on an LDPC.</p>            
      <p property="dc:contributor" resource="#RaulGarciaCastro" typeof="foaf:Person"><strong>Contributor: </strong> <span          property="rdfs:label">Raúl García-Castro</span> <span property="owl:sameAs" href="http://delicias.dia.fi.upm.es/%7Ergarcia/#me"></span></p>
      <p property="td:reviewStatus" resource="td:unreviewed" typeof="td:ReviewStatus"><strong>Status: </strong>Unreviewed</p>
      <h4>Related specification</h4>
      <p><em><a target="_blank" href="http://www.w3.org/TR/ldp/" property="rdfs:seeAlso">Linked Data Platform 1.0</a></em>:</p>
      <ul>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.1 LDPR servers MUST support the HTTP OPTIONS method.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
        <li property="td:specificationReference" typeof="tn:Excerpt">
        <div><span property="tn:includesText">4.9.2 LDPR 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.</span><span property="rdfs:seeAlso" href="http://www.w3.org/TR/ldp/"></span></div>
        </li>
      </ul>
      <h4>Input</h4>
      <ul>
        <li property="td:input" resource="#TCC10-I1-LDPC-URI" typeof="tn:TestInput"><em property="dc:title">&lt;LDPC URI&gt;</em>. <span property="dc:description">The URI of an LDPC.</span></li>
      </ul>
      <h4>Preconditions</h4>
      <ul>
        <li property="td:precondition">The LDP server contains an LDPC at &lt;LDPC URI&gt;</li>
      </ul>
      <h4>Process</h4>
      <ol>
        <li inlist="" property="tn:testProcess" resource="#TCC10-RQ1-OPTIONS-LDPC-URI" typeof="tn:Step ht:Request">
        <div property="dc:description">OPTIONS &lt;LDPC URI&gt;
        </div>
        <span property="tn:usesInput" resource="#TCC10-I1-LDPC-URI"> </span>
        </li>
      </ol>
      <h4>Output</h4>
      <ul>
        <li property="td:output" resource="#TCC10-RP1-Response-1-OPTIONS" typeof="tn:TestOutput ht:Response"><em property="dc:title">&lt;Response 1 OPTIONS&gt;</em>. <span property="dc:description">The response of the OPTIONS request in step 1.</span> 
          <span property="tn:fromStep" resource="#TCC10-RQ1-OPTIONS-LDPC-URI">
          </span>
        </li>
      </ul>
      <h4>Assertions</h4>
      <ul>
        <li property="tn:testAssertion" resource="#TCC10-A1-Response-1-OPTIONS" typeof="tn:TestAssertion"><div property="tn:outputAsserted" resource="TCC10-O1-Response-1-OPTIONS">Assert &lt;Response 1 OPTIONS&gt; (<span property="dc:title">OPTIONS correct</span>):
        <div property="dc:description">
          <ul>
            <li>[Status-Line].Status-Code = 2xx<strong> </strong></li>
            <li>[entity-header].Allow exists</li>
          </ul>
        </div>
        </div></li>
      </ul>
    </section>
    
    </section>
    
    <section class="appendix">
    <h2><a id="ChangeHistory">Change history</a></h2>
    <ul>
      <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>
    
    <section class="appendix">
    <h2><a id="EditorNotes">Editor TODOs and notes</a></h2>
    <ul>
      <li>Define the type of document: Working Draft, Note, etc.</li>
      <li>Choose a URI for the test cases (this) document</li>
      <li>Choose a namespace for the new vocabulary terms and for the test cases</li>
      <li>Include the RDF description of the test suite</li>
    </ul>
    </section>
  </body>
</html>
\ No newline at end of file