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

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.2.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.3

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

  • (error) MAY support PreferContainedDescriptions URI in Prefer header
  • (question) SHOULD support PreferInboundReferences URI in 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.5 HTTP POST

  • (tick) MUST be supported on LDP Collections
  • (error)(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.35.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.

4

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.46.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.46.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.4.3 Creating resources with HTTP PUT

  • Non-normative section

3.5 HTTP GET

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

3.5.1 Additional values for the Prefer header

  • (error) MAY support PreferContainedDescriptions URI in Prefer header
  • (question) SHOULD support PreferInboundReferences URI in Prefer header

3.5.2 LDP-RSs

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

3.5.3 LDP-NRs

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

3.6 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.7

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

  • (warning) MAY be supported

3.78.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.

8

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.89.1 Referenced RDF content in mandataory LDP serializations

  • Non-normative section

3.8.2 Proxied content vs. redirected content

  • Non-normative section

...