De codelijst 'plan_legende' bevat eenduidige benamingen van ...
In dit project worden de bron bestanden en de verschillende verspreidingsvormen van de codelijst beheerd. Het project bevat ook tools om deze lijst te beheren en om te zetten naar webformaten.
Het version element in het pom.xml bestand bevat het 'SNAPSHOT'-versienummer van de nieuwe release waarop gewerkt wordt. Voorbeeld: Indien '1.0.0' de huidige release is en '2.0.0' is het versienummer van de nieuwe release waarop gewerkt wordt, dan is '2.0.0-SNAPSHOT' het versienummer in het pom.xml bestand.
Pas het bron CSV bestand van de codelijst aan (src/main/resources/source/codelijst_source.csv).
Voorbeeld: Voeg een definitie van een nieuwe code in de codelijst toe.
cd $PROJECT_HOME/src/main/bash
bash 01_csv_to_rdf.sh
Dit script gaat het bron CSV bestand omzetten naar een SKOS lijst in verschillende RDF formaten en een CSV bestand. Het JSONLD context bestand van de codelijst (src/main/resources/source/codelijst_context.csv) bevat de mapping van CSV naar RDF.
Eventuele custom csv kan op basis van een sparql query gegenereerd worden
sparql --results=CSV --data={data_inputfile} --query {file_containing_a_query} > {csv_outputfile}
Voorbeeld:
cd $PROJECT_HOME/src/main/sparql
sparql --results=CSV --data=../resources/be/vlaanderen/omgeving/data/id/conceptscheme/{codelijstId}/{codelijstId}.ttl --query sparql_csv_ex1.sparql > ../resources/be/vlaanderen/omgeving/data/id/conceptscheme/{codelijstId}/{codelijstId}_example.csv
Geef steeds een duidelijke commit boodschap mee (i.e vermelding van de gelogde issues die zijn opgelost).
Het version element in het pom.xml bestand staat op het 'SNAPSHOT'-versienummer van de komende release. Voorbeeld: Indien '2.0.0' het versienummer is van de nieuwe release die gemaakt wordt, dan is '2.0.0-SNAPSHOT' het versienummer in het pom.xml bestand.
cd $PROJECT_HOME/src/main/bash
bash 99_dcat-from-csv.sh
Bij de release van een nieuwe codelijst versie moet de gepaste metadata voor die versie aangemaakt en toegevoegd worden aan de metadata van de codelijst. Voor het doorvoeren van wijzigingen aan de metadata kunnen de bron CSV bestanden van de metadata worden aangepast:
- src/main/resources/source/dataset_source.csv
- src/main/resources/source/catalog_source.csv
Het dataset_source.csv bestand wordt als template gebruikt om de metadata van de dataset en van een nieuwe codelijst versie te genereren. Het catalog_source.csv bestand bevat de metadata van de dataset en al zijn codelijst versies die in de catalogus gepubliceerd moeten worden. Dit is een "evolutief" bestand waar de metadata van een nieuwe versie telkens aan wordt toegevoegd.
Het script genereert op basis van deze 2 bron bestanden de gepaste DCAT metadata bestanden voor de codelijst en zijn verschillende versies.
Normaliter moet het bron bestand dataset_source.csv maar eenmalig worden opgesteld en aangepast voor de codelijst. Het scriptje genereert op basis van dit template bestand de metadata van een nieuwe codelijst versie en voegt dit toe aan het andere bron bestand catalog_source.csv. Het catalog_source.csv bestand kan zelf ook nog geediteerd worden. Vervolgens genereert het scriptje op basis van het catalog_source.csv bestand de finale DCAT metadata bestanden van de codelijst en zijn versies.
Het JSONLD context bestand van de codelijst metadata (src/main/resources/source/codelijst_context.csv) bevat de mapping van CSV naar RDF.
Release het overeenkomstige codelijsten project in Bamboo. Zie https://www.milieuinfo.be/bamboo/browse/CODELIJST
RDF tools:
In dit project worden twee jena cli-tools gebruikt: riot en sparql. Sparql wordt gebruikt om het rdf-formaat om te zetten naar csv, riot wordt gebruikt om de rdf-formaten om te zetten, e.i. json-ld naar turtle.
- Lees eerst deze documentatie.
- Installeer de jena binaries. Bijvoorbeeld:
curl -O https://dlcdn.apache.org/jena/binaries/apache-jena-4.6.0.tar.gz
tar -xf apache-jena-4.6.0.tar.gz -C /opt
echo 'export PATH="/opt/apache-jena-4.6.0/bin:$PATH"' >> ~/.bashrc
. ~/.bashrc
R:
Met behulp van de tidyverse bibliotheek in R wordt de csv omgezet naar jsonld.
sudo apt install r-base build-essential r-cran-jsonlite r-cran-tidyr r-cran-dplyr