LDP Test Suite Summary

Overall Coverage Bar Charts

Passed TestsFailed TestsSkipped Tests</svg>
DirectContainerTestNonRDFSourceTestBasicContainerTestIndirectContainerTestMemberResourceTest</svg>

Test Suite NameRevisionReport DateSkipped TestsMUST RequirementsSHOULD RequirementsMAY Requirements
W3C Linked Data Platform Test Suitebfcba1bMon May 02 11:50:56 CEST 2016(37/236) of the total tests.127/156 Passed
0/156 Failed
29/156 Skipped
53/61 Passed
0/61 Failed
8/61 Skipped
17/19 Passed
2/19 Failed
0/19 Skipped

Included Groups for W3C Linked Data Platform Test Suite

Excluded Groups for W3C Linked Data Platform Test Suite

No groups of this type found in the test suite

Methods called

Go To Skipped Tests
Go To Passed Tests
Go To Indirect Tests

Failed Test CasesGroupsDescription of Test Method
NonRDFSource-PostResourceGetMetadataAndBinary[MAY]Each LDP Non-RDF Source must also be a conforming LDP Resource. LDP Non-RDF Sources may not be able to fully express their state using RDF.
NonRDFSource-PostResourceAndCheckAssociatedResource[MAY]Upon successful creation of an LDP-NR (HTTP status code of 201-Created and URI indicated by Location response header), LDP servers may create an associated LDP-RS to contain data about the newly created LDP-NR. If a LDP server creates this associated LDP-RS it must indicate its location on the HTTP response using the HTTP Link response header with link relation describedby and href to be the URI of the associated LDP-RS resource.

Back to Top


Skipped Test CasesGroupsDescription of Test Method
MemberResource-ReUseVocabularies[MANUAL, SHOULD]LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.
IndirectContainer-UseStandardVocabularies[MANUAL, SHOULD]LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.
DirectContainer-PutReplacesResource[MUST]If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.
IndirectContainer-PutReplacesResource[MUST]If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.
NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource[MUST]When a contained LDPR is deleted, and the LDPC server created anassociated LDP-RS (see the LDPC POST section), the LDPC server must alsodelete the associated LDP-RS it created.
IndirectContainer-RelativeUriResolutionPut[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
BasicContainer-PutReplacesResource[MUST]If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.
IndirectContainer-ReUseVocabularies[MANUAL, SHOULD]LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.
BasicContainer-ReUseVocabularies[MANUAL, SHOULD]LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.
DirectContainer-IsHttp11Manual[MANUAL, MUST]LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].
DirectContainer-UseStandardVocabularies[MANUAL, SHOULD]LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.
MemberResource-RestrictClientInference[MANUAL, MUST]LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.
DirectContainer-RelativeUriResolutionPut[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
DirectContainer-PutSimpleUpdate[MUST]LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.
NonRDFSource-IsHttp11Manual[MANUAL, MUST]LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].
BasicContainer-RelativeUriResolutionPut[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
NonRDFSource-OptionsHasSameLinkHeader[MUST]When responding to requests whose request-URI is a LDP-NR with anassociated LDP-RS, a LDPC server must provide the same HTTP Link responseheader as is required in the create response
IndirectContainer-PutSimpleUpdate[MUST]LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.
IndirectContainer-RestrictClientInference[MANUAL, MUST]LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.
MemberResource-IsHttp11Manual[MANUAL, MUST]LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].
MemberResource-UseStandardVocabularies[MANUAL, SHOULD]LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.
BasicContainer-PutSimpleUpdate[MUST]LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.
DirectContainer-RestrictClientInference[MANUAL, MUST]LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.
IndirectContainer-IsHttp11Manual[MANUAL, MUST]LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].
BasicContainer-RestrictClientInference[MANUAL, MUST]LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.
DirectContainer-ReUseVocabularies[MANUAL, SHOULD]LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.
BasicContainer-UseStandardVocabularies[MANUAL, SHOULD]LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.
BasicContainer-IsHttp11Manual[MANUAL, MUST]LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].

Back to Top


