Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Dedicated support for HTTP compliant datasets #1086
I understand that DCAT 2 content is frozen, so this is a feature request to be considered for a future version.
While working with DCAT data catalogs I came across this challenge: The link between datasets and distributions seems to be used pretty much arbitrarily in practice. For example, picking an arbitrary entry from data.gov, I can see a zip file, web resources, REST endpoint. In the typical CKAN-DCAT mapping, all these resources become distributions and my impression is, that the DCAT 2 standard does (intentionally?) not impose many restrictions here.
And with this lax modeling, it is impossible for application to refer to a (DCAT) dataset and to have it do something smart with it.
So what is a dataset in the first place?
I would like to make the following proposal:
Dataset descriptions that adhere to these rules, can be unambigously served according the HTTP principles, notably content negotiation, by a DCAT-based HTTP proxy.
As I see it, there is a strong link between how HTTP functions and how datasets - according to the strict definition - correspond to HTTP resources that thus can be served in a standard way based on catalog metadata. This aspect is in my impression not yet adequately considered in the DCAT spec.
A quick example to clarify what I mean by the HTTP content negotiation aspect:
Let's say there is a DCAT catalog on the Web with an n-triple and turtle distribution
Then I would assume that if someone wrote a DCAT HTTP server that can serve datasets based on DCAT (I call that a data node), that a client could do:
And the data node would choose the appropriate distribution from it:
So this establishes quite a strong link between DCAT and HTTP conneg.
Of course there are forseeable subtleties, which a data node has to handle, such as avoiding sending out content locations that cause a HTTP 506 Variant Also Negotiates.