Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand

3.1 General (Jared Whiklo)

  • Empty section

3.1.1 LDP Containers

  • (tick) MUST be able to create LDP Containers: Tested in 3.3
  • (tick)  MUST distinguish between triple types OR MUST return 409 with constrainedBy Link in headers for ldp:contains membership predicate if server cannot distinguish between triple types
    • We return a 409 because we can't distinguish and therefore the next 2 tests are not applicable.
  • (minus) MAY permit ldp:contains membership predicate if server can distinguish between triple types
  • (minus) SHOULD allow Prefer header in request to distinguish triple types if server can distinguish triple types

3.1.2 LDP-NR creation

  • (error) SHOULD create an LDP-NR if creation request includes NonRDFSource type Link in headers, regardless of Content-Type headers

3.2 HTTP GET

  • (tick) MUST return describes Link to LDP-NR if request is to associated LDP-RS

3.2.1 Additional values for the Prefer header

3.2.2 LDP-RSs

  • (tick) MUST return Preference-Applied header if request's Prefer header is honored (Always applied)

3.2.3 LDP-NRs

  • (tick) MUST return Digest header as directed by request's Want-Digest header

3.3 HTTP HEAD

  • (tick) MUST NOT return a body
  • (error) SHOULD return same headers as if the request was a GET
  • (tick) MUST return a Digest header if the same request as a GET would have
  • (error) MAY omit payload headers from response

3.4 HTTP OPTIONS (Yinlin Chen)

  • (tick) Any LDPR must support OPTIONS per [LDP] 4.2.8. 4.2. LDP servers must support the HTTP OPTIONS method. 

  • (tick) Any LDPR must support OPTIONS per [LDP] 4.2.8. LD 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 respons header Allow. 

3.5 HTTP POST

  • (tick) MUST be supported on LDP Collections
  • (error) MUST include default interaction model in constrainedBy Link header
    • LDP-RS only, LDP-NR does not return correct Link header
  • (tick) MUST support creation of LDP-NRs
  • (tick) MUST create and associate an LDP-RS when an LDP-NR is created

3.5.1 LDP-NRs

  • (tick) MUST return 409 if request Digest header does not match calculated value for content of new LDP-NR
  • (tick) SHOULD return 400 if request Digest header's type is not supported (Should 'type' be 'algorithm', like the RFC?)

3.6 HTTP PUT

  • (question) MAY include type Link header in request
  • (question) MUST return 409 if request's type Link is not resource's current type or subtype thereof, or not in LDP namespace
  • (question) MUST change resource's type if request's type Link is a subtype of resource's current type
  • (question) MUST change resource's interaction model if request's type Link has an LDP interaction model

3.6.1 LDP-RSs

  • (question) MUST be supported on LDP-RSs for non-server-managed triples
  • (question) MUST return 4xx (409), with more info in body and constrainedBy Link in headers if request modifies server-managed triples (Are triples different than resource statements?) on a LDP-RS

3.6.2 LDP-NRs

  • (question) MUST be supported on LDP-NRs to replace binary content
  • (question) MUST return 409 if request Digest header does not match calculated value for new content of target LDP-NR
  • (question) SHOULD return 400 if request Digest header's type is not supported (Should 'type' be 'algorithm', like the RFC?)

3.6.3 Creating resources with HTTP PUT

  • Non-normative section

3.7 HTTP PATCH (Jared Whiklo)

  • (tick) MUST be supported on LDP-RSs
  • (tick) MUST support sparqlupdate
  • (question) MAY support other update types
  • (question) MUST return 4xx (409), with more info in body and constrainedBy Link in headers when modifying protected resource statements
  • (tick) MUST return 2xx if successful

3.7.1 Interaction models

  • (warning) MUST return 409 when modifying the interaction model to a type that is not a subtype of the current type (LDP-NR to LDP-RS or opposite?)
    • I can add an rdf:type of ldp:NonRDFSource to an existing ldp:RDFSource, but I cannot remove the ldp:RDFSource type

3.8 HTTP DELETE (Yinlin Chen)

  • (warning) MAY be supported
  • (tick) An implementation that cannot recurse should not adverti DELETE in response to OPTIONS requests for container with contained resources. 
  • (tick) An implementation must not return a 200 (OK) or 204 (N Content) response unless the entire operation successfully completed. 
  • (tick) An implementation must not emit a message that implies successful DELETE of a resource until the resource has b successfully removed. 

3.8.1 Depth header

  • (tick) MUST support a Depth header in the request, if DELETE is implemented
  • (question) MAY support only certain Depth header values: (How to query?)
  • (question) MUST return 400 if request includes Depth header and unsupported Depth header value: (How to query?)
  • (question) MUST use LDP containment relations for recursive deletion, if recursive deletion is supported: (How to query?)

3.9 External Binary Content

  • (question) MUST return message/external-body in Accept-Post header (for each supported access-type param of supported Content-Types) if external binary content is supported (In response to what?)
  • (question) MUST return 415 for LDP-NR create or update if request has message/external-body and an unsupported access-type, or if external binary content is not supported
  • (question) MUST NOT accept request (return 4xx???) for LDP-NR create or update if request has message/external-body and the server cannot return all the required response headers
  • (question) SHOULD return a Content-Location header for LDP-NR GET or HEAD (read? to match create or update above) with a URI to the content if the server is proxying: (How to query for proxying?)
  • (question) MAY support an expiration parameter (for LDP-NR create or update?) if the request has a message/external-body Content-Type header
  • (question) SHOULD copy content (for LDP-NR create or update?) if the request has a message/external-body Content-Type header and the expiration parameter is set
  • (question) MUST return 4xx or 5xx (for LDP-NR create or update?) if the request has a message/external-body Content-Type header and the expiration parameter cannot be accommodated
  • (tick) MUST return a contrainedBy Link header (for LDP-NR create or update?) if the response status is 4xx: Tested in 3.2 and 3.3

3.9.1 Referenced RDF content in mandataory LDP serializations

  • Non-normative section

3.8.2 Proxied content vs. redirected content

  • Non-normative section

...