-
Notifications
You must be signed in to change notification settings - Fork 20
Description
At present, the constraints module forbids setting any rdf:type triples where the type is in the LDP type domain. The idea here was to encourage clients to use Link headers for setting the resource types.
However, this seems to be rather heavy-handed. I would rather remove any sort of "type restrictions"; that is, users should be able to put whatever RDF in a resource they want to, even if that RDF makes no sense -- it shouldn't be up to Trellis to enforce such things.
That is, if a client wants to create a ldp:BasicContainer resource (via link headers) that contains the triple <> rdf:type ldp:DirectContainer, so be it. The LDP spec is clear on this point: the Link header always wins.
A middle position would be to allow setting rdf:type triples in the LDP domain but only if that type is the same as the resource's interaction model or some subtype thereof. My counter-argument to that is just that doing so will add more complexity to the code and I really don't want Trellis to be in the business of policing rdf:type semantics.