Passed Test CasesGroupsDescription of Test Method
BasicContainer-Head[MUST]LDP servers MUST support the HTTP HEAD method.
NonRDFSource-ETagHeadersGet[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
BasicContainer-NullRelativeUriPost[MUST]In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource.
DirectContainer-AcceptPostResponseHeader[MUST]LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server.
BasicContainer-PutToCreate[MAY]LDP servers MAY choose to allow the creation of new resources using HTTP PUT.
DirectContainer-AcceptPatchHeader[MUST]LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.
MemberResource-JsonLdRepresentation[MUST] LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].
IndirectContainer-PostJsonLd[MUST]LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD].
DirectContainer-OptionsAllowHeader[MUST]LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.
MemberResource-4xxErrorHasResponseBody[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.
DirectContainer-ConditionFailedStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
IndirectContainer-GetResponseHeaders[MUST]LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.
MemberResource-ContainsRdfType[SHOULD]LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.
BasicContainer-RejectPutModifyingContainmentTriples[SHOULD]LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code.
DirectContainer-GetResource[MUST]LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.
BasicContainer-GetResourceAsTurtleNoAccept[SHOULD]LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].
IndirectContainer-PreferContainmentTriples[SHOULD]LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].
BasicContainer-AcceptTurtle[MUST]LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle].
IndirectContainer-PublishConstraintsUnknownProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
IndirectContainer-GetResource[MUST]LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.
DirectContainer-MemberResourceTriple[MUST]Each LDP Direct Container representation MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is the ldp:membershipResource, and whose object is the LDPC's membership-constant-URI. Commonly the LDPC's URI is the membership-constant-URI, but LDP does not require this.
IndirectContainer-ContentTypeHeader[SHOULD]LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body.
DirectContainer-RestrictUriReUseSlug[SHOULD]LDP servers that allow member creation via POST SHOULD NOT re-use URIs.
IndirectContainer-ETagHeadersGet[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
DirectContainer-PreferContainmentTriples[SHOULD]LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].
IndirectContainer-ContainsRdfType[SHOULD]LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.
DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists[MUST]Each LDP Direct Container representation must contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:hasMemberRelation or ldp:isMemberOfRelation. The object of the triple is constrained by other sections, such as ldp:hasMemberRelation or ldp:isMemberOfRelation, based on the membership triple pattern used by the container.
BasicContainer-DeleteRemovesContainmentTriple[MUST]When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple.
BasicContainer-PutRequiresIfMatch[SHOULD]LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.
NonRDFSource-PutBadETag[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
BasicContainer-RestrictUriReUseNoSlug[SHOULD]LDP servers that allow member creation via POST SHOULD NOT re-use URIs.
IndirectContainer-RestrictUriReUseSlug[SHOULD]LDP servers that allow member creation via POST SHOULD NOT re-use URIs.
BasicContainer-ETagHeadersGet[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
DirectContainer-NoRdfBagSeqOrList[SHOULD]LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List.
BasicContainer-PutReadOnlyProperties4xxStatus[MUST]If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)
IndirectContainer-RejectPutModifyingContainmentTriples[SHOULD]LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code.
MemberResource-ConditionFailedStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
DirectContainer-CreateWithoutConstraints[SHOULD]LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
BasicContainer-CreateWithoutConstraints[SHOULD]LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
DirectContainer-PostResourceUpdatesTriples[MUST]When a successful HTTP POST request to an LDPC results in the creation of an LDPR, the LDPC MUST update its membership triples to reflect that addition, and the resulting membership triple MUST be consistent with any LDP-defined predicates it exposes.
IndirectContainer-NullRelativeUriPost[MUST]In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource.
BasicContainer-RdfTypeLdpContainer[MAY]The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS.
DirectContainer-RestrictUriReUseNoSlug[SHOULD]LDP servers that allow member creation via POST SHOULD NOT re-use URIs.
IndirectContainer-PutToCreate[MAY]LDP servers MAY choose to allow the creation of new resources using HTTP PUT.
DirectContainer-NullRelativeUriPost[MUST]In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource.
IndirectContainer-ConditionFailedStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
IndirectContainer-PutPropertiesNotPersisted[MUST]If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].
MemberResource-ResponsePropertiesNotPersisted[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
DirectContainer-DeleteResourceUpdatesTriples[MUST]When an LDPR identified by the object of a membership triple which was originally created by the LDP-DC is deleted, the LDPC server MUST also remove the corresponding membership triple.
BasicContainer-PostJsonLd[MUST]LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD].
NonRDFSource-PostResourceAndGetFromContainer[MAY]LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources.
MemberResource-PreconditionRequiredStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
DirectContainer-GetResourceAcceptTurtle[MUST]LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].
NonRDFSource-ConditionFailedStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
DirectContainer-RejectPutModifyingContainmentTriples[SHOULD]LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code.
MemberResource-GetResource[MUST]LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.
NonRDFSource-GetResponseHeaders[MUST]LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.
MemberResource-PutReadOnlyProperties4xxStatus[MUST]If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)
DirectContainer-PostNoSlug[SHOULD]LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint.
DirectContainer-PreferMembershipTriples[SHOULD]LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].
MemberResource-PutReplacesResource[MUST]If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.
DirectContainer-GetResourceAsTurtleNoAccept[SHOULD]LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].
IndirectContainer-JsonLdRepresentation[MUST] LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].
DirectContainer-ServerHonorsSlug[MAY]LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI.
DirectContainer-PutToCreate[MAY]LDP servers MAY choose to allow the creation of new resources using HTTP PUT.
BasicContainer-JsonLdRepresentation[MUST] LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].
IndirectContainer-ETagHeadersHead[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
IndirectContainer-PutReadOnlyProperties4xxStatus[MUST]If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)
BasicContainer-GetResource[MUST]LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.
IndirectContainer-DeleteRemovesContainmentTriple[MUST]When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple.
DirectContainer-ActAsIfInsertedContentRelationTripleExists[MUST]LDP Direct Containers MUST behave as if they have a (LDPC URI, ldp:insertedContentRelation , ldp:MemberSubject) triple, but LDP imposes no requirement to materialize such a triple in the LDP-DC representation.
MemberResource-PutBadETag[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
BasicContainer-OptionsAllowHeader[MUST]LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.
MemberResource-PutSimpleUpdate[MUST]LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.
BasicContainer-ContentTypeHeader[SHOULD]LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body.
BasicContainer-PatchMethod[SHOULD]LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples.
MemberResource-PutRequiresIfMatch[SHOULD]LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.
NonRDFSource-PostResourceGetBinary[MAY]LDP servers may host a mixture of LDP-RSs and LDP-NRs. For example, it is common for LDP servers to need to host binary or text resources that do not have useful RDF representations.
IndirectContainer-OptionsAllowHeader[MUST]LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.
IndirectContainer-Head[MUST]LDP servers MUST support the HTTP HEAD method.
MemberResource-GetResponseHeaders[MUST]LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.
IndirectContainer-4xxErrorHasResponseBody[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.
NonRDFSource-PostResourceAndCheckLink[MAY]LDP servers exposing an LDP Non-RDF Source may advertise this by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#NonRDFSource, and a link relation type of type (that is, rel='type') in responses to requests made to the LDP-NR's HTTP Request-URI.
DirectContainer-AcceptTurtle[MUST]LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle].
MemberResource-LdpLinkHeader[MUST]LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.
NonRDFSource-Head[MUST]LDP servers MUST support the HTTP HEAD method.
IndirectContainer-PostNoSlug[SHOULD]LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint.
IndirectContainer-PatchMethod[SHOULD]LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples.
IndirectContainer-GetResourceAcceptTurtle[MUST]LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].
IndirectContainer-AcceptPatchHeader[MUST]LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.
BasicContainer-ConditionFailedStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
MemberResource-PutPropertiesNotPersisted[MUST]If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].
MemberResource-ETagHeadersHead[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
DirectContainer-PreconditionRequiredStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
DirectContainer-DeleteRemovesContainmentTriple[MUST]When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple.
DirectContainer-Head[MUST]LDP servers MUST support the HTTP HEAD method.
DirectContainer-RelativeUriResolutionPost[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
BasicContainer-ContainsRdfType[SHOULD]LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.
DirectContainer-HttpLinkHeader[MUST]LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI.
BasicContainer-AcceptPatchHeader[MUST]LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.
IndirectContainer-RequestedInteractionModelHeaders[MUST]LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.
BasicContainer-ETagHeadersHead[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
IndirectContainer-AcceptTurtle[MUST]LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle].
BasicContainer-PostNoSlug[SHOULD]LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint.
BasicContainer-RestrictUriReUseSlug[SHOULD]LDP servers that allow member creation via POST SHOULD NOT re-use URIs.
NonRDFSource-AcceptPatchHeader[MUST]LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.
IndirectContainer-ResponsePropertiesNotPersisted[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
DirectContainer-PostJsonLd[MUST]LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD].
IndirectContainer-CreateWithoutConstraints[SHOULD]LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
MemberResource-ETagHeadersGet[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
BasicContainer-PublishConstraintsReadOnlyProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
DirectContainer-RequestedInteractionModelHeaders[MUST]LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.
IndirectContainer-PostResource
WG Approval Pending
[MUST]LDPCs whose ldp:insertedContentRelation triple has an object other than ldp:MemberSubject and that create new resources MUST add a triple to the container whose subject is the container's URI, whose predicate is ldp:contains, and whose object is the newly created resource's URI (which will be different from the member-derived URI in this case). This ldp:contains triple can be the only link from the container to the newly created resource in certain cases.
DirectContainer-PutRequiresIfMatch[SHOULD]LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.
BasicContainer-ContainerSupportsHttpLinkHeader[MUST]LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI.
IndirectContainer-GetResourceAsTurtleNoAccept[SHOULD]LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].
NonRDFSource-LdpLinkHeader[MUST]LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.
NonRDFSource-PutRequiresIfMatch[SHOULD]LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.
IndirectContainer-PublishConstraintsReadOnlyProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
BasicContainer-PreferContainmentTriples[SHOULD]LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].
IndirectContainer-PostContainer[MUST]When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC.
DirectContainer-PublishConstraintsReadOnlyProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
DirectContainer-PostResponseStatusAndLocation[MUST]If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response.
MemberResource-PublishConstraintsReadOnlyProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
IndirectContainer-PutBadETag[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
DirectContainer-PutPropertiesNotPersisted[MUST]If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].
DirectContainer-ETagHeadersHead[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
NonRDFSource-ETagHeadersHead[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
BasicContainer-GetResourceAcceptTurtle[MUST]LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].
BasicContainer-RelativeUriResolutionPost[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
NonRDFSource-OptionsAllowHeader[MUST]LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.
MemberResource-GetResourceAcceptTurtle[MUST]LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].
DirectContainer-RestrictPutReUseUri[SHOULD]LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts].
NonRDFSource-PreconditionRequiredStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
BasicContainer-4xxErrorHasResponseBody[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.
IndirectContainer-ServerHonorsSlug[MAY]LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI.
BasicContainer-GetResponseHeaders[MUST]LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.
DirectContainer-JsonLdRepresentation[MUST] LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].
IndirectContainer-ContainerSupportsHttpLinkHeader[MUST]LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI.
MemberResource-OptionsAllowHeader[MUST]LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.
IndirectContainer-NoRdfBagSeqOrList[SHOULD]LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List.
IndirectContainer-RestrictUriReUseNoSlug[SHOULD]LDP servers that allow member creation via POST SHOULD NOT re-use URIs.
DirectContainer-TypeRdfSource[MAY]The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.
DirectContainer-ResponsePropertiesNotPersisted[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
DirectContainer-RequestedInteractionModelCreateNotAllowed[MUST]LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.
BasicContainer-PutPropertiesNotPersisted[MUST]If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].
BasicContainer-AcceptPostResponseHeader[MUST]LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server.
IndirectContainer-PostResponseStatusAndLocation[MUST]If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response.
DirectContainer-4xxErrorHasResponseBody[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.
MemberResource-RelativeUriResolutionPut[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
DirectContainer-PublishConstraintsUnknownProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
BasicContainer-NoRdfBagSeqOrList[SHOULD]LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List.
BasicContainer-PublishConstraintsUnknownProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
BasicContainer-RequestedInteractionModelCreateNotAllowed[MUST]LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.
BasicContainer-TypeRdfSource[MAY]The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.
DirectContainer-PostContainer[MUST]When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC.
BasicContainer-PreconditionRequiredStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
DirectContainer-GetResponseHeaders[MUST]LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.
IndirectContainer-PreconditionRequiredStatusCode[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
IndirectContainer-Options[MUST]LDP servers MUST support the HTTP OPTIONS method.
MemberResource-Head[MUST]LDP servers MUST support the HTTP HEAD method.
DirectContainer-PutReadOnlyProperties4xxStatus[MUST]If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)
DirectContainer-LdpLinkHeader[MUST]LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.
IndirectContainer-AcceptPostResponseHeader[MUST]LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server.
NonRDFSource-Options[MUST]LDP servers MUST support the HTTP OPTIONS method.
MemberResource-GetResourceAsTurtleNoAccept[SHOULD]LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].
DirectContainer-Options[MUST]LDP servers MUST support the HTTP OPTIONS method.
MemberResource-TypeRdfSource[MAY]The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.
BasicContainer-LdpLinkHeader[MUST]LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.
DirectContainer-ContentTypeHeader[SHOULD]LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body.
DirectContainer-PutBadETag[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
MemberResource-AcceptPatchHeader[MUST]LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.
IndirectContainer-TypeRdfSource[MAY]The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.
BasicContainer-ServerHonorsSlug[MAY]LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI.
DirectContainer-ContainsRdfType[SHOULD]LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.
IndirectContainer-RestrictPutReUseUri[SHOULD]LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts].
IndirectContainer-RequestedInteractionModelCreateNotAllowed[MUST]LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.
IndirectContainer-RelativeUriResolutionPost[MUST]LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.
IndirectContainer-LdpLinkHeader[MUST]LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.
NonRDFSource-PostNonRDFSource[MAY]LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources.
IndirectContainer-ContainerHasInsertedContentRelation
WG Approval Pending
[MUST]LDP Indirect Containers MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is ldp:insertedContentRelation, and whose object ICR describes how the member-derived-URI in the container's membership triples is chosen.
BasicContainer-PutBadETag[MUST]LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].
IndirectContainer-PutRequiresIfMatch[SHOULD]LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.
IndirectContainer-RdfTypeLdpContainer[MAY]The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS.
DirectContainer-UseMemberPredicate[ldpMember, SHOULD]LDP Direct Containers SHOULD use the ldp:member predicate as an LDPC's membership predicate if there is no obvious predicate from an application vocabulary to use.
DirectContainer-PatchMethod[SHOULD]LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples.
NonRDFSource-GetResource[MUST]LDP servers MUST support the HTTP GET Method for LDPRs
BasicContainer-ResponsePropertiesNotPersisted[SHOULD]LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.
BasicContainer-PostResponseStatusAndLocation[MUST]If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response.
MemberResource-Options[MUST]LDP servers MUST support the HTTP OPTIONS method.
DirectContainer-ETagHeadersGet[MUST]LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.
BasicContainer-RestrictPutReUseUri[SHOULD]LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts].
MemberResource-PublishConstraintsUnknownProp[MUST]LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.
BasicContainer-RequestedInteractionModelHeaders[MUST]LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.
BasicContainer-PostContainer[MUST]When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC.
BasicContainer-Options[MUST]LDP servers MUST support the HTTP OPTIONS method.
DirectContainer-RdfTypeLdpContainer[MAY]The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS.

Back to Top

Indirectly Tested Test CasesOverall Test ResultDescription of Test Method
IndirectContainer-ConformsRdfSourceLdpResourcePassedEach LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.
MemberResource-ConformsRdfSourceLdpResourcePassedEach LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.
BasicContainer-ConformsBcLdpContainerPassedEach LDP Basic Container MUST also be a conforming LDP Container in section 5.2 Container along with the following restrictions in this section.
DirectContainer-ConformsRdfSourceLdpResourcePassedEach LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.
BasicContainer-ConformsRdfSourceLdpResourcePassedEach LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.
BasicContainer-ConformsContainerRdfResourcePassedEach Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.
DirectContainer-ConformsContainerRdfResourcePassedEach Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.
IndirectContainer-ConformsContainerRdfResourcePassedEach Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.
DirectContainer-ConformsDcLdpContainerPassedEach LDP Direct Container MUST also be a conforming LDP Container in section 5.2 Container along the following restrictions.

Back to Top

Test Method Details

NonRDFSource-PostResourceGetMetadataAndBinary

[FAILED TEST]
java.lang.AssertionError: No Link response header with relation "describedby" and anchor parameter matching the newly-created resource URI expected object to not be null at org.w3.ldp.testsuite.test.NonRDFSourceTest.testPostResourceGetMetadataAndBinary(NonRDFSourceTest.java:219) ... Removed 26 stack frames

Reference URI: http://www.w3.org/TR/ldp#ldpnr-are-ldpr

Description: Each LDP Non-RDF Source must also be a conforming LDP Resource. LDP Non-RDF Sources may not be able to fully express their state using RDF.

Requirement Level: MAY

Back to Top

NonRDFSource-PostResourceAndCheckAssociatedResource

[FAILED TEST]
java.lang.AssertionError: No Link response header with relation "describedby" and anchor parameter matching the newly-created resource URI expected object to not be null at org.w3.ldp.testsuite.test.NonRDFSourceTest.testPostResourceAndCheckAssociatedResource(NonRDFSourceTest.java:313) ... Removed 26 stack frames

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createbinlinkmetahdr

Description: Upon successful creation of an LDP-NR (HTTP status code of 201-Created and URI indicated by Location response header), LDP servers may create an associated LDP-RS to contain data about the newly created LDP-NR. If a LDP server creates this associated LDP-RS it must indicate its location on the HTTP response using the HTTP Link response header with link relation describedby and href to be the URI of the associated LDP-RS resource.

Requirement Level: MAY

Back to Top

MemberResource-ReUseVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testReUseVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocab

Description: LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.

Requirement Level: MANUAL SHOULD

Back to Top

IndirectContainer-UseStandardVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testUseStandardVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas

Description: LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.

Requirement Level: MANUAL SHOULD

Back to Top

IndirectContainer-ConformsRdfSourceLdpResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in CommonResourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldprs-are-ldpr

Description: Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.

Requirement Level: MUST

Back to Top

DirectContainer-PutReplacesResource

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-replaceall

Description: If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.

Requirement Level: MUST

Back to Top

IndirectContainer-PutReplacesResource

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-replaceall

Description: If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.

Requirement Level: MUST

Back to Top

NonRDFSource-DeleteNonRDFSourceDeletesAssociatedResource

Reference URI: http://www.w3.org/TR/ldp#ldpc-del-contremovescontres

Description: When a contained LDPR is deleted, and the LDPC server created anassociated LDP-RS (see the LDPC POST section), the LDPC server must alsodelete the associated LDP-RS it created.

Requirement Level: MUST

Back to Top

IndirectContainer-RelativeUriResolutionPut

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Parameters:

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

BasicContainer-PutReplacesResource

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-replaceall

Description: If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.

Requirement Level: MUST

Back to Top

IndirectContainer-ReUseVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testReUseVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocab

Description: LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.

Requirement Level: MANUAL SHOULD

Back to Top

BasicContainer-ReUseVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testReUseVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocab

Description: LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.

Requirement Level: MANUAL SHOULD

Back to Top

MemberResource-ConformsRdfSourceLdpResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in CommonResourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldprs-are-ldpr

Description: Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.

Requirement Level: MUST

Back to Top

DirectContainer-IsHttp11Manual

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

NOTE: Covers only part of the specification requirement. testIsHttp11Server covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-http

Description: LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].

Requirement Level: MANUAL MUST

Back to Top

DirectContainer-UseStandardVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testUseStandardVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas

Description: LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.

Requirement Level: MANUAL SHOULD

Back to Top

BasicContainer-ConformsBcLdpContainer

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in CommonContainerTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldpbc-are-ldpcs

Description: Each LDP Basic Container MUST also be a conforming LDP Container in section 5.2 Container along with the following restrictions in this section.

Requirement Level: MUST

Back to Top

DirectContainer-ConformsRdfSourceLdpResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in CommonResourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldprs-are-ldpr

Description: Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.

Requirement Level: MUST

Back to Top

BasicContainer-ConformsRdfSourceLdpResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in CommonResourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldprs-are-ldpr

Description: Each LDP RDF Source MUST also be a conforming LDP Resource as defined in section 4.2 Resource, along with the restrictions in this section.

Requirement Level: MUST

Back to Top

MemberResource-RestrictClientInference

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testRestrictClientInference

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-noinferencing

Description: LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.

Requirement Level: MANUAL MUST

Back to Top

BasicContainer-ConformsContainerRdfResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in RdfSourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldpc-isldpr

Description: Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.

Requirement Level: MUST

Back to Top

