Skip to main content

How should dct:spatial and dct:Location be used? Switch to the latest release

7 years ago

Issue

The use of the MDR vs. Geonames vs. the Core Location Vocabulary URIs seems to be confusing.

The discussion on the issue is available here.

Current situation

DCAT-AP version 1.1 lists a number of controlled vocabularies for named places but it is not the only way to express spatial coverage.

Recommendation

As the specification of DCAT-AP version 1.1 lists a number of controlled vocabularies for named places (MDR Continents Named Authority List, MDR Countries Named Authority List, MDR Places Named Authority List, Geonames) in section 5.2, it may seem to imply that spatial coverage can only be expressed using named places. 
This is not the intention.
The Usage Note in section 3.3 for the class Location states:
A spatial region or named place. It can be represented using a controlled vocabulary or with geographic coordinates. In the latter case, the use of the Core Location Vocabulary is recommended, following the approach described in the GeoDCAT-AP specification.

Rationale

Spatial coverage can be expressed in different ways, such as with named places or spatial regions as stated by the usage note of the DCAT-AP specification version 1.1. Both ways can be represented by using controlled vocabularies or geographic coordinates.

In the first case (i.e. named places), the specification lists different controlled vocabularies: MDR Continents Named Authority ListMDR Countries Named Authority ListMDR Places Named Authority ListGeonames.

In the second case (i.e. geographic coordinates), the specification recommends to use the Core Location Vocabulary by following the guidance described in the GeoDCAT-AP specification.

Example

Based on an example of the GeoDCAT-AP specification on how to specify the spatial coverage.

[] dct:spatial [ a dct:Location ;

            locn:geometry "POLYGON((-10.58 70.09,34.59 70.09,34.59 34.56,-10.58 34.56, -10.58 70.09))"^^gsp:wktLiteral ;

            locn:geometry “<gml:Envelope srsName=\http://www/opengis.net/def/crs/DGC/1.3/CRS84\>

                          <gml:lowerCorner>34.56 -10.58</gml:lowerCorner>

                          <gml:upperCorner>70.09 34.59</gml:upperCorner>

                          </gml:Envelope> "^^gsp:gmlLiteral ] ;  

            locn:geometry "{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"ur n:ogc:def:crs:OGC:1.3:CRS84\"}}, \"coordinates\":[[[- 10.58,70.09],[34.59,70.09],[34.59,34.56],[-10.58,34.56],[-10.58,70.09]]] }"^^ https://www.iana.org/assignments/media-types/application/vnd.geo+json ].