Skip to content

cultureelerfgoed/tooi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TOOI sync

TOOI → TriplyDB synchronisatie

Deze repository synchroniseert periodiek geselecteerde TOOI-waardelijsten (TTL) naar vaste named graphs in de TriplyDB-dataset rce/tooi.

De synchronisatie draait automatisch op de 1e van de maand en kan daarnaast handmatig worden gestart via GitHub Actions.


Functionaliteit

  • Bepaalt per TOOI-waardelijst de hoogste beschikbare versie
  • Downloadt het bijbehorende TTL-bestand
  • Zet TTL om naar TriG met expliciete named graph
  • Uploadt de data naar TriplyDB
  • Overschrijft bestaande inhoud door vaste graph-URI’s te gebruiken

Er vindt geen inhoudelijke transformatie van de data plaats.


Configuratie: waardelijsten en graphs

De te synchroniseren TOOI-waardelijsten zijn niet hard-coded in de Python-code, maar worden geconfigureerd via een YAML-bestand:

config/tooi-lists.yml

Per waardelijst is hierin vastgelegd:

  • de naam van de TOOI-waardelijst;
  • de base-URL van de KOOP-repository;
  • de bijbehorende named graph in TriplyDB.

Voorbeelden van opgenomen waardelijsten:

  • gemeenten
  • provincies
  • ministeries
  • waterschappen
  • zbo’s
  • overige overheidsorganisaties
  • samenwerkingsorganisaties

Elke waardelijst schrijft naar één vaste named graph onder:

https://linkeddata.cultureelerfgoed.nl/rce/tooi/graph/*


Technische aanpak

Versiebepaling

De TOOI-repository biedt geen volledige directory-listing van beschikbare versies.
De hoogste beschikbare versie wordt daarom bepaald door opeenvolgende versies te testen op het bestaan van: //ttl/_.ttl

De hoogste versie die een HTTP 200-respons retourneert, wordt gebruikt voor import.


Graph-strategie

  • Elke waardelijst schrijft naar één vaste named graph
  • De graph-URI wordt expliciet opgenomen in het TriG-bestand
  • Prefixes worden buiten de graph geplaatst
  • Er wordt niet gewerkt met --default-graph-name

Dit patroon is gelijk aan het gebruik in het CHO-DIFF-project.


Bestanden

.github/workflows/tooi-sync.yml
GitHub Actions workflow voor automatische en handmatige synchronisatie

scripts/tooi-sync.py
Python-script dat de synchronisatie uitvoert op basis van de configuratie

config/tooi-lists.yml
Configuratiebestand met de te synchroniseren TOOI-waardelijsten en bijbehorende graphs


Vereisten

GitHub Actions

  • Runner: windows-latest
  • Python 3.11
  • Netwerktoegang tot:
    • repository.officiele-overheidspublicaties.nl
    • api.linkeddata.cultureelerfgoed.nl

Secrets

Deze repository vereist een repository-niveau secret:

Naam: TRIPLYDB_TOKEN
Omschrijving: TriplyDB API-token met schrijfrechten op dataset rce/tooi

Let op: GitHub secrets zijn per repository en niet globaal beschikbaar.


Workflow

  • Automatisch: elke 1e van de maand
  • Handmatig: via workflow_dispatch
  • Per waardelijst wordt gelogd:
    • de gevonden hoogste versie;
    • stdout en stderr van triplydb.exe

Bij fouten wordt alleen de betreffende waardelijst overgeslagen; de rest van de synchronisatie loopt door. Hoop ik


Resultaat

Na een succesvolle run zijn de TOOI-graphs beschikbaar onder:

https://linkeddata.cultureelerfgoed.nl/rce/tooi/graph/*

Deze graphs vormen de canonieke TOOI-referentielijstlaag binnen de RCE linked-data-voorziening.


Onderhoud en beheer

  • Nieuwe TOOI-waardelijsten worden toegevoegd via config/tooi-lists.yml
  • De Python-code hoeft hiervoor niet te worden aangepast
  • Naamgevingsconventies en publicatiestructuur van TOOI worden verondersteld stabiel

Contact

RCE – Linked Data & Thesauri
thesauri@cultureelerfgoed.nl

About

Scripts voor updaten tooi data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages