duraspace / pcdm

Portland Common Data Model
http://pcdm.org/models
Apache License 2.0
90 stars 11 forks source link

Discover Containers via Link Headers? #40

Open azaroth42 opened 8 years ago

azaroth42 commented 8 years ago

The response from a pcdm:Object or pcdm:Collection could use link headers to refer to the LDP containers in which members, files and related objects can be created. This would keep protocol related aspects in the protocol, rather than in the model. The trickier part is which relation (and other properties) to use.

Some possibilities:

My preference of those two is the latter.

(This issue is a follow on from #28)

awoods commented 8 years ago

This seems like a constructive direction. Shall "we" go ahead and put forth a list of proposed relation URIs that would cover the scenarios previously identified?

azaroth42 commented 8 years ago

I think we need:

Then in the response from http://example.org/objects/1 you might have:

Link: <http://example.org/objects/1/members/>;rel="http://pcdm.org/rels/hasMemberContainer"

(plus the equivalent for Files and Related)

escowles commented 8 years ago

Can we use the existing PCDM predicates for the rels? If so, that would make implementing this much more straightforward since we wouldn't have to map them.

Or do they need to be different because they are declaring the relationship between the parent and the container, as opposed to between the container and the members?

azaroth42 commented 8 years ago

I don't think so, assuming you mean pcdm:hasMember etc. Systems that processed the link header might then assume that the containers were members. Not very likely, admittedly, but I'd rather be explicit when the cost is close to zero.