ISO-19139_che zu DCAT-AP CH

Conversion des géométadonnées pour opendata.swiss

Pour pouvoir être publiées sur opendata.swiss, les géométadonnées doivent être converties de la norme ISO 19139 dans celle appliquée par le portail des données ouvertes (DCAT-AP CH). La présente documentation décrit comment procéder en général à la conversion de géométadonnées réunies sous ISO 19139 vers la norme DCAT-AP CH, passage obligé pour les publier sur opendata.swiss. Il s’agit concrètement d’une sérialisation XML via XPath .

Cette documentation n’est pour l’heure disponible qu’en anglais.

DCAT-AP CH Standard Overview

This documentation describes the mapping from ISO-19139_che to DCAT-AP CH. ISO-19139_che is a standard used by geocat.ch, a data source from which opendata.swiss harvests datasets.

In this documentation we focus on the XML serialization of ISO-19139_che and therefore describe the mapping in form of XPath (if not noted differently).

Example-Catalog

Example XML serialization of an ISO-19139_che dataset

Overview

Geocat Distributions //gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource are mapped either to the dcat:Dataset class or to the dcat:Distribution class, depending on .//gmd:protocol

The « Mapped from » column in the table gives just a hint on where the metadata is taken from. Please see the field descriptions for the actual mapping.

Mapping to dcat:Dataset

Mappings to dcat:Dataset

DCAT property

Mapped from

Usage Notes

dct:title

//gmd:identificationInfo//gmd:citation//gmd:title

multilingual

dct:description

//gmd:identificationInfo//gmd:abstract

multilingual

dct:publisher

//gmd:identificationInfo//gmd:pointOfContact

dcat:contactPoint

//gmd:identificationInfo//gmd:pointOfContact or //gmd:contact

dct:identifier

//gmd:fileIdentifier

dcat:Distribution

//gmd:distributionInfo

dct:issued

//gmd:identificationInfo//gmd:citation//gmd:CI_Date

modified

//gmd:identificationInfo//gmd:citation//gmd:CI_Date

dcat:theme

//gmd:identificationInfo//gmd:topicCategory

dcat:landingPage

//gmd:distributionInfo

depends on gmd:protocol

dct:relation

//gmd:distributionInfo

depends on gmd:protocol

dct:language

//gmd:identificationInfo//gmd:language

dcat:keyword

//gmd:identificationInfo//gmd:descriptiveKeywords

multilingual

dct:spatial

//gmd:identificationInfo//gmd:extent

dct:coverage

mapping not implemented

dct:temporal

//gmd:identificationInfo//gmd:extent//gmd:temporalElement

accrual periodicity

//gmd:identificationInfo//che:CHE_MD_MaintenanceInformation

see also

//gmd:identificationInfo//gmd:aggregationInfo

Mapping to dcat:Distribution

Mappings of //gmd:DistributionInfo to dcat:Distribution

DCAT property

Mapped from

Usage Notes

dct:issued

//gmd:identificationInfo//gmd:citation//gmd:CI_Date

taken from the Dataset

dcat:accessURL

.//gmd:linkage

dct:rights

//gmd:resourceConstraints

derived for the dataset

dct:title

.//gmd:name

in combination with protocol

dct:description

.//gmd:description

dcat:byteSize

mapping not implemented

media type

.//gmd:protocol

derived from the protocol

dct:format

.//gmd:protocol

derived from the protocol

dct:language

.//gmd:linkage//che:LocalisedURL

depends on localized urls

dct:modified

//gmd:identificationInfo//gmd:citation//gmd:CI_Date

taken from the Dataset

dct:license

mapping not implemented

dct:identifier

mapping not implemented

download url

.//gmd:linkage

download protocols only

coverage

mapping not implemented

Dataset

//gmd:fileIdentifier to dct:identifier

DCAT

dct:identifier

XPATH

//gmd:fileIdentifier

Value

gco:CharacterString/text()

Usage Notes

the internal id of the dataset is taken from the XPath //gmd:fileIdentifier and combined with the slug of the publishing organization to form the value of dct:identifier, with the format <id>@<organization-slug>.

ISO-19139_che XPath for dct:identifier
//gmd:fileIdentifier/gco:CharacterString/text()

Example for geocat mapping to dct:identifier

getting the internal id of a dataset from //gmd:fileIdentifier
<gmd:fileIdentifier>
    <gco:CharacterString>93814e81-2466-4690-b54d-c1d958f1c3b8</gco:CharacterString>
</gmd:fileIdentifier>

/gmd:identificationInfo//gmd:citation//gmd:title to dct:title

DCAT

dct:title

XPATH

//gmd:identificationInfo//gmd:citation//gmd:title

Value

.//gmd:textGroup/gmd:LocalisedCharacterString[@locale="<lang code>"]/text()

Fallback-Value

.//gmd:CharacterString/text()

Usage Notes

<lang code> is expected as DE, EN, FR, IT. In case the localized strings are not there the Fallback will be used for all 4 languages

ISO-19139_che XPath for dct:title
//gmd:identificationInfo//gmd:citation//gmd:title//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#DE]/text()
//gmd:identificationInfo//gmd:citation//gmd:title//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#EN]/text()
//gmd:identificationInfo//gmd:citation//gmd:title//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#FR]/text()
//gmd:identificationInfo//gmd:citation//gmd:title//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#IT]/text()
//gmd:identificationInfo//gmd:citation//gmd:title//gco:CharacterString/text()

Example for geocat-mapping to dct:title

Example of getting dct:title. Only four languages are taken: DE, EN, FR, IT.
<gmd:title xsi:type="gmd:PT_FreeText_PropertyType">
  <gco:CharacterString>Lärmbelastung durch Eisenbahnverkehr (Lr_Nacht)</gco:CharacterString>
  <gmd:PT_FreeText>
    <gmd:textGroup>
      <gmd:LocalisedCharacterString locale="#FR">
        Exposition au bruit du trafic ferroviaire (Lr_nuit)
      </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
      <gmd:LocalisedCharacterString locale="#DE">
        Lärmbelastung durch Eisenbahnverkehr (Lr_Nacht)
      </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
      <gmd:LocalisedCharacterString locale="#EN">
        Nighttime railway noise exposure
      </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
      <gmd:LocalisedCharacterString locale="#IT">
        Esposizione al rumore del traffico ferroviario (Lr_notte)
      </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
      <gmd:LocalisedCharacterString locale="#RM">
        Grevezza da canera tras il traffic da viafier durant la notg
      </gmd:LocalisedCharacterString>
    </gmd:textGroup>
  </gmd:PT_FreeText>
</gmd:title>

/gmd:identificationInfo//gmd:abstract to dct:description

DCAT

dct:description

XPATH

//gmd:identificationInfo//gmd:abstract

Value

.//gmd:textGroup/gmd:LocalisedCharacterString[@locale="<lang code>"]/text()

Fallback-Value

.//gmd:CharacterString/text()

Usage Notes

<lang code> is expected as DE, EN, FR, IT. In case the localized strings are not there the Fallback will be used for all 4 languages

ISO-19139_che XPath for dct:description
//gmd:identificationInfo//gmd:abstract//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#DE]/text()
//gmd:identificationInfo//gmd:abstract//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#EN]/text()
//gmd:identificationInfo//gmd:abstract//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#FR]/text()
//gmd:identificationInfo//gmd:abstract//gmd:textGroup/gmd:LocalisedCharacterString[@LOCALE=#IT]/text()
//gmd:identificationInfo//gmd:abstract//gmd:CharacterString/text()

Example for geocat-mapping to dct:description

Example of getting dct:description: only 4 languages are taken: DE, EN, FR, IT
<gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType">
    <gco:CharacterString>Dans le cas de travaux de terrain réalisés pour la mensuration officielle, un ajustage local
        doit systématiquement être exécuté sauf si la preuve peut être apporté qu’il peut y être renoncé. Un tel
        ajustage local est superflu dans les zones  les tensions sont négligeables parce que la précision géométrique
        satisfait à des critères de qualité très élevés. Dans la pratique quotidienne, la connaissance des zones  les
        tensions sont négligeables facilite l’emploi des méthodes de mesure basées sur des satellites, en particulier le
        recours à des services de positionnement.
    </gco:CharacterString>
    <gmd:PT_FreeText>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#FR">Dans le cas de travaux de terrain réalisés pour la mensuration
                officielle, un ajustage local doit systématiquement être exécuté sauf si la preuve peut être apporté
                qu’il peut y être renoncé. Un tel ajustage local est superflu dans les zones  les tensions sont
                négligeables parce que la précision géométrique satisfait à des critères de qualité très élevés. Dans la
                pratique quotidienne, la connaissance des zones  les tensions sont négligeables facilite l’emploi des
                méthodes de mesure basées sur des satellites, en particulier le recours à des services de
                positionnement.
            </gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#DE">Bei Feldarbeiten in der amtlichen Vermessung muss jeweils eine
                lokale Einpassung durchgeführt werden oder zumindest der Nachweis erbracht werden, dass auf eine solche
                verzichtet werden kann. In spannungsarmen Gebieten erübrigt sich eine lokale Einpassung, weil die
                geometrische Genauigkeit erhöhten Qualitätskriterien entspricht. In der praktischen Anwendung
                erleichtert die Kenntnis solcher spannungsarmen Gebiete die Arbeiten mit satellitengestützten
                Messmethoden, insbesondere mit Positionierungsdiensten wie zum Beispiel swipos.
            </gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#IT">Nel caso di lavori sul campo eseguiti per la misurazione
                ufficiale occorre effettuare di volta in volta un aggiustamento locale o quanto meno fornire la prova
                che è possibile rinunciare a tale aggiustamento. Nelle zone di tensioni trascurabili un aggiustamento
                locale diviene superfluo, perché l'esattezza geometrica soddisfa criteri di qualità superiori.
                Nell'applicazione pratica, la conoscenza di queste zone di tensioni trascurabili facilita il lavoro con
                i metodi di misurazione satellitari e in particolare con servizi di posizionamento quali ad esempio
                swipos.
            </gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#EN">During fieldwork in the official cadastral survey, a local
                adaptation must be made or proof must be provided that this is not needed. In low distortion areas, a
                local adaptation is not necessary, because the geometric accuracy complies with higher quality criteria.
                In practical applications, knowledge of low distortion areas makes working with satellite:based
                measuring methods easier, in particular with positioning services such as swipos.
            </gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#RM">En cas da lavurs champestras che vegnan fatgas per la mesiraziun
                uffiziala sto vegnir fatga mintgamai in'adattaziun locala u almain vegnir furnida la cumprova ch'ins po
                renunziar ad ina tala. En territoris cun tensiuns negligiblas n'è in'adattaziun locala betg necessaria,
                perquai che la precisiun geometrica correspunda a criteris da qualitad fitg auts. En la pratica
                quotidiana facilitescha l'enconuschientscha da tals territoris cun tensiuns negligiblas l'applicaziun da
                metodas da mesiraziun per satellit, cunzunt tras servetschs da posiziunament sco per exempel swipos.
            </gmd:LocalisedCharacterString>
        </gmd:textGroup>
    </gmd:PT_FreeText>
</gmd:abstract>

gmd:pointOfContact or //gmd:contact to dct:publisher

DCAT

dct:publisher

XPATH

//gmd:identificationInfo/gmd:pointOfContact or //gmd:contact//che:CHE_CI_ResponsibleParty

Filter

.//gmd:CI_RoleCode/@codeListValue

Value

.//gmd:organisationName/gco:CharacterString/text()

Usage Notes

The publisher consists of a name and a uri. Currently only the publisher name is mapped from the geocat dataset: For the uri the url of the organization that the dataset belongs on opendata.swiss is taken: https://opendata.swiss/de/organization

ISO-19139_che XPath for dct:publisher: the first is taken in the following order:
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "publisher"]//gmd:organisationName/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "owner"]//gmd:organisationName/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "pointOfContact"]//gmd:organisationName/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "distributor"]//gmd:organisationName/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "custodian"]//gmd:organisationName/gco:CharacterString
//gmd:contact//che:CHE_CI_ResponsibleParty//gmd:organisationName/gco:CharacterString

Example for geocat mapping to dct:publisher

The role publisher is taken in this example. Note that the localized string would not be considered in this mapping
<gmd:pointOfContact>
    <gmd:CI_ResponsibleParty>
        <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType">
            <gco:CharacterString>Geoinformationszentrum (GIS) Stadt Luzern</gco:CharacterString>
            <gmd:PT_FreeText>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#DE">Geoinformationszentrum (GIS) Stadt
                        Luzern
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
            </gmd:PT_FreeText>
        </gmd:organisationName>
        <gmd:role>
            <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode"
                             codeListValue="publisher"/>
        </gmd:role>
    </gmd:CI_ResponsibleParty>