DirectContainer-RelativeUriResolutionPut

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Parameters:

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

DirectContainer-ConformsContainerRdfResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in RdfSourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldpc-isldpr

Description: Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.

Requirement Level: MUST

Back to Top

DirectContainer-PutSimpleUpdate

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-simpleupdate

Description: LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.

Requirement Level: MUST

Back to Top

NonRDFSource-IsHttp11Manual

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

NOTE: Covers only part of the specification requirement. testIsHttp11Server covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-http

Description: LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].

Requirement Level: MANUAL MUST

Back to Top

BasicContainer-RelativeUriResolutionPut

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Parameters:

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

NonRDFSource-OptionsHasSameLinkHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-options-linkmetahdr

Description: When responding to requests whose request-URI is a LDP-NR with anassociated LDP-RS, a LDPC server must provide the same HTTP Link responseheader as is required in the create response

Requirement Level: MUST

Back to Top

IndirectContainer-PutSimpleUpdate

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-simpleupdate

Description: LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.

Requirement Level: MUST

Back to Top

IndirectContainer-RestrictClientInference

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testRestrictClientInference

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-noinferencing

Description: LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.

Requirement Level: MANUAL MUST

Back to Top

MemberResource-IsHttp11Manual

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

NOTE: Covers only part of the specification requirement. testIsHttp11Server covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-http

Description: LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].

Requirement Level: MANUAL MUST

Back to Top

MemberResource-UseStandardVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testUseStandardVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas

Description: LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.

Requirement Level: MANUAL SHOULD

Back to Top

IndirectContainer-ConformsContainerRdfResource

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in RdfSourceTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldpc-isldpr

Description: Each Linked Data Platform Container MUST also be a conforming Linked Data Platform RDF Source.

Requirement Level: MUST

Back to Top

DirectContainer-ConformsDcLdpContainer

[SKIPPED TEST]
Covered indirectly by the MUST tests defined in CommonContainerTest class

Test Case is covered Indirectly by the following:

Reference URI: http://www.w3.org/TR/ldp#ldpdc-are-ldpcs

Description: Each LDP Direct Container MUST also be a conforming LDP Container in section 5.2 Container along the following restrictions.

Requirement Level: MUST

Back to Top

BasicContainer-PutSimpleUpdate

[SKIPPED TEST]
Skipping test because there are restrictions on PUT content for this resource. The requirement needs to be tested manually.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-simpleupdate

Description: LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.

Requirement Level: MUST

Back to Top

DirectContainer-RestrictClientInference

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testRestrictClientInference

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-noinferencing

Description: LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.

Requirement Level: MANUAL MUST

Back to Top

IndirectContainer-IsHttp11Manual

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

NOTE: Covers only part of the specification requirement. testIsHttp11Server covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-http

Description: LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].

Requirement Level: MANUAL MUST

Back to Top

BasicContainer-RestrictClientInference

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testRestrictClientInference

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-noinferencing

Description: LDP servers MUST NOT require LDP clients to implement inferencing in order to recognize the subset of content defined by LDP. Other specifications built on top of LDP may require clients to implement inferencing [rdf11-concepts]. The practical implication is that all content defined by LDP must be explicitly represented, unless noted otherwise within this document.

Requirement Level: MANUAL MUST

Back to Top

DirectContainer-ReUseVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testReUseVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocab

Description: LDP-RSs SHOULD reuse existing vocabularies instead of creating their own duplicate vocabulary terms. In addition to this general rule, some specific cases are covered by other conformance rules.

Requirement Level: MANUAL SHOULD

Back to Top

BasicContainer-UseStandardVocabularies

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

How to Run testUseStandardVocabularies

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-reusevocabsuchas

Description: LDP-RSs predicates SHOULD use standard vocabularies such as Dublin Core [DC-TERMS], RDF [rdf11-concepts] and RDF Schema [rdf-schema], whenever possible.

Requirement Level: MANUAL SHOULD

Back to Top

BasicContainer-IsHttp11Manual

[SKIPPED TEST]
This requirement or recommendation must be tested manually. It is difficult or impossible to write automated tests for and is not part of the testsuite.

NOTE: Covers only part of the specification requirement. testIsHttp11Server covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-http

Description: LDP servers MUST at least be HTTP/1.1 conformant servers [HTTP11].

Requirement Level: MANUAL MUST

Back to Top

BasicContainer-Head

Reference URI: http://www.w3.org/TR/ldp#ldpr-head-must

Description: LDP servers MUST support the HTTP HEAD method.

Requirement Level: MUST

Back to Top

NonRDFSource-ETagHeadersGet

NOTE: Covers only part of the specification requirement. testETagHeadersHead covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

BasicContainer-NullRelativeUriPost

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel

Description: In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource.

Requirement Level: MUST

Back to Top

DirectContainer-AcceptPostResponseHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr

Description: LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

BasicContainer-PutToCreate

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-create

Description: LDP servers MAY choose to allow the creation of new resources using HTTP PUT.

Requirement Level: MAY

Back to Top

DirectContainer-AcceptPatchHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch

Description: LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

MemberResource-JsonLdRepresentation

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-jsonld

Description: LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].

Requirement Level: MUST

Back to Top

IndirectContainer-PostJsonLd

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-jsonld

Description: LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD].

Requirement Level: MUST

Back to Top

DirectContainer-OptionsAllowHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-allow

Description: LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.

Requirement Level: MUST

Back to Top

MemberResource-4xxErrorHasResponseBody

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPutReadOnlyProperties4xxStatus covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.

Requirement Level: SHOULD

Back to Top

DirectContainer-ConditionFailedStatusCode

NOTE: Covers only part of the specification requirement. testPutBadETag, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

IndirectContainer-GetResponseHeaders

Reference URI: http://www.w3.org/TR/ldp#ldpr-get-options

Description: LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.

Requirement Level: MUST

Back to Top

MemberResource-ContainsRdfType

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype

Description: LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.

Requirement Level: SHOULD

Back to Top

BasicContainer-RejectPutModifyingContainmentTriples

Reference URI: http://www.w3.org/TR/ldp#ldpc-put-mbrprops

Description: LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code.

Requirement Level: SHOULD

Back to Top

DirectContainer-GetResource

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-rdf

Description: LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.

Requirement Level: MUST

Back to Top

BasicContainer-GetResourceAsTurtleNoAccept

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-conneg

Description: LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].

Requirement Level: SHOULD

Back to Top

IndirectContainer-PreferContainmentTriples

Reference URI: http://www.w3.org/TR/ldp#ldpc-prefer

Description: LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].

Requirement Level: SHOULD

Back to Top

BasicContainer-AcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-turtle

Description: LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle].

Requirement Level: MUST

Back to Top

IndirectContainer-PublishConstraintsUnknownProp

NOTE: Covers only part of the specification requirement. testPublishConstraintsReadOnlyProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

IndirectContainer-GetResource

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-rdf

Description: LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.

Requirement Level: MUST

Back to Top

DirectContainer-MemberResourceTriple

Reference URI: http://www.w3.org/TR/ldp#ldpdc-containres

Description: Each LDP Direct Container representation MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is the ldp:membershipResource, and whose object is the LDPC's membership-constant-URI. Commonly the LDPC's URI is the membership-constant-URI, but LDP does not require this.

Requirement Level: MUST

Back to Top

IndirectContainer-ContentTypeHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-contenttype

Description: LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body.

Requirement Level: SHOULD

Back to Top

DirectContainer-RestrictUriReUseSlug

NOTE: Covers only part of the specification requirement. testRestrictUriReUseNoSlug covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris

Description: LDP servers that allow member creation via POST SHOULD NOT re-use URIs.

Requirement Level: SHOULD

Back to Top

IndirectContainer-ETagHeadersGet

NOTE: Covers only part of the specification requirement. testETagHeadersHead covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

DirectContainer-PreferContainmentTriples

Reference URI: http://www.w3.org/TR/ldp#ldpc-prefer

Description: LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].

Requirement Level: SHOULD

Back to Top

IndirectContainer-ContainsRdfType

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype

Description: LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.

Requirement Level: SHOULD

Back to Top

DirectContainer-MemberRelationOrIsMemberOfRelationTripleExists

Reference URI: http://www.w3.org/TR/ldp#ldpdc-containtriples

Description: Each LDP Direct Container representation must contain exactly one triple whose subject is the LDPC URI, and whose predicate is either ldp:hasMemberRelation or ldp:isMemberOfRelation. The object of the triple is constrained by other sections, such as ldp:hasMemberRelation or ldp:isMemberOfRelation, based on the membership triple pattern used by the container.

