Merk op, het afsprakenstelsel DSGO is nog in ontwikkeling. Zie de Aanpak ontwikkeling afsprakenstelsel voor meer informatie. Voor vragen of opmerkingen neem contact op met afsprakenstelseldsgo@digigo.nu

Data service specification

Deze pagina is in het engels ten behoeve van mogelijk internationale ontwikkelaars

To describe data services uniformly, the trust framework specifies a data_service_info object containing all the relevant elements of the data service specification. The data_service_info object is used in the /capabilities endpoint and in the trust framework catalogue to provide an overview of the data services available in the DSGO and their detailed specifications. The data service specification is inspired by and based on the Data Catalog Vocabulary (DCAT), an open standard for the description of datasets recommended by Forum voor Standaardisatie, and the Data Sharing Canvas.

Source: DCAT v3 - Abstract

Data Catalog Vocabulary (DCAT) is an RDF vocabulary designed to facilitate interoperability between data catalogues published on the Web. This document defines the schema and provides examples for its use.

DCAT enables a publisher to describe datasets and data services in a catalogue using a standard model and vocabulary that facilitates the consumption and aggregation of metadata from multiple catalogues. This can increase the discoverability of datasets and data services.

Data_service_info object

The data_service_info is inspired by, and largely based on DCAT v3. Some additional parameters have been defined in addition to those specified in DCAT to enable DSGO specific features. DSGO specific parameters are indicated with an asterisk.

Note, the data_service_info object is still under development. It is currently focussed at specifying a single endpoint as a data service. It is foreseen that more complex data services will arise, where a number of interactions between a data service consumer and data service provider will have to take place in order to enable a data service. This is not yet covered in this object. This will be expanded on in the further development of the DSGO.

Parameters

Type

Description

accessRights

Required

String

MUST contain a description of the access policy of the data service which is not covered by the level_of_assurance or security_level, MUST be limited to a maximum of 1500 characters.

authenticationMeans*

Optional

String

MUST contain a description of authentication means in case authentication is needed on human level.

conformsTo

Required

Array

MUST contain a (reference to) (one or more) recognised standard to indicate ontologies, semantics, schemes to which the resource in the data service conforms. In order to be machine-readable, this MUST contain an array of URLs, if this is not possible, it MAY contain a human-readable description of the standard.

costs*

Required

String

MUST contain a description of the costs that a data service provider charges a data service consumer for using the data service. In order to be machine-readable, this MUST contain a URL to existing models, if this is not possible, it MAY contain a human-readable description of associated costs.

dataServiceConsumerType*

Required

String

MUST contain a description of what type of data service consumers are supported. Allowed values are "H2M" or "M2M"

endpointDescription

Required

Array

MUST contain a URL to a machine-readable description of the endpoint and possible operations related to the endpoint(s) of the data service. Examples include an OpenAPI (Swagger) description, or YAML file. Additionally, this array MAY include a URL to a human-readable description of the endpoint, for example a developer portal.

hasPolicy

Required

String

MUST contain a description regarding the policies related to the execution of the data service. In order to be machine-readable, this SHOULD contain a XCAML description, if this is not possible, it MAY contain a human-readable description of the policies.

levelOfAssurance*

Optional

String

MUST contain the level of assurance that a data service consumer must achieve in order to make use of the data service, MUST be indicated in accordance with the eHerkenning levels of assurance and be the string value of Not Applicable, eH2+, eH3 or eH4. Only applicable for type of data service consumers involving a human.

license

Required

Array

MUST contain a reference to the legal document under which the data service is made available. MUST be equal to one or more of the licence codes, prepended with a “DSGO." prefix.

securityLevel*

Required

String

MUST contain the level of security that a data service consumer must achieve in order to make use of the data service.

Note, this is not yet defined in the DSGO, but will be further expanded in the development of the DSGO.

serviceLevelAgreements*

Required

Array of objects

Service levels which data service consumers can expect regarding the data service. MUST contain an object including the availability and performance objects.

 

availability*

Required

Array of objects in service_level_agreements object

MUST contain a range of timestamps indicating the weekly availability window of the data service. In order to be machine-readable, this MUST contain a JSON structure as presented below, if this is not possible, it MAY contain a human-readable description of the availability window.

[ {"monday": {"start": "09:00", "end": "17:00"}}, {"tuesday": {"start": "09:00", "end": "17:00"}}, // ... other days ... {"sunday": {"start": "00:00", "end": "00:00"}} ]

 

performance*

Required

string in service_level_agreements object

Performance indicators of the data service. MUST contain a string describing the performance, limited to a maximum of 500 characters.

version

Required

String

Version indicator of the data service, MUST be formatted as a.b.c. inline with the versioning guidelines for the trust framework

* these parameters are DSGO specific and have been added on top of the parameters defined in DCAT v3.

Example of a data service specification in JSON-format

{ "accessRights" : "must have an access token to access", "conformsTo" : ["https://www.digigo.nu/standaarden"], "costs" : "Not Applicable", "dataServiceConsumerType" : "M2M", "endpointDescription" : "https://dsgo-demo.dsgo.app/docs", "hasPolicy" : "None", "licence" : "DSGO.0001", "securityLevel" : "Not Applicable", "serviceLevelAgreements" : [ { "availability": [ {"monday": {"start": "09:00", "end": "17:00"}}, {"tuesday": {"start": "09:00", "end": "17:00"}}, // ... other days ... {"sunday": {"start": "00:00", "end": "00:00"}} ] }, { "performance": "responds to 95% of requests within 2 seconds" } ], "version":"v0.1.0" }