</gmd:pointOfContact>

gmd:pointOfContact or //gmd:contact to dct:contactPoint

DCAT

dcat:contactPoint

XPATH

//gmd:identificationInfo/gmd:pointOfContact or //gmd:contact

Value

gmd:electronicMailAddress/gco:CharacterString

Usage Notes

Only one contact email is taken. A corresponding name is not taken.

ISO-19139_che XPath for dcat:contactPoint: the first is taken in the following order
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "pointOfContact"]//gmd:address//gmd:electronicMailAddress/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "owner"]//gmd:address//gmd:electronicMailAddress/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "publisher"]//gmd:address//gmd:electronicMailAddress/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "distributor"]//gmd:address//gmd:electronicMailAddress/gco:CharacterString
//gmd:identificationInfo//gmd:pointOfContact[.//gmd:CI_RoleCode/@codeListValue = "custodian"]//gmd:address//gmd:electronicMailAddress/gco:CharacterString
//gmd:contact//che:CHE_CI_ResponsibleParty//gmd:address//gmd:electronicMailAddress/gco:CharacterString

Example for geocat mapping to dcat:contactPoint

//gmd:contact the role « pointOfContact » is taken for dcat:contactPoint
<gmd:contact xlink:show="embed">
    <che:CHE_CI_ResponsibleParty xmlns:geonet="http://www.fao.org/geonetwork" gco:isoType="gmd:CI_ResponsibleParty">
        <gmd:organisationName xsi:type="gmd:PT_FreeText_PropertyType">
            <gco:CharacterString>Bundesamt für Raumentwicklung</gco:CharacterString>
            <gmd:PT_FreeText>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#DE">Bundesamt für Raumentwicklung
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#FR">Office fédéral du développement territorial
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#IT">Ufficio federale dello sviluppo territoriale
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#EN">Federal Office for Spatial Development
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#RM">Bundesamt für Raumentwicklung
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
            </gmd:PT_FreeText>
        </gmd:organisationName>
        <gmd:contactInfo>
            <gmd:CI_Contact>
                <gmd:phone>
                    <che:CHE_CI_Telephone gco:isoType="gmd:CI_Telephone">
                        <che:directNumber>
                            <gco:CharacterString>+41 58 462 01 43</gco:CharacterString>
                        </che:directNumber>
                    </che:CHE_CI_Telephone>
                </gmd:phone>
                <gmd:address>
                    <che:CHE_CI_Address gco:isoType="gmd:CI_Address">
                        <gmd:city>
                            <gco:CharacterString>Ittigen</gco:CharacterString>
                        </gmd:city>
                        <gmd:postalCode>
                            <gco:CharacterString>3063</gco:CharacterString>
                        </gmd:postalCode>
                        <gmd:country>
                            <gco:CharacterString>CH</gco:CharacterString>
                        </gmd:country>
                        <gmd:electronicMailAddress>
                            <gco:CharacterString>rolf.giezendanner@are.admin.ch</gco:CharacterString>
                        </gmd:electronicMailAddress>
                        <che:streetName>
                            <gco:CharacterString>Worblentalstrasse</gco:CharacterString>
                        </che:streetName>
                        <che:streetNumber>
                            <gco:CharacterString>66</gco:CharacterString>
                        </che:streetNumber>
                    </che:CHE_CI_Address>
                </gmd:address>
                <gmd:onlineResource>
                    <gmd:CI_OnlineResource>
                        <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
                            <gmd:URL>http://www.are.admin.ch</gmd:URL>
                            <che:PT_FreeURL>
                                <che:URLGroup>
                                    <che:LocalisedURL locale="#DE">http://www.are.admin.ch</che:LocalisedURL>
                                </che:URLGroup>
                                <che:URLGroup>
                                    <che:LocalisedURL locale="#FR">http://www.are.admin.ch</che:LocalisedURL>
                                </che:URLGroup>
                                <che:URLGroup>
                                    <che:LocalisedURL locale="#IT">http://www.are.admin.ch</che:LocalisedURL>
                                </che:URLGroup>
                                <che:URLGroup>
                                    <che:LocalisedURL locale="#EN">http://www.are.admin.ch</che:LocalisedURL>
                                </che:URLGroup>
                                <che:URLGroup>
                                    <che:LocalisedURL locale="#RM">http://www.are.admin.ch</che:LocalisedURL>
                                </che:URLGroup>
                            </che:PT_FreeURL>
                        </gmd:linkage>
                        <gmd:protocol>
                            <gco:CharacterString>text/html</gco:CharacterString>
                        </gmd:protocol>
                    </gmd:CI_OnlineResource>
                </gmd:onlineResource>
            </gmd:CI_Contact>
        </gmd:contactInfo>
        <gmd:role>
            <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/codeList.xml#CI_RoleCode"
                             codeListValue="pointOfContact"/>
        </gmd:role>
        <che:individualFirstName>
            <gco:CharacterString>Rolf</gco:CharacterString>
        </che:individualFirstName>
        <che:individualLastName>
            <gco:CharacterString>Giezendanner</gco:CharacterString>
        </che:individualLastName>
        <che:organisationAcronym xsi:type="gmd:PT_FreeText_PropertyType">
            <gco:CharacterString>ARE</gco:CharacterString>
            <gmd:PT_FreeText>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#DE">ARE</gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#FR">ARE</gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#IT">ARE</gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#EN">ARE</gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#RM">ARE</gmd:LocalisedCharacterString>
                </gmd:textGroup>
            </gmd:PT_FreeText>
        </che:organisationAcronym>
    </che:CHE_CI_ResponsibleParty>
</gmd:contact>

//gmd:distributionInfo/gmd:MD_Distribution to dcat:distribution

DCAT

dcat:distribution

XPATH

//gmd:distributionInfo/gmd:MD_Distribution[//gmd:transferOptions//gmd:CI_OnlineResource

protocol

//gmd:distributionInfo/gmd:MD_Distribution[//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol

Mapping

The mapping depends on the protocol. If the Protocol starts in the following way it is mapped to a dcat:Distribution: WWW:DOWNLOAD, OGC:WMTS, OGC:WFS, OGC:WMS, LINKED:DATA, ESRI:REST, MAP:Preview

