Skip to content

Pipeline

Gedurende het gehele proces zoals beschreven in de Solution Architecture maken we zoveel mogelijk gebruik van herbruikbare componenten en maken we zo min mogelijk maatwerk code. Wel begeleiden we het hele proces in pipeline software. Deze pipeline wordt voor het gehele proces van omzetting van brondata tot en met Linked Data omschreven door de volgende plaat:

Architectuur Pipeline

Apache Airflow

We maken voor onze pipeline gebruik van het open-source framework Apache Airflow. Dit framework gebruikt minimale Python code om zogenoemde Directe Acyclic Graphs (DAGs) te configureren.

Logo Airflow

DAGs en Tasks

Een DAG kan worden ondergesplitst in een aantal taken. Een task beschrijft één stap in het gehele proces van het omzetten van brondata tot een Linked Data bron. (Of andere ETL activiteiten). Vervolgens kunnen deze taken individueel worden gemonitord en opnieuw worden afgetrapt als er een fout ontstaat.

DAGs

Microservice

In de architectuurplaat bovenaan deze pagina wordt omschreven hoe wij onze eerder beschreven componenten hergebruiken om het totale proces vorm te geven. Deze bevat ook een zogenoemde microservice. In de praktijk is dit een Task binnen Airflow, waarin met beperkte code de Enhancer serieel wordt aangesproken en de resultaten als Linked Data wordt verzameld.

Bij het verzamelen van deze resultaten wordt ook SHACL validatie toegepast. Op deze manier valideren we of de uiteindelijke Linked Data voldoet aan het datamodel wat we origineel gedefiniëerd hebben. Zo voorkomen we fouten in de transformatie.