Requirement Level: MUST

Back to Top

BasicContainer-DeleteRemovesContainmentTriple

Reference URI: http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple

Description: When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple.

Requirement Level: MUST

Back to Top

BasicContainer-PutRequiresIfMatch

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutBadETag covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.

Requirement Level: SHOULD

Back to Top

NonRDFSource-PutBadETag

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

BasicContainer-RestrictUriReUseNoSlug

NOTE: Covers only part of the specification requirement. testRestrictUriReUseSlug covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris

Description: LDP servers that allow member creation via POST SHOULD NOT re-use URIs.

Requirement Level: SHOULD

Back to Top

IndirectContainer-RestrictUriReUseSlug

NOTE: Covers only part of the specification requirement. testRestrictUriReUseNoSlug covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris

Description: LDP servers that allow member creation via POST SHOULD NOT re-use URIs.

Requirement Level: SHOULD

Back to Top

BasicContainer-ETagHeadersGet

NOTE: Covers only part of the specification requirement. testETagHeadersHead covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

DirectContainer-NoRdfBagSeqOrList

Reference URI: http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes

Description: LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List.

Requirement Level: SHOULD

Back to Top

BasicContainer-PutReadOnlyProperties4xxStatus

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. test4xxErrorHasResponseBody covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)

Requirement Level: MUST

Back to Top

IndirectContainer-RejectPutModifyingContainmentTriples

Reference URI: http://www.w3.org/TR/ldp#ldpc-put-mbrprops

Description: LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code.

Requirement Level: SHOULD

Back to Top

MemberResource-ConditionFailedStatusCode

NOTE: Covers only part of the specification requirement. testPutBadETag, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

DirectContainer-CreateWithoutConstraints

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-mincontraints

Description: LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

BasicContainer-CreateWithoutConstraints

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-mincontraints

Description: LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

DirectContainer-PostResourceUpdatesTriples

Reference URI: http://www.w3.org/TR/ldp#ldpdc-post-createdmbr-member

Description: When a successful HTTP POST request to an LDPC results in the creation of an LDPR, the LDPC MUST update its membership triples to reflect that addition, and the resulting membership triple MUST be consistent with any LDP-defined predicates it exposes.

Requirement Level: MUST

Back to Top

IndirectContainer-NullRelativeUriPost

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel

Description: In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource.

Requirement Level: MUST

Back to Top

BasicContainer-RdfTypeLdpContainer

Reference URI: http://www.w3.org/TR/ldp#ldpc-typecontainer

Description: The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS.

Requirement Level: MAY

Back to Top

DirectContainer-RestrictUriReUseNoSlug

NOTE: Covers only part of the specification requirement. testRestrictUriReUseSlug covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris

Description: LDP servers that allow member creation via POST SHOULD NOT re-use URIs.

Requirement Level: SHOULD

Back to Top

IndirectContainer-PutToCreate

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-create

Description: LDP servers MAY choose to allow the creation of new resources using HTTP PUT.

Requirement Level: MAY

Back to Top

DirectContainer-NullRelativeUriPost

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-rdfnullrel

Description: In RDF representations, LDP servers MUST interpret the null relative URI for the subject of triples in the LDPR representation in the request entity body as referring to the entity in the request body. Commonly, that entity is the model for the “to be created” LDPR, so triples whose subject is the null relative URI will usually result in triples in the created resource whose subject is the created resource.

Requirement Level: MUST

Back to Top

IndirectContainer-ConditionFailedStatusCode

NOTE: Covers only part of the specification requirement. testPutBadETag, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

IndirectContainer-PutPropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testResponsePropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].

Requirement Level: MUST

Back to Top

MemberResource-ResponsePropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testPutPropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

DirectContainer-DeleteResourceUpdatesTriples

Reference URI: http://www.w3.org/TR/ldp#ldpdc-del-contremovesmbrtriple

Description: When an LDPR identified by the object of a membership triple which was originally created by the LDP-DC is deleted, the LDPC server MUST also remove the corresponding membership triple.

Requirement Level: MUST

Back to Top

BasicContainer-PostJsonLd

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-jsonld

Description: LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD].

Requirement Level: MUST

Back to Top

NonRDFSource-PostResourceAndGetFromContainer

NOTE: Covers only part of the specification requirement. testPostNonRDFSource covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createbins

Description: LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources.

Requirement Level: MAY

Back to Top

MemberResource-PreconditionRequiredStatusCode

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPutBadETagand testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

DirectContainer-GetResourceAcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-turtle

Description: LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].

Requirement Level: MUST

Back to Top

NonRDFSource-ConditionFailedStatusCode

NOTE: Covers only part of the specification requirement. testPutBadETag, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

DirectContainer-RejectPutModifyingContainmentTriples

Reference URI: http://www.w3.org/TR/ldp#ldpc-put-mbrprops

Description: LDP servers SHOULD NOT allow HTTP PUT to update an LDPC’s containment triples; if the server receives such a request, it SHOULD respond with a 409 (Conflict) status code.

Requirement Level: SHOULD

Back to Top

MemberResource-GetResource

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-rdf

Description: LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.

Requirement Level: MUST

Back to Top

NonRDFSource-GetResponseHeaders

Reference URI: http://www.w3.org/TR/ldp#ldpr-get-options

Description: LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.

Requirement Level: MUST

Back to Top

MemberResource-PutReadOnlyProperties4xxStatus

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. test4xxErrorHasResponseBody covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)

Requirement Level: MUST

Back to Top

DirectContainer-PostNoSlug

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-serverassignuri

Description: LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint.

Requirement Level: SHOULD

Back to Top

DirectContainer-PreferMembershipTriples

NOTE: Covers only part of the specification requirement.

Reference URI: http://www.w3.org/TR/ldp#ldpc-prefer

Description: LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].

Requirement Level: SHOULD

Back to Top

MemberResource-PutReplacesResource

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-replaceall

Description: If a HTTP PUT is accepted on an existing resource, LDP servers MUST replace the entire persistent state of the identified resource with the entity representation in the body of the request.

Requirement Level: MUST

Back to Top

DirectContainer-GetResourceAsTurtleNoAccept

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-conneg

Description: LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].

Requirement Level: SHOULD

Back to Top

IndirectContainer-JsonLdRepresentation

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-jsonld

Description: LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].

Requirement Level: MUST

Back to Top

DirectContainer-ServerHonorsSlug

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-slug

Description: LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI.

Requirement Level: MAY

Back to Top

DirectContainer-PutToCreate

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-create

Description: LDP servers MAY choose to allow the creation of new resources using HTTP PUT.

Requirement Level: MAY

Back to Top

BasicContainer-JsonLdRepresentation

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-jsonld

Description: LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].

Requirement Level: MUST

Back to Top

IndirectContainer-ETagHeadersHead

NOTE: Covers only part of the specification requirement. testETagHeadersGet covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

IndirectContainer-PutReadOnlyProperties4xxStatus

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. test4xxErrorHasResponseBody covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)

Requirement Level: MUST

Back to Top

BasicContainer-GetResource

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-rdf

Description: LDP servers MUST provide an RDF representation for LDP-RSs. The HTTP Request-URI of the LDP-RS is typically the subject of most triples in the response.

Requirement Level: MUST

Back to Top

IndirectContainer-DeleteRemovesContainmentTriple

Reference URI: http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple

Description: When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple.

Requirement Level: MUST

Back to Top

DirectContainer-ActAsIfInsertedContentRelationTripleExists

Reference URI: http://www.w3.org/TR/ldp#ldpdc-indirectmbr-basic

Description: LDP Direct Containers MUST behave as if they have a (LDPC URI, ldp:insertedContentRelation , ldp:MemberSubject) triple, but LDP imposes no requirement to materialize such a triple in the LDP-DC representation.

Requirement Level: MUST

Back to Top

MemberResource-PutBadETag

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

BasicContainer-OptionsAllowHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-allow

Description: LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.

Requirement Level: MUST

Back to Top

MemberResource-PutSimpleUpdate

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-simpleupdate

Description: LDP servers SHOULD allow clients to update resources without requiring detailed knowledge of server-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs.

Requirement Level: MUST

Back to Top

BasicContainer-ContentTypeHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-contenttype

Description: LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body.

Requirement Level: SHOULD

Back to Top