Usage Notes

Only the above geocat Distributions will be mapped to dcat:Distribution. There are other protocols that will be mapped to dcat:landingPage and dct:relation.

ISO-19139_che XPath for getting the protocols for the geocat distributions
//gmd:distributionInfo/gmd:MD_Distribution[//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol/gco:CharacterString/text()

Example of getting the protocols for dcat:distribution

Getting all distribution protocols for a dataset with //gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol
<gmd:protocol>
    <gco:CharacterString>ESRI:REST</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>OGC:WMS</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>WWW:DOWNLOAD:INTERLIS</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>MAP:Preview</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>WWW:DOWNLOAD:APP</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>WWW:LINK</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>WWW:DOWNLOAD:URL</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>CHTOPO:specialised:geoportal</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>OGC:WFS</gco:CharacterString>
</gmd:protocol>
<gmd:protocol>
    <gco:CharacterString>LINKED:DATA</gco:CharacterString>
</gmd:protocol>

//gmd:identificationInfo//gmd:citation//gmd:CI_Date to dct:issued

DCAT

dct:issued

XPATH

//gmd:identificationInfo//gmd:citation//gmd:CI_Date

Role

publication or creation or revision

Value

.//gco:Date or .//gco:DateTime

Usage Notes

This also serves as dct:issued for dcat:Distribution

The first found date is taken in the order defined below:
//gmd:identificationInfo//gmd:citation//gmd:CI_Date[.//gmd:CI_DateTypeCode/@codeListValue = "publication"]//gco:Date or gco:DateTime
//gmd:identificationInfo//gmd:citation//gmd:CI_Date[.//gmd:CI_DateTypeCode/@codeListValue = "creation"]//gco:Date or gco:DateTime
//gmd:identificationInfo//gmd:citation//gmd:CI_Date[.//gmd:CI_DateTypeCode/@codeListValue = "revision"]//gco:Date or gco:DateTime

Example for geocat mapping to dct:issued

getting the « creation » date from //gmd:identificationInfo//gmd:citation//gmd:CI_Date to map onto dct:issued
<gmd:CI_Date>
    <gmd:date>
        <gco:DateTime>2020:10:21T00:00:00</gco:DateTime>
    </gmd:date>
    <gmd:dateType>
        <gmd:CI_DateTypeCode codeListValue="revision"
                             codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode"/>
    </gmd:dateType>
</gmd:CI_Date>
<gmd:CI_Date>
    <gmd:date>
        <gco:DateTime>2011:01:01T00:00:00</gco:DateTime>
    </gmd:date>
    <gmd:dateType>
        <gmd:CI_DateTypeCode
            codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode"
            codeListValue="creation"/>
    </gmd:dateType>
</gmd:CI_Date>

//gmd:identificationInfo//gmd:citation//gmd:CI_Date to dct:modified

DCAT

dct:modified

XPATH

//gmd:identificationInfo//gmd:citation//gmd:CI_Date

Role

revision

Value

//gco:Date or //gco:DateTime

Usage Notes

This also serves as dct:modified for dcat:Distribution

The date for the role revision is taken
//gmd:identificationInfo//gmd:citation//gmd:CI_Date[.//gmd:CI_DateTypeCode/@codeListValue = "revision"]//gco:Date or gco:DateTime

Example for geocat mapping to dct:modified

getting the « revision » date from //gmd:identificationInfo//gmd:citation//gmd:CI_Date to map onto dct:modified
<gmd:CI_Date>
    <gmd:date>
        <gco:DateTime>2020:10:21T00:00:00</gco:DateTime>
    </gmd:date>
    <gmd:dateType>
        <gmd:CI_DateTypeCode codeListValue="revision"
                             codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode"/>
    </gmd:dateType>
</gmd:CI_Date>
<gmd:CI_Date>
    <gmd:date>
        <gco:DateTime>2011:01:01T00:00:00</gco:DateTime>
    </gmd:date>
    <gmd:dateType>
        <gmd:CI_DateTypeCode
            codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode"
            codeListValue="creation"/>
    </gmd:dateType>
</gmd:CI_Date>

//gmd:identificationInfo//gmd:topicCategory/ to dcat:theme

DCAT

dct:theme

XPATH

//gmd:identificationInfo//gmd:topicCategory/

Mapping of values

Geocat topicCategory values are mapped to themes from the DCAT-AP CH themes vocabulary: in rdf/xml in turtle For details of the mapping, see below.

getting category with XPATH
//gmd:identificationInfo//gmd:topicCategory/gmd:MD_TopicCategoryCode
Mapping of topicCategory to themes
swisstopo_to_ogdch_group_mapping = {
    'imageryBaseMapsEarthCover': ['geography', 'territory'],
    'imageryBaseMapsEarthCover_BaseMaps': ['geography', 'territory'],
    'imageryBaseMapsEarthCover_EarthCover': ['geography', 'territory'],
    'imageryBaseMapsEarthCover_Imagery': ['geography', 'territory'],
    'location': ['geography', 'territory'],
    'elevation': ['geography', 'territory'],
    'boundaries': ['geography', 'territory'],
    'planningCadastre': ['geography', 'territory'],
    'planningCadastre_Planning': ['geography', 'territory'],
    'planningCadastre_Cadastre': ['geography', 'territory'],
    'geoscientificInformation': ['geography', 'territory'],
    'geoscientificInformation_Geology': ['geography', 'territory'],
    'geoscientificInformation_Soils': ['geography', 'territory'],
    'geoscientificInformation_NaturalHazards': ['geography', 'territory'],
    'biota': ['geography', 'territory', 'agriculture'],
    'oceans': ['geography', 'territory'],
    'inlandWaters': ['geography', 'territory'],
    'climatologyMeteorologyAtmosphere': ['geography', 'territory'],
    'environment': ['geography', 'territory'],
    'environment_EnvironmentalProtection': ['geography', 'territory'],
    'environment_NatureProtection': ['geography', 'territory'],
    'society': ['geography', 'culture', 'population'],
    'health': ['geography', 'health'],
    'structure': ['geography', 'construction'],
    'transportation': ['geography', 'mobility'],
    'utilitiesCommunication': ['geography', 'territory', 'energy', 'culture'],
    'utilitiesCommunication_Energy': ['geography', 'energy', 'territory'],
    'utilitiesCommunication_Utilities': ['geography', 'territory'],
    'utilitiesCommunication_Communication': ['geography', 'culture'],
    'intelligenceMilitary': ['geography', 'public-order'],
    'farming': ['geography', 'agriculture'],
    'economy': ['geography', 'work', 'national-economy'],
}

