Norwegian Digitalisation Agency representative raised the issue regarding the formats/mediaTypes a DataService may support in BregDCAT-AP, as this is one of the main considerations when deciding whether a DataService is (re)usable or not.
In the current version of BRegDCAT-AP, dcat:DataService doesn’t have properties dct:format and dcat:mediaType the way dcat:Distribution has. Possible ways to describe formats/mediaTypes of a DataService are thus:
- Using dcat:DataService/dcat:endpointDescription. The main disadvantage is that it doesn’t necessarily ensure a standardized way of expressing formats and mediaTypes, which makes it impossible to e.g., sort/query DataServices according to formats/mediaTypes.
- Using dcat:DataService/dcat:servesDataset -> dcat:Dataset/dcat:distribution -> dcat:Distribution/dct:format (or dcat:Distribution/dcat:mediaType). The main disadvantage is the _unnecessary_ overhead in creating and maintaining all those extra Distributions (and Datasets).
- Since the multiplicities for dcat:Distribution/dct:format and dcat:Distribution/dcat:mediaType are both 0..1 in BRegDCAT-AP, one has to create several Distributions in order to express that a DataService/API may support several different formats/mediaTypes.
There are real cases where DataServices provide data in several different formats/mediaTypes (e.g., all 6 standard serializations of RDF), and which are not associated to any Distribution nor Dataset.
Norwegian Digitalisation Agency proposed to add the following properties to dcat:DataService:
- recommended, format, dct:format, 0..n, range dct:MediaTypeOrExtent, EU File Type must be used
- optional, media type, dcat:mediaType, 0..n , range dct:MediaType, IANA Media Types must be used
Note: Those new properties are same as the corresponding ones in dcat:Distribution, except for the multiplicities which are 0..n for both here in dcat:DataService since a DataService/API may support several different formats/mediaTypes
Options to discuss:
- Add properties dct:format and dcat:mediaType to dcat:DataService
- Other possible ways to address this issue
- Examples, etc.