high-level explanation of profile-based content negotiation

Dear all,

Given the other discussions on profiles,
it might be good to explain on a high level how
Lars, Herbert and myself see the IETF RFC
regarding profile negotiation we are editing.


SCOPE
For the RFC, a profile is a set of structural and/or
semantic constraints that can be imposed on a document.
It provides extra assumptions/interpretations
that a recipient is allowed to make.
A document can conform to one or multiple profiles.


IDENTIFICATION
A profile will be identified by an IRI.
This IRI can be dereferenceable,
so something meaningful is returned
when clients follow that IRI.
We do not specify what is returned in general,
but can do so for specific cases within this working group.


NEGOTIATION
On a high level, negotiation works as follows:
– A client indicates the profiles it is compatible with
   by using their IRIs.
– A server aims to return a response
   that maximally uses these preferences,
   indicating which profiles the response conforms to.


As you can see, this mechanism is very generic.
This also means it is compatible with any more specific profile,
for instance, such as a DCAT application profile
(whatever this might become).

However, at the same time, we see no reason
to tie profile negotiation specifically to DCAT.
In fact, tying it to DCAT would reduce
the number of applicable use cases
and hence the possible uptake.

Best,

Ruben

Received on Monday, 19 June 2017 17:56:40 UTC