Example for geocat mapping to dcat:theme

Example of getting dcat:theme from gmd with ISO-19139_che XPath
<gmd:topicCategory>
    <gmd:MD_TopicCategoryCode>planningCadastre</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>
<gmd:topicCategory>
    <gmd:MD_TopicCategoryCode>planningCadastre_Planning</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>

//gmd:identificationInfo//gmd:language to dct:language

DCAT

dct:language

XPATH

//gmd:identificationInfo//gmd:language

Value

gmd:LanguageCode

Usage Notes

only the languages German, French, Italian and English are mapped

ISO-19139_che XPath for dct:language
//gmd:identificationInfo//gmd:language/gmd:LanguageCode
Mapping of the language code from a 3 letter code to 2 letter code
language_mapping = {
    'ger': 'de',
    'fra': 'fr',
    'fre': 'fr',
    'eng': 'en',
    'ita': 'it',
}

Example for geocat mapping to dct:language

The language code is mapped from a 3 letter code to a 2 letter code
<gmd:language>
    <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639:2/" codeListValue="ger"/>
</gmd:language>
<gmd:language>
    <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639:2/" codeListValue="fre"/>
</gmd:language>

//gmd:distributionInfo/gmd:MD_Distribution to dct:landing-page

DCAT

dcat:landingPage

XPATH

//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource

Protocol

WWW:LINK, WWW:LINK-1.0-http--link

Value

.//gmd:linkage/gmd:URL/text()

Fallback-Value

'.//che:LocalisedURL for any language

Usage Notes

The protocol WWW:LINK-1.0-http--link is deprecated, please use WWW:LINK instead

ISO-19139_che XPath for geocat distribution
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource
ISO-19139_che XPath for distribution protocol
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol

Example for geocat mapping to dcat:landingPage

Mapping of the landing page from the first resource with protocol WWW:LINK
<gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>https://swisstopo.admin.ch</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">https://swisstopo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">https://swisstopo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">https://swisstopo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">https://swisstopo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>WWW:LINK</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>Landing Page</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">Landing Page</gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
    <gmd:description gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString/>
    </gmd:description>
    <gmd:function>
        <gmd:CI_OnLineFunctionCode
            codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode"
            codeListValue="information"/>
    </gmd:function>
</gmd:CI_OnlineResource>

//gmd:distributionInfo/gmd:MD_Distribution to dct:relation

DCAT

dct:relation

XPATH

//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource

Protocol

WWW:LINK, CHTOPO:specialised-geoportal, WWW:LINK-1.0-http--link

Value

For the url: .//gmd:linkage/gmd:URL/text(); for the text: .//gmd:description

Fallback-Value

For the url: .//che:LocalisedURL for any language; for the text: the url is used as a fallback

Usage Notes

The protocol WWW:LINK-1.0-http--link is deprecated, please use WWW:LINK instead The first WWWW:LINK is taken as dcat:landingPage, all further WWW-LINK Resources are added to dct:relation

