You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Fedora API Spec and Delta Document Verification


3 Resource Management

3.1 General

  • Empty section

3.1.1 LDP-NR creation

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

3.1.2 LDP Containers

  • MUST be able to create LDP Containers: Tested in 3.3, working
  • MUST distinguish between triple types: Untested
  • MUST return 409 with constrainedBy Link in headers for ldp:contains membership predicate if server cannot distinguish between triple types (Contradictory?): Untested
  • MAY permit ldp:contains membership predicate if server can distinguish between triple types: Untested
  • SHOULD allow Prefer header in request to distinguish triple types if server can distinguish triple types: Untested

3.2 HTTP PATCH

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

3.2.1 Interaction models

  • 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?): Untested

3.3 HTTP POST

  • MUST be supported on LDP Collections: Tested, working
  • MUST include default interaction model in constrainedBy Link header: Untested
  • MUST support creation of LDP-NRs: Tested, working
  • MUST create and associate an LDP-RS when an LDP-NR is created: Tested, working

3.3.1 LDP-NRs

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

3.4 HTTP PUT

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

3.4.1 LDP-RSs

  • MUST be supported on LDP-RSs for non-server-managed triples: Untested
  • 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: Untested

3.4.2 LDP-NRs

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

3.4.3 Creating resources with HTTP PUT

  • Non-normative section

3.5 HTTP GET

  • MUST return describes Link to LDP-NR if request is to associated LDP-RS: Tested, working

3.5.1 Additional values for the Prefer header

  • MAY support PreferContainedDescriptions URI in Prefer header: Tested, NOT WORKING
  • SHOULD support PreferInboundReferences URI in Prefer header: Untested

3.5.2 LDP-RSs

  • MUST return Preference-Applied header if request's Prefer header is honored: Tested, working

3.5.3 LDP-NRs

  • MUST return Digest header as directed by request's Want-Digest header: Tested, working

3.6 HTTP HEAD

  • MUST NOT return a body: Tested, working
  • SHOULD return same headers as if the request was a GET: Tested, working
  • MUST return a Digest header if the same request as a GET would have: Tested, working
  • MAY omit payload headers from response: Untested

3.7 HTTP DELETE

  • MAY be supported: Untested

3.7.1 Depth header

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

3.8 External Binary Content

  • 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?): Untested
  • 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: Untested
  • 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: Untested
  • 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: Untested (How to query for proxying?)
  • MAY support an expiration parameter (for LDP-NR create or update?) if the request has a message/external-body Content-Type header: Untested
  • 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: Untested
  • 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: Untested
  • 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.8.1 Referenced RDF content in mandataory LDP serializations

  • Non-normative section

3.8.2 Proxied content vs. redirected content

  • Non-normative section

4 Versioning


5 Resource Authorization


6 Notifications


7 Binary Resource Fixity

  • No labels