solid / specification

Solid Technical Reports
https://solidproject.org/TR/
MIT License
495 stars 44 forks source link

Dimensions of Auxiliary Resource Types #306

Open kjetilk opened 3 years ago

kjetilk commented 3 years ago

In the interest of resolving #177 , which is a prioritized issue, I read through many of the open issues labelled auxiliary resources. I may still have missed something. As @csarven notes, we need different relation types for different auxiliary resource types, otherwise, a client would not know what to get. In #172 , @justinwb suggested a few types. However, I have been looking for commonalities, and I think we'd resolve many issues if we took a more general approach. I think that "server managed" is one of several dimensions that auxiliary resources can map to, rather than a type in its own right. If we identify the dimensions that can be used to build auxiliary resource types, then we can in using hypermedia ( #270 ), define types in terms of those dimensions.

The four dimensions that I have identify so far are whether an auxiliary resource

kjetilk commented 3 years ago

I can make a stab at defining some of the mentioned aux resource types in these terms, to make it more concrete. I use the terms in paranthesis in the list above, and use + or - to indicate whether it uses the dimension or not.

Type LC AC SM TS
Access Control + -(or +? (#303)) - -
ShapeTree + + - -
Redirect #136 - - - -
Augmentation #144 + + - -
Description (the usual one) + - - -
Logs - + + -

Etc.

csarven commented 3 years ago

There is a bit more comprehensive list of resource types documented here: https://github.com/solid/specification/issues/191 . I suggest using that as basis/input for the categorisation.

kjetilk commented 3 years ago

Yes, indeed!

Perhaps we should also be clearer about what should be an auxiliary resource and what should not. It seems to me that a few of these, like provenance, would at least sometimes be a normal contained, resource.

csarven commented 3 years ago

The resolution of the dimensions can vary. What I wrote in https://github.com/solid/specification/issues/270#issuecomment-868013522 is fairly flat and I think gives more precision on the characteristics of auxiliary resources. And, then there is additional consideration/definition about auxiliary resources which may not necessarily be a dimension - whether auxiliary resources can every be part of containment.