ISO-19139_che XPath for geocat distribution`
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource
ISO-19139_che XPath for distribution protocol
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol

Example for geocat mapping to dct:relation

Example adding a resource of protocol « CHTOPO:specialised:geoportal » to dct:relation
 <gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>https://map.geo.admin.ch</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">https://map.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">https://map.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">https://map.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">https://map.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>CHTOPO:specialised:geoportal</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>Geoportal map.geo.admin.ch</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">Geoportal map.geo.admin.ch</gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
    <gmd:description gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString/>
    </gmd:description>
 </gmd:CI_OnlineResource>

//gmd:identificationInfo//gmd:descriptiveKeywords to dcat:keyword

DCAT

dcat:keyword

XPATH

//gmd:identificationInfo//gmd:descriptiveKeywords//gmd:keyword

Value

//gmd:textGroup//gmd:LocalisedCharacterString

Usage Notes

all keywords with the Locale #DE, #FR, #EN, #IT are taken. The keyword opendata.swiss is not taken: it serves to mark which datasets should be imported to opendata.swiss

ISO-19139_che XPath for dcat:keyword
//gmd:identificationInfo//gmd:descriptiveKeywords//gmd:keyword//gmd:textGroup//gmd:LocalisedCharacterString

Example for geocat mapping to dcat:keyword

Note that the keyword opendata.swiss is not imported
<gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType">
    <gco:CharacterString>Bergwirtschaft</gco:CharacterString>
    <gmd:PT_FreeText>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#DE">Bergwirtschaft</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#FR">aménagement de la montagne</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#IT">sfruttamento razionale della montagna
            </gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#EN">mountain management</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#RM"/>
        </gmd:textGroup>
    </gmd:PT_FreeText>
</gmd:keyword>
<gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType">
<gco:CharacterString>opendata.swiss</gco:CharacterString>
<gmd:PT_FreeText>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#DE">opendata.swiss</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#FR">opendata.swiss</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#IT">opendata.swiss</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#EN">opendata.swiss</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#RM">opendata.swiss</gmd:LocalisedCharacterString>
    </gmd:textGroup>
</gmd:PT_FreeText>
</gmd:keyword>
<gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType">
<gco:CharacterString>Alpwirtschaft</gco:CharacterString>
<gmd:PT_FreeText>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#DE">Alpwirtschaft</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#FR">économie alpestre</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#IT">economia alpestre</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#EN">alpine economy</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#RM"/>
    </gmd:textGroup>
</gmd:PT_FreeText>
</gmd:keyword>
<gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType">
<gco:CharacterString>Bewirtschaftungsgebiete/Schutzgebiete/geregelte Gebiete und Berichterstattungseinheiten
</gco:CharacterString>
<gmd:PT_FreeText>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#DE">Bewirtschaftungsgebiete/Schutzgebiete/geregelte Gebiete und
            Berichterstattungseinheiten
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#FR">Zones de gestion, de restriction ou de réglementation et unités de
            déclaration
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#IT">Zone sottoposte a gestione/limitazioni/regolamentazione e unità con
            obbligo di comunicare dati
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#EN">Area management/restriction/regulation zones and reporting units
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#RM"/>
    </gmd:textGroup>
</gmd:PT_FreeText>
</gmd:keyword>
<gmd:keyword xsi:type="gmd:PT_FreeText_PropertyType">
<gco:CharacterString>Versorgungswirtschaft und staatliche Dienste</gco:CharacterString>
<gmd:PT_FreeText>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#DE">Versorgungswirtschaft und staatliche Dienste
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#FR">Services d'utilité publique et services publics
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#IT">Servizi di pubblica utilità e servizi amministrativi
        </gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#EN">Utility and governmental services</gmd:LocalisedCharacterString>
    </gmd:textGroup>
    <gmd:textGroup>
        <gmd:LocalisedCharacterString locale="#RM"/>
    </gmd:textGroup>
</gmd:PT_FreeText>
</gmd:keyword>

//gmd:identificationInfo//gmd:extent//gmd:description to dct:spatial

DCAT

dct:spatial

XPATH

//gmd:identificationInfo//gmd:extent//gmd:description

Value

./gco:CharacterString/text()

ISO-19139_che XPath for dacat
//gmd:identificationInfo//gmd:extent//gmd:description/gco:CharacterString/text()

Example for geocat mapping to dct:spatial

The general character string is currently taken
<gmd:description xsi:type="gmd:PT_FreeText_PropertyType">
    <gco:CharacterString>Schweiz</gco:CharacterString>
    <gmd:PT_FreeText>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#DE">Schweiz</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#FR">Schweiz</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#IT">Schweiz</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#EN">Schweiz</gmd:LocalisedCharacterString>
        </gmd:textGroup>
        <gmd:textGroup>
            <gmd:LocalisedCharacterString locale="#RM">Schweiz</gmd:LocalisedCharacterString>
        </gmd:textGroup>
    </gmd:PT_FreeText>
</gmd:description>

//gmd:identificationInfo//gmd:extent//gmd:temporalElement to dct:temporal

DCAT

dct:temporal

XPATH

//gmd:identificationInfo//gmd:extent//gmd:temporalElement

Value

//gml:TimePeriod/gml:beginPosition, //gml:TimePeriod/gml:endPosition

getting temporals with XPATH
//gmd:identificationInfo//gmd:extent//gmd:temporalElement//gml:TimePeriod/gml:beginPosition
//gmd:identificationInfo//gmd:extent//gmd:temporalElement//gml:TimePeriod/gml:endPosition

Example for geocat mapping to dct:temporal

Getting a time period for a dataset with //gmd:identificationInfo//gmd:extent//gmd:temporalElement
<gmd:temporalElement>
    <gmd:EX_TemporalExtent>
        <gmd:extent>
            <gml:TimePeriod gml:id="timePeriod1">
                <gml:beginPosition>2020-02-01T00:00:00</gml:beginPosition>
                <gml:endPosition>2021-04-01T23:59:59</gml:endPosition>
            </gml:TimePeriod>
        </gmd:extent>
    </gmd:EX_TemporalExtent>
</gmd:temporalElement>

//gmd:identificationInfo//che:CHE_MD_MaintenanceInformation to dct:accrualPeriodicity

DCAT

dcat:accrualPeriodicity

XPATH

//gmd:identificationInfo//che:CHE_MD_MaintenanceInformation/gmd:maintenanceAndUpdateFrequency/

Value

gmd:MD_MaintenanceFrequencyCode/@codeListValue

Mapping of values

For the mapping of Frequency Codes see below

getting frequency with XPATH
//gmd:identificationInfo//che:CHE_MD_MaintenanceInformation/gmd:maintenanceAndUpdateFrequency/gmd:MD_MaintenanceFrequencyCode/@codeListValue
Mapping of the Frequency Codes
frequency_mapping = {
    'continual':
      'http://publications.europa.eu/resource/authority/frequency/CONT',
    'daily':
      'http://publications.europa.eu/resource/authority/frequency/DAILY',
    'weekly':
      'http://publications.europa.eu/resource/authority/frequency/WEEKLY',
    'fortnightly':
      'http://publications.europa.eu/resource/authority/frequency/BIWEEKLY',
    'monthly':
      'http://publications.europa.eu/resource/authority/frequency/MONTHLY',
    'quarterly':
      'http://publications.europa.eu/resource/authority/frequency/QUARTERLY',
    'biannually':
      'http://publications.europa.eu/resource/authority/frequency/ANNUAL_2',
    'annually':
      'http://publications.europa.eu/resource/authority/frequency/ANNUAL',
    'asNeeded':
      'http://publications.europa.eu/resource/authority/frequency/IRREG',
    'irregular':
      'http://publications.europa.eu/resource/authority/frequency/IRREG',
}

Example for geocat mapping to dct:accrualPeriodicity

Picking up the update frequency: here « annually »
<gmd:maintenanceAndUpdateFrequency>
    <gmd:MD_MaintenanceFrequencyCode
        codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_MaintenanceFrequencyCode"
        codeListValue="annually"/>
</gmd:maintenanceAndUpdateFrequency>

//gmd:identificationInfo//gmd:aggregationInfo to dct:seeAlso

DCAT

rdfs:seeAlso

XPATH

//gmd:identificationInfo//gmd:aggregationInfo//gmd:aggregateDataSetIdentifier/gmd:MD_Identifier

Value

/gmd:code/gco:CharacterString

Mapping of Values

The geocat identifier is mapped to a dct:identifier by attaching @<organization-slug>

XPATH for rdfs:seeAlso: all such values are taken
//gmd:identificationInfo//gmd:aggregationInfo//gmd:aggregateDataSetIdentifier/gmd:MD_Identifier/gmd:code/gco:CharacterString

Definition of dcat:seeAlso in DCAT-AP CH

Geocat Identifiers for rdfs:seeAlso
<gmd:aggregateDataSetIdentifier>
    <gmd:MD_Identifier>
        <gmd:code>
            <gco:CharacterString>73856ca2:f21d:4cc9:90f6:f3e8375555df</gco:CharacterString>
        </gmd:code>
    </gmd:MD_Identifier>
</gmd:aggregateDataSetIdentifier>

Distribution

Set dcat:accessURL

DCAT

dcat:accessURL

XPATH

//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource

Mapping

The mapping depends on the protocol. If the protocol starts in the following way it is mapped to a dcat:Distribution: WWW:DOWNLOAD, OGC:WMTS, OGC:WFS, "OGC:WMS, LINKED:DATA, ESRI:REST, MAP:Preview, WWW:DOWNLOAD-APP

Value

.//gmd:linkage/gmd:URL/text()

Fallback-Value

'.//che:LocalisedURL for any language

Usage Notes

For the protocol WWW:DOWNLOAD the protocol should include the format of the resource: for example WWW:DOWNLOAD:INTERLIS

ISO-19139_che XPath for geocat distribution`
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource
ISO-19139_che XPath for distribution protocol
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol

Example of a « LINKED:DATA » Distribution

Example of mapping to the dcat:accessURL for a distribution of protocol « LINKED:DATA »
 <gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>https://ld.geo.admin.ch/data/swissBOUNDARIES3D</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">https://ld.geo.admin.ch/data/swissBOUNDARIES3D</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">https://ld.geo.admin.ch/data/swissBOUNDARIES3D</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">https://ld.geo.admin.ch/data/swissBOUNDARIES3D</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">https://ld.geo.admin.ch/data/swissBOUNDARIES3D</che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>LINKED:DATA</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>LD</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">LD</gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
 </gmd:CI_OnlineResource>

Set dcat:downloadURL

DCAT

dcat:downloadURL

XPATH

//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource

Protocol

.//gmd:protocol/gco:CharacterString WWW:DOWNLOAD

Value

.//gmd:linkage/gmd:URL/text()

Fallback-Value

'.//che:LocalisedURL for any language

Usage Notes

For the protocol WWW:DOWNLOAD the same url is mapped to both dcat:accessURL and dcat:downloadURL

default path of the download url within the geocat distribution
.//gmd:linkage//gmd:URL/text()

Example of a « WWW:DOWNLOAD » Distribution

Example of mapping to dcat:downloadURL for a Distribution with protocol « WWW:DOWNLOAD:INTERLIS »
<gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>https://data.geo.admin.ch</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>WWW:DOWNLOAD:INTERLIS</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>Datenbezug über data.geo.admin</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">Datenbezug über data.geo.admin</gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
    <gmd:description gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString/>
    </gmd:description>
    <gmd:function>
        <gmd:CI_OnLineFunctionCode
            codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode"
            codeListValue="download"/>
    </gmd:function>
</gmd:CI_OnlineResource>

Set dct:rights

DCAT

dct:rights

XPATH

//gmd:resourceConstraints//gmd:otherConstraints

Mapping of values

Geocat rights statements are mapped to rights statements from the DCAT-AP CH rights vocabulary: RIGHTS-RDF, RIGHTS-Turtle. For details of the mapping, see below.

getting rights statements with XPATH
//gmd:resourceConstraints//gmd:otherConstraints
Mapping of rights statements
    rights = {
        u'Freie Nutzung': 'NonCommercialAllowed-CommercialAllowed-ReferenceNotRequired',
        u'Utilisation libre': 'NonCommercialAllowed-CommercialAllowed-ReferenceNotRequired',

        u'Freie Nutzung. Quellenangabe ist Pflicht.': 'NonCommercialAllowed-CommercialAllowed-ReferenceRequired',
        u'Utilisation libre. Obligation d’indiquer la source.': 'NonCommercialAllowed-CommercialAllowed-ReferenceRequired',

        u'Freie Nutzung. Kommerzielle Nutzung nur mit Bewilligung des Datenlieferanten zulässig.': 'NonCommercialAllowed-CommercialWithPermission-ReferenceNotRequired',
        u'Utilisation libre. Utilisation à des fins commerciales uniquement avec l’autorisation du fournisseur des données.': 'NonCommercialAllowed-CommercialWithPermission-ReferenceNotRequired',

        u'Freie Nutzung. Quellenangabe ist Pflicht. Kommerzielle Nutzung nur mit Bewilligung des Datenlieferanten zulässig.': 'NonCommercialAllowed-CommercialWithPermission-ReferenceRequired',
        u'Utilisation libre. Obligation d’indiquer la source. Utilisation commerciale uniquement avec l’autorisation du fournisseur des données.': 'NonCommercialAllowed-CommercialWithPermission-ReferenceRequired'
    }

Example for geocat mapping to dct:rights

Example of getting rights statements from //gmd:resourceConstraints//gmd:otherConstraints.
<gmd:resourceConstraints>
    <gmd:MD_LegalConstraints>
        <gmd:otherConstraints xsi:type="gmd:PT_FreeText_PropertyType">
            <gmx:Anchor>Opendata BY: Freie Nutzung. Quellenangabe ist Pflicht.</gmx:Anchor>
            <gmd:PT_FreeText>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#DE">Opendata BY: Freie Nutzung. Quellenangabe
                        ist Pflicht.
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#FR">Opendata BY: Utilisation libre.
                        Obligation d’indiquer la source.
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#IT">Opendata BY: Libero utilizzo. Indicazione
                        della fonte obbligatoria.
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
                <gmd:textGroup>
                    <gmd:LocalisedCharacterString locale="#EN">Opendata BY: Open use. Must provide the
                        source.
                    </gmd:LocalisedCharacterString>
                </gmd:textGroup>
            </gmd:PT_FreeText>
        </gmd:otherConstraints>
    </gmd:MD_LegalConstraints>
</gmd:resourceConstraints>

Set dcat:mediaType

DCAT

dcat:mediaType

Usage-Notes

For protocol « WWW:DOWNLOAD » the media type is derived by splitting the protocol name: the protocol name is expected as <download-protocol>:<media-type>. For protocols « OGC:WMTS », « OGC:WMS », « OGC:WFS », « LINKED:DATA », « MAP:Preview », « ESRI:REST » the dcat:mediaType is « SERVICE »

ISO-19139_che XPath for distribution protocol
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol

Example of a « WWW:DOWNLOAD » Distribution with dcat:mediaType « INTERLIS »

Example of mapping to dcat:mediaType for a Distribution with protocol « WWW:DOWNLOAD:INTERLIS »
<gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>https://data.geo.admin.ch</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">https://data.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>WWW:DOWNLOAD:INTERLIS</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>Datenbezug über data.geo.admin</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">Datenbezug über data.geo.admin</gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
    <gmd:description gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString/>
    </gmd:description>
    <gmd:function>
        <gmd:CI_OnLineFunctionCode
            codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_OnLineFunctionCode"
            codeListValue="download"/>
    </gmd:function>