BasicContainer-PatchMethod

Reference URI: http://www.w3.org/TR/ldp#ldpc-patch-req

Description: LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples.

Requirement Level: SHOULD

Back to Top

MemberResource-PutRequiresIfMatch

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutBadETag covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.

Requirement Level: SHOULD

Back to Top

NonRDFSource-PostResourceGetBinary

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-binary

Description: LDP servers may host a mixture of LDP-RSs and LDP-NRs. For example, it is common for LDP servers to need to host binary or text resources that do not have useful RDF representations.

Requirement Level: MAY

Back to Top

IndirectContainer-OptionsAllowHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-allow

Description: LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.

Requirement Level: MUST

Back to Top

IndirectContainer-Head

Reference URI: http://www.w3.org/TR/ldp#ldpr-head-must

Description: LDP servers MUST support the HTTP HEAD method.

Requirement Level: MUST

Back to Top

MemberResource-GetResponseHeaders

Reference URI: http://www.w3.org/TR/ldp#ldpr-get-options

Description: LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.

Requirement Level: MUST

Back to Top

IndirectContainer-4xxErrorHasResponseBody

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPutReadOnlyProperties4xxStatus covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.

Requirement Level: SHOULD

Back to Top

NonRDFSource-PostResourceAndCheckLink

Reference URI: http://www.w3.org/TR/ldp#ldpnr-type

Description: LDP servers exposing an LDP Non-RDF Source may advertise this by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#NonRDFSource, and a link relation type of type (that is, rel='type') in responses to requests made to the LDP-NR's HTTP Request-URI.

Requirement Level: MAY

Back to Top

DirectContainer-AcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-turtle

Description: LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle].

Requirement Level: MUST

Back to Top

MemberResource-LdpLinkHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr

Description: LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.

Requirement Level: MUST

Back to Top

NonRDFSource-Head

Reference URI: http://www.w3.org/TR/ldp#ldpr-head-must

Description: LDP servers MUST support the HTTP HEAD method.

Requirement Level: MUST

Back to Top

IndirectContainer-PostNoSlug

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-serverassignuri

Description: LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint.

Requirement Level: SHOULD

Back to Top

IndirectContainer-PatchMethod

Reference URI: http://www.w3.org/TR/ldp#ldpc-patch-req

Description: LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples.

Requirement Level: SHOULD

Back to Top

IndirectContainer-GetResourceAcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-turtle

Description: LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].

Requirement Level: MUST

Back to Top

IndirectContainer-AcceptPatchHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch

Description: LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

BasicContainer-ConditionFailedStatusCode

NOTE: Covers only part of the specification requirement. testPutBadETag, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

MemberResource-PutPropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testResponsePropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].

Requirement Level: MUST

Back to Top

MemberResource-ETagHeadersHead

NOTE: Covers only part of the specification requirement. testETagHeadersGet covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

DirectContainer-PreconditionRequiredStatusCode

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPutBadETagand testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

DirectContainer-DeleteRemovesContainmentTriple

Reference URI: http://www.w3.org/TR/ldp#ldpc-del-contremovesconttriple

Description: When an LDPR identified by the object of a containment triple is deleted, the LDPC server MUST also remove the LDPR from the containing LDPC by removing the corresponding containment triple.

Requirement Level: MUST

Back to Top

DirectContainer-Head

Reference URI: http://www.w3.org/TR/ldp#ldpr-head-must

Description: LDP servers MUST support the HTTP HEAD method.

Requirement Level: MUST

Back to Top

DirectContainer-RelativeUriResolutionPost

Parameters:

NOTE: Covers only part of the specification requirement.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

BasicContainer-ContainsRdfType

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype

Description: LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.

Requirement Level: SHOULD

Back to Top

DirectContainer-HttpLinkHeader

NOTE: Covers only part of the specification requirement. IndirectContainerTest.testContainerSupportsHttpLinkHeader and BasicContainerTest.testContainerSupportsHttpLinkHeader covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-linktypehdr

Description: LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI.

Requirement Level: MUST

Back to Top

BasicContainer-AcceptPatchHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch

Description: LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

IndirectContainer-RequestedInteractionModelHeaders

Parameters: http://192.168.211.1:8080/proxy/192.168.211.1:5683/ldp/resources/bc-asres/

NOTE: Covers only part of the specification requirement. testRequestedInteractionModelCreateNotAllowed covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createrdf

Description: LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.

Requirement Level: MUST

Back to Top

BasicContainer-ETagHeadersHead

NOTE: Covers only part of the specification requirement. testETagHeadersGet covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

IndirectContainer-AcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-turtle

Description: LDP servers MUST accept a request entity body with a request header of Content-Type with value of text/turtle [turtle].

Requirement Level: MUST

Back to Top

BasicContainer-PostNoSlug

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-serverassignuri

Description: LDP servers SHOULD assign the URI for the resource to be created using server application specific rules in the absence of a client hint.

Requirement Level: SHOULD

Back to Top

BasicContainer-RestrictUriReUseSlug

NOTE: Covers only part of the specification requirement. testRestrictUriReUseNoSlug covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris

Description: LDP servers that allow member creation via POST SHOULD NOT re-use URIs.

Requirement Level: SHOULD

Back to Top

NonRDFSource-AcceptPatchHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch

Description: LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

IndirectContainer-ResponsePropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testPutPropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

DirectContainer-PostJsonLd

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-jsonld

Description: LDP servers SHOULD accept a request entity body with a request header of Content-Type with value of application/ld+json [JSON-LD].

Requirement Level: MUST

Back to Top

IndirectContainer-CreateWithoutConstraints

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-mincontraints

Description: LDP servers SHOULD allow clients to create new resources without requiring detailed knowledge of application-specific constraints. This is a consequence of the requirement to enable simple creation and modification of LDPRs. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

MemberResource-ETagHeadersGet

NOTE: Covers only part of the specification requirement. testETagHeadersHead covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

BasicContainer-PublishConstraintsReadOnlyProp

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPublishConstraintsUnknownProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

DirectContainer-RequestedInteractionModelHeaders

Parameters: http://192.168.211.1:8080/proxy/192.168.211.1:5683/ldp/resources/bc-asres/

NOTE: Covers only part of the specification requirement. testRequestedInteractionModelCreateNotAllowed covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createrdf

Description: LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.

Requirement Level: MUST

Back to Top

IndirectContainer-PostResource

Reference URI: http://www.w3.org/TR/ldp#ldpic-post-indirectmbrrel

Description: LDPCs whose ldp:insertedContentRelation triple has an object other than ldp:MemberSubject and that create new resources MUST add a triple to the container whose subject is the container's URI, whose predicate is ldp:contains, and whose object is the newly created resource's URI (which will be different from the member-derived URI in this case). This ldp:contains triple can be the only link from the container to the newly created resource in certain cases.

Requirement Level: MUST

Back to Top

DirectContainer-PutRequiresIfMatch

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutBadETag covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.

Requirement Level: SHOULD

Back to Top

BasicContainer-ContainerSupportsHttpLinkHeader

NOTE: Covers only part of the specification requirement. DirectContainerTest.testHttpLinkHeader and IndirectContainerTest.testContainerSupportsHttpLinkHeader covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-linktypehdr

Description: LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI.

Requirement Level: MUST

Back to Top

IndirectContainer-GetResourceAsTurtleNoAccept

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-conneg

Description: LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].

Requirement Level: SHOULD

Back to Top

NonRDFSource-LdpLinkHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr

Description: LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.

Requirement Level: MUST

Back to Top

NonRDFSource-PutRequiresIfMatch

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutBadETag covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.

Requirement Level: SHOULD

Back to Top

IndirectContainer-PublishConstraintsReadOnlyProp

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPublishConstraintsUnknownProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

BasicContainer-PreferContainmentTriples

Reference URI: http://www.w3.org/TR/ldp#ldpc-prefer

Description: LDP servers SHOULD respect all of a client's LDP-defined hints, for example which subsets of LDP-defined state the client is interested in processing, to influence the set of triples returned in representations of an LDPC, particularly for large LDPCs. See also [LDP-PAGING].

Requirement Level: SHOULD

Back to Top

IndirectContainer-PostContainer

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains

Description: When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC.

Requirement Level: MUST

Back to Top

DirectContainer-PublishConstraintsReadOnlyProp

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPublishConstraintsUnknownProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

DirectContainer-PostResponseStatusAndLocation

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-created201

Description: If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response.

Requirement Level: MUST

Back to Top

MemberResource-PublishConstraintsReadOnlyProp

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPublishConstraintsUnknownProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

IndirectContainer-PutBadETag

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

DirectContainer-PutPropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testResponsePropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].

Requirement Level: MUST

Back to Top

DirectContainer-ETagHeadersHead

NOTE: Covers only part of the specification requirement. testETagHeadersGet covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

NonRDFSource-ETagHeadersHead

NOTE: Covers only part of the specification requirement. testETagHeadersGet covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

BasicContainer-GetResourceAcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-turtle

Description: LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].

Requirement Level: MUST

Back to Top

BasicContainer-RelativeUriResolutionPost

Parameters:

NOTE: Covers only part of the specification requirement.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

NonRDFSource-OptionsAllowHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-allow

Description: LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.

Requirement Level: MUST

Back to Top

MemberResource-GetResourceAcceptTurtle

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-turtle

Description: LDP servers must respond with a Turtle representation of the requested LDP-RS when the request includes an Accept header specifying text/turtle, unless HTTP content negotiation requires a different outcome [turtle].

Requirement Level: MUST

Back to Top

DirectContainer-RestrictPutReUseUri

Reference URI: http://www.w3.org/TR/ldp#ldpc-put-create

Description: LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts].

Requirement Level: SHOULD

Back to Top

NonRDFSource-PreconditionRequiredStatusCode

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPutBadETagand testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

BasicContainer-4xxErrorHasResponseBody

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPutReadOnlyProperties4xxStatus covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.

Requirement Level: SHOULD

Back to Top

IndirectContainer-ServerHonorsSlug

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-slug

Description: LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI.

Requirement Level: MAY

Back to Top

BasicContainer-GetResponseHeaders

Reference URI: http://www.w3.org/TR/ldp#ldpr-get-options

Description: LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.

Requirement Level: MUST

Back to Top

DirectContainer-JsonLdRepresentation

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-jsonld

Description: LDP servers must respond with a application/ld+json representation of the requested LDP-RS when the request includes an Accept header, unless content negotiation or Turtle support requires a different outcome [JSON-LD].

Requirement Level: MUST

Back to Top

IndirectContainer-ContainerSupportsHttpLinkHeader

NOTE: Covers only part of the specification requirement. DirectContainerTest.testHttpLinkHeader and BasicContainerTest.testContainerSupportsHttpLinkHeader covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-linktypehdr

Description: LDP servers exposing LDPCs MUST advertise their LDP support by exposing a HTTP Link header with a target URI matching the type of container (see below) the server supports, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPC's HTTP Request-URI.

Requirement Level: MUST

Back to Top

MemberResource-OptionsAllowHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-allow

Description: LDP servers MUST indicate their support for HTTP Methods by responding to a HTTP OPTIONS request on the LDPR’s URL with the HTTP Method tokens in the HTTP response header Allow.

Requirement Level: MUST

Back to Top

IndirectContainer-NoRdfBagSeqOrList

Reference URI: http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes

Description: LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List.

Requirement Level: SHOULD

Back to Top

IndirectContainer-RestrictUriReUseNoSlug

NOTE: Covers only part of the specification requirement. testRestrictUriReUseSlug covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-dontreuseuris

Description: LDP servers that allow member creation via POST SHOULD NOT re-use URIs.

Requirement Level: SHOULD

Back to Top

DirectContainer-TypeRdfSource

Reference URI: http://www.w3.org/TR/ldp#ldprs-rdftype

Description: The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.

Requirement Level: MAY

Back to Top

DirectContainer-ResponsePropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testPutPropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

DirectContainer-RequestedInteractionModelCreateNotAllowed

Parameters: http://192.168.211.1:8080/proxy/192.168.211.1:5683/ldp/resources/bc-asres/

NOTE: Covers only part of the specification requirement. testRequestedInteractionModelHeaders covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createrdf

Description: LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.

Requirement Level: MUST

Back to Top

BasicContainer-PutPropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testResponsePropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: If an otherwise valid HTTP PUT request is received that contains properties the server chooses not to persist, e.g. unknown content, LDP servers MUST respond with an appropriate 4xx range status code [HTTP11].

Requirement Level: MUST

Back to Top

BasicContainer-AcceptPostResponseHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr

Description: LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

IndirectContainer-PostResponseStatusAndLocation

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-created201

Description: If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response.

Requirement Level: MUST

Back to Top

DirectContainer-4xxErrorHasResponseBody

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. testPutReadOnlyProperties4xxStatus covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP.

Requirement Level: SHOULD

Back to Top

MemberResource-RelativeUriResolutionPut

Parameters:

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

DirectContainer-PublishConstraintsUnknownProp

NOTE: Covers only part of the specification requirement. testPublishConstraintsReadOnlyProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

BasicContainer-NoRdfBagSeqOrList

Reference URI: http://www.w3.org/TR/ldp#ldpc-nordfcontainertypes

Description: LDPC representations SHOULD NOT use RDF container types rdf:Bag, rdf:Seq or rdf:List.

Requirement Level: SHOULD

Back to Top

BasicContainer-PublishConstraintsUnknownProp

NOTE: Covers only part of the specification requirement. testPublishConstraintsReadOnlyProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

BasicContainer-RequestedInteractionModelCreateNotAllowed

Parameters: http://192.168.211.1:8080/proxy/192.168.211.1:5683/ldp/resources/bc-asres/

NOTE: Covers only part of the specification requirement. testRequestedInteractionModelHeaders covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createrdf

Description: LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.

Requirement Level: MUST

Back to Top

BasicContainer-TypeRdfSource

Reference URI: http://www.w3.org/TR/ldp#ldprs-rdftype

Description: The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.

Requirement Level: MAY

Back to Top

DirectContainer-PostContainer

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains

Description: When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC.

Requirement Level: MUST

Back to Top

BasicContainer-PreconditionRequiredStatusCode

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPutBadETagand testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

DirectContainer-GetResponseHeaders

Reference URI: http://www.w3.org/TR/ldp#ldpr-get-options

Description: LDP servers MUST support the HTTP response headers defined in section 4.2.8 HTTP OPTIONS.

Requirement Level: MUST

Back to Top

IndirectContainer-PreconditionRequiredStatusCode

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPutBadETagand testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

IndirectContainer-Options

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-must

Description: LDP servers MUST support the HTTP OPTIONS method.

Requirement Level: MUST

Back to Top

MemberResource-Head

Reference URI: http://www.w3.org/TR/ldp#ldpr-head-must

Description: LDP servers MUST support the HTTP HEAD method.

Requirement Level: MUST

Back to Top

DirectContainer-PutReadOnlyProperties4xxStatus

Parameters: http://purl.org/dc/terms/created

NOTE: Covers only part of the specification requirement. test4xxErrorHasResponseBody covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-servermanagedprops

Description: If an otherwise valid HTTP PUT request is received that attempts to change properties the server does not allow clients to modify, LDP servers MUST respond with a 4xx range status code (typically 409 Conflict)

Requirement Level: MUST

Back to Top

DirectContainer-LdpLinkHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr

Description: LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.

Requirement Level: MUST

Back to Top

IndirectContainer-AcceptPostResponseHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-acceptposthdr

Description: LDP servers that support POST MUST include an Accept-Post response header on HTTP OPTIONS responses, listing post document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

NonRDFSource-Options

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-must

Description: LDP servers MUST support the HTTP OPTIONS method.

Requirement Level: MUST

Back to Top

MemberResource-GetResourceAsTurtleNoAccept

Reference URI: http://www.w3.org/TR/ldp#ldprs-get-conneg

Description: LDP servers should respond with a text/turtle representation of the requested LDP-RS whenever the Accept request header is absent [turtle].

Requirement Level: SHOULD

Back to Top

DirectContainer-Options

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-must

Description: LDP servers MUST support the HTTP OPTIONS method.

Requirement Level: MUST

Back to Top

MemberResource-TypeRdfSource

Reference URI: http://www.w3.org/TR/ldp#ldprs-rdftype

Description: The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.

Requirement Level: MAY

Back to Top

BasicContainer-LdpLinkHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr

Description: LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.

Requirement Level: MUST

Back to Top

DirectContainer-ContentTypeHeader

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-contenttype

Description: LDP servers SHOULD use the Content-Type request header to determine the representation format when the request has an entity body.

Requirement Level: SHOULD

Back to Top

