Skip to main content

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.

Metadata

Release files for nl-service-metadata-generator 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nl-service-metadata-generator 0.3.0
File Size Uploaded Provenance Actions
nl_service_metadata_generator-0.3.0.tar.gz 115.8 kB Without provenance Details for nl_service_metadata_generator-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nl-service-metadata-generator 0.3.0
File Interpreter ABI Platform Actions
nl_service_metadata_generator-0.3.0-py3-none-any.whl Python 3 none any Details for nl_service_metadata_generator-0.3.0-py3-none-any.whl

Total release size: 304.2 kB

Release files / nl_service_metadata_generator-0.3.0.tar.gz

Download URL nl_service_metadata_generator-0.3.0.tar.gz
Size 115.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7851e097f78e70bcfd66c68e7fbe29cc27fa96ea8ddb6bb76225a65d0163b2a0
BLAKE2b-256 checksum
How to use checksums
d895025293d49a47b7ebfcc0d6242338efcada14dd2d0492601008f87115fbe5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release files / nl_service_metadata_generator-0.3.0-py3-none-any.whl

Download URL nl_service_metadata_generator-0.3.0-py3-none-any.whl
Size 188.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
105d9a63cb092dcaf6ebfa1712908245367fa340a8b3f2db3e39dbe4fd9a9ee3
BLAKE2b-256 checksum
How to use checksums
64144efa50f9e4a95779f86a4f08a0749fb3edff71a94064a42b6e0e83a0d5b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Security for nl-service-metadata-generator 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page