Skip to main content

CLI applicatie voor het genereren van service metadata die voldoet aan het Nederlands metadata profiel op ISO 19119 voor services versie 2.1.0 - https://docs.geostandaarden.nl/md/mdprofiel-iso19119/

Project description

nl-service-metadata-generator

PyPI version GitHub release Docker Pulls

CLI applicatie om service metadata records te genereren die voldoen aan het Nederlands profiel op ISO 19119 voor services versie 2.1.0.

CLI applicatie genereert metadata en voert schema validatie uit. Applicatie voert geen schematron validatie uit (validatie op Nederlands profiel op ISO 19119 voor services versie 2.1.0).

Indien schema validatie faalt op de gegenereerde metadata wordt het metadata bestand weggeschreven naar ${file-destination}.invalid (dus toevoeging van .invalid extensie) en zal de nl-service-metadata-generator de schema validatie foutmelding naar stdout printen en een returncode van 1 teruggeven.

Service Types

De nl-service-metadata-generator ondersteunt de volgende service types:

  • geen INSPIRE service
  • INSPIRE network service
  • INSPIRE other service
    • Spatial Data Service (SDS) - invocable
    • SDS - interoperable

N.B. SDS harmonized wordt dus niet ondersteund door de nl-service-metadata-generator

Installation

Installeer nl-service-metadata-generator als pip package (uitvoeren vanuit root van repository):

pip3 install . # Add -e for development and debugging

Nu moet het cli command nl-service-metadata-generator beschikbaar zijn in PATH.

Usage

Usage: nl-service-metadata-generator generate [OPTIONS] {csw|wms|wmts|wfs|wcs|
                                              sos|atom|tms|oaf|oat}
                                              {network|other|none}
                                              CONSTANTS_CONFIG_FILE
                                              SERVICE_CONFIG_FILE OUTPUT_FILE

  Generate service metadata record based on **Nederlands profiel op ISO 19119
  voor services versie 2.1.0**.

  CONSTANTS_CONFIG_FILE: JSON file that contains values for constant fields
  SERVICE_CONFIG_FILE: JSON file that contains values for fields that are
  unique for each service

  See `show-schema` command for help on config files.

Options:
  --csw-endpoint TEXT             References to dataset metadata records will
                                  use this CSW endpoint (default val: https://
                                  nationaalgeoregister.nl/geonetwork/srv/dut/c
                                  sw)
  --sds-type [invocable|interoperable]
                                  only applies when inspire-type='other'
  --help                          Show this message and exit.

Bijvoorbeeld (uitvoeren in root directory van dit repository):

nl-service-metadata-generator generate atom network example_json/constants.json example_json/inspire.json atom.xml

Merk op:

  • network is voor INSPIRE WMS
  • other is voor INSPIRE WFS en OGC API Feature
    • default = invocable
    • --sds-type=INTEROPERABLE
  • none is voor niet-INSPIRE services

Verschil van het generen van een service record voor inspire AS-IS of geharmoniseerde

  • AS IS dataset voor INSPIRE voor de WFS en OGC API Feature een metadata inrichting krijgt met service type other en SDS invocable metadata

  • geharmoniseerde dataset voor INSPIRE voor de WFS en OGC API Feature een metadata inrichting krijgt met service type other en SDS interoperable metadata

  • Voor het genereren van een NGR record voor OGC API Features als other (as-is)

nl-service-metadata-generator generate OAF OTHER example_json/constants.json /data/oaf.json /data/oaf.xml

Voor het genereren van een NGR record voor OGC API Features als other (geharmoniseerde)

nl-service-metadata-generator generate OTHER --sds-type=INTEROPERABLE example_json/constants.json /data/oaf.json /data/oaf.xml

HVD verordening

High Value Datasets (HVD) zijn datasets die door de Europese Unie zijn aangewezen als bijzonder waardevol voor sociaaleconomische doeleinden, met een verplichting tot kosteloze beschikbaarstelling voor hergebruik. Voor service metadata is het mogelijk middels het hvdCategories veld de HVD-categorieën te genereren en als keywords zoals omschreven in de handrijking van Geonovum toe te voegen.

Zie high-value-dataset-category.rdf voor een lijst van alle mogelijke HVD-categorieën. De HVD is zo opgezet dat er een hiërarchie van 3 levels bestaat. Wanneer een lagere categorie wordt gekozen worden automatisch de bovenliggende categorieën ook toegevoegd. De RDF wordt automatisch gedownload en gecached voor 3 dagen. Mocht je op zoek zijn naar een nieuwe recentelijke categorie verwijder dan /src/nl_service_metadata_generator/data/xml/high-value-dataset-category_downloaded.rdf zodat deze opnieuw wordt gedownload.

Template variabelen

In de velden

  • service_title
  • service_abstract

Kunnen de volgende template variabelen worden opgenomen:

  • $SERVICE_TYPE_UPPER - wordt vervangen door uppercase service type (korte variant)
  • $SERVICE_TYPE_LOWER - wordt vervangen door lowercase service type (korte variant)
  • $OAF - wordt vervangen door OGC API Features

Bijvoorbeeld:

{
  ...
  "serviceTitle": "Actueel Hoogtebestand Nederland $SERVICE_TYPE_UPPER"
  ...
}

Development

Voor het formatteren van code installeer black en draai vanuit de root van het repo:

black .

Verwijderen van ongebruikte imports met autoflake:

autoflake --remove-all-unused-imports -i -r .

Organiseren en orderen imports met isort:

isort  -m 3 .

Docker

Container starten met:

docker run --user root -v $(pwd)/example_json:/data pdok/nl-service-metadata-generator generate atom network /data/constants.json /data/inspire.json /data/atom.xml

n.b. -u root argument, is nodig voor priviliges Docker container om bestanden weg te schrijven in folder mount. Voor productie doeleindes niet aan te raden om docker containers onder de root user te draaien.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nl_service_metadata_generator-0.3.0.tar.gz (115.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nl_service_metadata_generator-0.3.0-py3-none-any.whl (188.4 kB view details)

Uploaded Python 3

File details

Details for the file nl_service_metadata_generator-0.3.0.tar.gz.

File metadata

File hashes

Hashes for nl_service_metadata_generator-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7851e097f78e70bcfd66c68e7fbe29cc27fa96ea8ddb6bb76225a65d0163b2a0
MD5 a77dd3d63a579b2f864cffbd209c5da3
BLAKE2b-256 d895025293d49a47b7ebfcc0d6242338efcada14dd2d0492601008f87115fbe5

See more details on using hashes here.

File details

Details for the file nl_service_metadata_generator-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nl_service_metadata_generator-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 105d9a63cb092dcaf6ebfa1712908245367fa340a8b3f2db3e39dbe4fd9a9ee3
MD5 cc7a4820b8ee8422e1e045e610b5174e
BLAKE2b-256 64144efa50f9e4a95779f86a4f08a0749fb3edff71a94064a42b6e0e83a0d5b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page