</gmd:CI_OnlineResource>

Set dct:format

DCAT

dct:format

Usage-Notes

For protocol « WWW:DOWNLOAD » the format is derived in the same way as the media type. For the other protocols the format is derived from the protocol as described in the mapping below.

ISO-19139_che XPath for distribution protocol
//gmd:distributionInfo/gmd:MD_Distribution//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol
Mapping of protocol names to dct:format of dcat:Distribution
protocol_to_format_mapping = {
    "OGC:WMTS": "WMTS",
    "OGC:WMS": "WMS",
    "OGC:WFS": "WFS",
    "ESRI:REST": "API"
}

Example of a « WWW:WMS » Distribution with dct:format « WMS »

Example of mapping to dct:format for a Distribution with protocol « WWW:WMS » to « WMS »
<gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>http://wms.geo.admin.ch/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities&lang=fr</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">http://wms.geo.admin.ch/?SERVICE=WMS&VERSION=1.3.0&
                    REQUEST=GetCapabilities&lang=fr
                </che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">http://wms.geo.admin.ch/?SERVICE=WMS&VERSION=1.3.0&
                    REQUEST=GetCapabilities&lang=de
                </che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">http://wms.geo.admin.ch/?SERVICE=WMS&VERSION=1.3.0&
                    REQUEST=GetCapabilities&lang=it
                </che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>OGC:WMS</gco:CharacterString>
    </gmd:protocol>
    <gmd:name gco:nilReason="missing" xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString/>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#FR"/>
            </gmd:textGroup>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">ch.swisstopo-vd.ortschaftenverzeichnis_plz
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
    <gmd:description xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>Service WMS de geo.admin.ch</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#FR">Service WMS de geo.admin.ch
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">WMS Dienst von geo.admin.ch
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#IT">Servizio WMS di geo.admin.ch
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#EN">WMS Service from geo.admin.ch
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:description>
</gmd:CI_OnlineResource>

Set dct:title

DCAT

dct:title

XPATH

Mapping depends on the type of distribution that is derived from the protocol

Protocol

//gmd:transferOptions//gmd:CI_OnlineResource//gmd:protocol/gco:CharacterString

Name

.//gmd:distributionInfo//gmd:transferOptions//gmd:name

Usage Notes

The title of the distribution is derived by mapping the normed protocol name to a derived protocol name and then adding the name of the Distribution.

relative XPath to the protocol of a Distribution
.//gmd:distributionInfo//gmd:transferOptions//gmd:protocol/gco:CharacterString
ISO-19139_che XPath for the name of a Distribution
.//gmd:distributionInfo//gmd:transferOptions/gmd:name
Mapping of protocol names to dct:title of dcat:Distribution
protocol_to_name_mapping = {
    "OGC:WMTS": "WMTS",
    "OGC:WMS": "WMS",
    "OGC:WFS": "WFS",
    "WWW:DOWNLOAD": "Download",
    "LINKED:DATA": "Linked Data (Dienst)",
    "MAP:Preview": "Map (Preview)",
    "ESRI:REST": "ESRI (Rest)"
}

Example for geocat mapping to dct:title

Example of mapping to dcat:mediaType for a Distribution with protocol OGC:WFS The derived title is « OGC:WFS (GetCapabilities) DE#WFS »
 <gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>http://wfs.geo.admin.ch</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">http://wfs.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">http://wfs.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">http://wfs.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">http://wfs.geo.admin.ch</che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>OGC:WFS</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>DE#WFS</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">DE#WFS</gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
 </gmd:CI_OnlineResource>

Set dct:description

DCAT

dct:description

XPATH

//gmd:distributionInfo//gmd:transferOptions//gmd:description

relative XPath in the Distribution
.//gmd:description//gmd:LocalisedCharacterString

Example for geocat mapping to dct:description

Example of getting dct:description for dcat:Distribution from a geocat distribution
<gmd:CI_OnlineResource>
    <gmd:linkage>
        <gmd:URL>https://map.geo.admin.ch/?layers=ch.bfe.energiestaedte
        </gmd:URL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>MAP:Preview</gco:CharacterString>
    </gmd:protocol>
    <gmd:name xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>Map Preview</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">Map Preview
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:name>
    <gmd:description xsi:type="gmd:PT_FreeText_PropertyType">
        <gco:CharacterString>map preview</gco:CharacterString>
        <gmd:PT_FreeText>
            <gmd:textGroup>
                <gmd:LocalisedCharacterString locale="#DE">map preview
                </gmd:LocalisedCharacterString>
            </gmd:textGroup>
        </gmd:PT_FreeText>
    </gmd:description>
</gmd:CI_OnlineResource>

Set dct:language

DCAT

dct:language

Usage-Notes

The language is derived from the languages that a localized url is offered for.

Example for geocat mapping to dct:language

Example of mapping to dct:language for a Distribution with protocol WWW:DOWNLOAD
<gmd:CI_OnlineResource>
    <gmd:linkage xsi:type="che:PT_FreeURL_PropertyType">
        <gmd:URL>https://data.geo.admin.ch/ch.meteoschweiz.klima/phaenologie/data.zip</gmd:URL>
        <che:PT_FreeURL>
            <che:URLGroup>
                <che:LocalisedURL locale="#DE">https://www.meteoschweiz.admin.ch/home/mess-und-prognosesysteme/bodenstationen/data.zip
                </che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#FR">https://www.meteosuisse.admin.ch/home/systemes-de-mesure-et-de-prevision/stations-au-sol/data.zip
                </che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#IT">https://www.meteosvizzera.admin.ch/home/sistemi-di-rilevamento-e-previsione/stazioni-al-suolo/data.zip
                </che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#EN">https://www.meteoswiss.admin.ch/home/measurement-and-forecasting-systems/land-based-stations/data.zip
                </che:LocalisedURL>
            </che:URLGroup>
            <che:URLGroup>
                <che:LocalisedURL locale="#RM">https://www.meteoschweiz.admin.ch/home/mess-und-prognosesysteme/bodenstationen/data.zip
                </che:LocalisedURL>
            </che:URLGroup>
        </che:PT_FreeURL>
    </gmd:linkage>
    <gmd:protocol>
        <gco:CharacterString>WWW:DOWNLOAD</gco:CharacterString>
    </gmd:protocol>
</gmd:CI_OnlineResource>