DirectContainer-PutBadETag

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

MemberResource-AcceptPatchHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-patch-acceptpatch

Description: LDP servers that support PATCH MUST include an Accept-Patch HTTP response header [RFC5789] on HTTP OPTIONS requests, listing patch document media type(s) supported by the server.

Requirement Level: MUST

Back to Top

IndirectContainer-TypeRdfSource

Reference URI: http://www.w3.org/TR/ldp#ldprs-rdftype

Description: The representation of a LDP-RS MAY have an rdf:type of ldp:RDFSource for Linked Data Platform RDF Source.

Requirement Level: MAY

Back to Top

BasicContainer-ServerHonorsSlug

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-slug

Description: LDP servers MAY allow clients to suggest the URI for a resource created through POST, using the HTTP Slug header as defined in [RFC5023]. LDP adds no new requirements to this usage, so its presence functions as a client hint to the server providing a desired string to be incorporated into the server's final choice of resource URI.

Requirement Level: MAY

Back to Top

DirectContainer-ContainsRdfType

Reference URI: http://www.w3.org/TR/ldp#ldprs-gen-atleast1rdftype

Description: LDP-RSs representations SHOULD have at least one rdf:type set explicitly. This makes the representations much more useful to client applications that don’t support inferencing.

Requirement Level: SHOULD

Back to Top

IndirectContainer-RestrictPutReUseUri

Reference URI: http://www.w3.org/TR/ldp#ldpc-put-create

Description: LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts].

Requirement Level: SHOULD

Back to Top

IndirectContainer-RequestedInteractionModelCreateNotAllowed

Parameters: http://192.168.211.1:8080/proxy/192.168.211.1:5683/ldp/resources/bc-asres/

NOTE: Covers only part of the specification requirement. testRequestedInteractionModelHeaders covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createrdf

Description: LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.

Requirement Level: MUST

Back to Top

IndirectContainer-RelativeUriResolutionPost

Parameters:

NOTE: Covers only part of the specification requirement.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-defbaseuri

Description: LDP servers MUST assign the default base-URI for [RFC3987] relative-URI resolution to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation of a new resource.

Requirement Level: MUST

Back to Top

IndirectContainer-LdpLinkHeader

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-linktypehdr

Description: LDP servers exposing LDPRs MUST advertise their LDP support by exposing a HTTP Link header with a target URI of http://www.w3.org/ns/ldp#Resource, and a link relation type of type (that is, rel='type') in all responses to requests made to the LDPR's HTTP Request-URI.

Requirement Level: MUST

Back to Top

NonRDFSource-PostNonRDFSource

NOTE: Covers only part of the specification requirement. testPostResourceAndGetFromContainer covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createbins

Description: LDP servers may accept an HTTP POST of non-RDF representations (LDP-NRs) for creation of any kind of resource, for example binary resources.

Requirement Level: MAY

Back to Top

IndirectContainer-ContainerHasInsertedContentRelation

Reference URI: http://www.w3.org/TR/ldp#ldpic-indirectmbr

Description: LDP Indirect Containers MUST contain exactly one triple whose subject is the LDPC URI, whose predicate is ldp:insertedContentRelation, and whose object ICR describes how the member-derived-URI in the container's membership triples is chosen.

Requirement Level: MUST

Back to Top

BasicContainer-PutBadETag

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutRequiresIfMatch covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP servers MUST respond with status code 412 (Condition Failed) if ETags fail to match when there are no other errors with the request [HTTP11]. LDP servers that require conditional requests MUST respond with status code 428 (Precondition Required) when the absence of a precondition is the only reason for rejecting the request [RFC6585].

Requirement Level: MUST

Back to Top

IndirectContainer-PutRequiresIfMatch

NOTE: Covers only part of the specification requirement. testConditionFailedStatusCode, testPreconditionRequiredStatusCode and testPutBadETag covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-put-precond

Description: LDP clients SHOULD use the HTTP If-Match header and HTTP ETags to ensure it isn’t modifying a resource that has changed since the client last retrieved its representation. LDP servers SHOULD require the HTTP If-Match header and HTTP ETags to detect collisions.

Requirement Level: SHOULD

Back to Top

IndirectContainer-RdfTypeLdpContainer

Reference URI: http://www.w3.org/TR/ldp#ldpc-typecontainer

Description: The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS.

Requirement Level: MAY

Back to Top

DirectContainer-UseMemberPredicate

Reference URI: http://www.w3.org/TR/ldp#ldpdc-mbrpred

Description: LDP Direct Containers SHOULD use the ldp:member predicate as an LDPC's membership predicate if there is no obvious predicate from an application vocabulary to use.

Requirement Level: ldpMember SHOULD

Back to Top

DirectContainer-PatchMethod

Reference URI: http://www.w3.org/TR/ldp#ldpc-patch-req

Description: LDP servers are RECOMMENDED to support HTTP PATCH as the preferred method for updating an LDPC's empty-container triples.

Requirement Level: SHOULD

Back to Top

NonRDFSource-GetResource

Reference URI: http://www.w3.org/TR/ldp#ldpr-get-must

Description: LDP servers MUST support the HTTP GET Method for LDPRs

Requirement Level: MUST

Back to Top

BasicContainer-ResponsePropertiesNotPersisted

NOTE: Covers only part of the specification requirement. testPutPropertiesNotPersisted covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldprs-put-failed

Description: LDP servers SHOULD provide a corresponding response body containing information about which properties could not be persisted. The format of the 4xx response body is not constrained by LDP. LDP servers expose these application-specific constraints as described in section 4.2.1 General.

Requirement Level: SHOULD

Back to Top

BasicContainer-PostResponseStatusAndLocation

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-created201

Description: If the resource was created successfully, LDP servers MUST respond with status code 201 (Created) and the Location header set to the new resource’s URL. Clients shall not expect any representation in the response entity body on a 201 (Created) response.

Requirement Level: MUST

Back to Top

MemberResource-Options

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-must

Description: LDP servers MUST support the HTTP OPTIONS method.

Requirement Level: MUST

Back to Top

DirectContainer-ETagHeadersGet

NOTE: Covers only part of the specification requirement. testETagHeadersHead covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-etags

Description: LDP server responses MUST use entity tags (either weak or strong ones) as response ETag header values.

Requirement Level: MUST

Back to Top

BasicContainer-RestrictPutReUseUri

Reference URI: http://www.w3.org/TR/ldp#ldpc-put-create

Description: LDP servers that allow LDPR creation via PUT SHOULD NOT re-use URIs. For RDF representations (LDP-RSs),the created resource can be thought of as an RDF named graph [rdf11-concepts].

Requirement Level: SHOULD

Back to Top

MemberResource-PublishConstraintsUnknownProp

NOTE: Covers only part of the specification requirement. testPublishConstraintsReadOnlyProp covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpr-gen-pubclireqs

Description: LDP servers MUST publish any constraints on LDP clients’ ability to create or update LDPRs, by adding a Link header with rel='http://www.w3.org/ns/ldp#constrainedBy' [RFC5988] to all responses to requests which fail due to violation of those constraints.

Requirement Level: MUST

Back to Top

BasicContainer-RequestedInteractionModelHeaders

Parameters: http://192.168.211.1:8080/proxy/192.168.211.1:5683/ldp/resources/bc-asres/

NOTE: Covers only part of the specification requirement. testRequestedInteractionModelCreateNotAllowed covers the rest.

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createrdf

Description: LDP servers that successfully create a resource from a RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource can be thought of as an RDF named graph [rdf11-concepts]. If any model cannot be honored, the server MUST fail the request.

Requirement Level: MUST

Back to Top

BasicContainer-PostContainer

Reference URI: http://www.w3.org/TR/ldp#ldpc-post-createdmbr-contains

Description: When a successful HTTP POST request to an LDPC results in the creation of an LDPR, a containment triple MUST be added to the state of LDPC.

Requirement Level: MUST

Back to Top

BasicContainer-Options

Reference URI: http://www.w3.org/TR/ldp#ldpr-options-must

Description: LDP servers MUST support the HTTP OPTIONS method.

Requirement Level: MUST

Back to Top

DirectContainer-RdfTypeLdpContainer

Reference URI: http://www.w3.org/TR/ldp#ldpc-typecontainer

Description: The representation of a LDPC MAY have an rdf:type of ldp:Container for Linked Data Platform Container. Non-normative note: LDPCs might have additional types, like any LDP-RS.

Requirement Level: MAY

Back to Top