- From: Andrea Perego via GitHub <sysbot+gh@w3.org>
- Date: Sat, 20 Jun 2020 23:11:38 +0000
- To: public-dxwg-wg@w3.org
andrea-perego has just created a new issue for https://github.com/w3c/dxwg:
== Service vs endpoint ==
I propose we consider re-visiting the service-endpoint relationship, based on existing examples where such relationship is 1-to-many.
DCAT 2 includes two properties - `dcat:endpointURL` and `dcat:endpointDescription` - for specifying a service endpoint, plus property `dct:conformsTo`, which is used to specify its "protocol". As these properties take as subject a `dcat:DataService`, the service-endpoint relationship is 1-to-1.
There are however cases where services have more than one endpoint.
As an example, see the following record:
https://sdi.eea.europa.eu/catalogue/idp/api/records/29e08b66-e6f6-4b4f-95ad-b582d9fe3df5
The record describes a geospatial "view" service (i.e., a service portraying data on a map) with 2 endpoints, both serving the same dataset, but using different protocols (WMS and ArcGIS REST), and with different endpoint descriptions and URLs. Transformed into DCAT, this record will then be as follows:
````turtle
:eea_v_4326_250_k_wise-eionet-monitoring-sites_service a dcat:DataService ;
...
dcat:endpointDescription <https://water.discomap.eea.europa.eu/arcgis/rest/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer> ;
dcat:endpointURL <https://water.discomap.eea.europa.eu/arcgis/rest/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer> ;
dct:conformsTo <https://developers.arcgis.com/rest/> ;
dcat:endpointDescription <https://water.discomap.eea.europa.eu/arcgis/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer/WMSServer?request=GetCapabilities&service=WMS> ;
dcat:endpointURL <https://water.discomap.eea.europa.eu/arcgis/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer/WMSServer> ;
dct:conformsTo <http://www.opengeospatial.org/standards/wms> ;
dcat:servesDataset :eea_v_4326_250_k_wise-eionet_p_2001-2020_v01_r04 ;
...
.
````
This case is outlined in DCAT 2 in [Example 49](https://www.w3.org/TR/vocab-dcat-2/#ex-service-gsa), where the solution is to duplicate the service record, and changing only the endpoint protocol, description, and URL. So, the record above should result in two different ones:
````turtle
:eea-rest a dcat:DataService ;
...
dcat:endpointDescription <https://water.discomap.eea.europa.eu/arcgis/rest/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer> ;
dcat:endpointURL <https://water.discomap.eea.europa.eu/arcgis/rest/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer> ;
dct:conformsTo <https://developers.arcgis.com/rest/> ;
dcat:servesDataset :eea_v_4326_250_k_wise-eionet_p_2001-2020_v01_r04 ;
...
.
:eea-wms a dcat:DataService ;
...
dcat:endpointDescription <https://water.discomap.eea.europa.eu/arcgis/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer/WMSServer?request=GetCapabilities&service=WMS> ;
dcat:endpointURL <https://water.discomap.eea.europa.eu/arcgis/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer/WMSServer> ;
dct:conformsTo <http://www.opengeospatial.org/standards/wms> ;
dcat:servesDataset :eea_v_4326_250_k_wise-eionet_p_2001-2020_v01_r04 ;
...
.
````
I think this approach should be complemented with the possibility of keeping instead a single service with 2 endpoints, as in the original record. It would be up to data providers to decide which one would suit them best.
A possible solution is to define a new property (e.g., `dcat:endpoint`), which specifies the endpoint (possibly typed itself as a `dcat:DataService`), along with the endpoint description, URL and protocol.
The example above would then be re-written as follows:
````turtle
:eea_v_4326_250_k_wise-eionet-monitoring-sites_service a dcat:DataService ;
...
dcat:endpoint [ a dcat:DataService ;
dcat:endpointDescription <https://water.discomap.eea.europa.eu/arcgis/rest/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer> ;
dcat:endpointURL <https://water.discomap.eea.europa.eu/arcgis/rest/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer> ;
dct:conformsTo <https://developers.arcgis.com/rest/> ;
] ;
dcat:endpoint [ a dcat:DataService ;
dcat:endpointDescription <https://water.discomap.eea.europa.eu/arcgis/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer/WMSServer?request=GetCapabilities&service=WMS> ;
dcat:endpointURL <https://water.discomap.eea.europa.eu/arcgis/services/WISE_SoE/EIONET_MonitoringSite_WM/MapServer/WMSServer> ;
dct:conformsTo <http://www.opengeospatial.org/standards/wms> ;
] ;
dcat:servesDataset :eea_v_4326_250_k_wise-eionet_p_2001-2020_v01_r04 ;
...
.
````
Please view or discuss this issue at https://github.com/w3c/dxwg/issues/1242 using your GitHub account
Received on Saturday, 20 June 2020 23:11:39 UTC