From 78ce1f7071921f1b1ab939f5fe96562a0242f36e Mon Sep 17 00:00:00 2001 From: mirdono Date: Thu, 29 Aug 2024 18:18:29 +0200 Subject: [PATCH] feat: mandates and functions for governing bodies legislature 2025 For each of the governing bodies created by the migrations in the previous commit, now add the corresponding mandates and functions. Within a organisation some governing bodies share the same mandates. For example, for municipalities the governing body "Burgemeester" and "College van burgemeester en schepen" both refer to the SAME instance of mandates for "Burgemeester" and "Aangewezen burgemeester". To achieve this the some migrations contain a second `INSERT` clause in which the other governing body that contains the necessary mandates is selected to be able to determine the correct mandate URI. This only works on two conditions: 1. Migrations that depend on each must be executed in the correct order. For example, the migration inserting the mandates for "College van burgemeester en schepen" must be executed after that for "Burgemeester". The former will reuse mandates created by the latter. 2. The UUID for the shared mandates is calculated in exactly the same way in migrations that depend on each other. --- ...0240829171504-mandates-burgemeester.sparql | 32 +++++++++ ...0240829171505-mandates-gemeenteraad.sparql | 32 +++++++++ ...llege_van_burgemeester_en_schepenen.sparql | 67 +++++++++++++++++++ ...onder_comite_voor_de_sociale_dienst.sparql | 31 +++++++++ ...s-raad_voor_maatschappelijk_welzijn.sparql | 32 +++++++++ ...20240829171509-mandates-vast_bureau.sparql | 32 +++++++++ ...onder_comite_voor_de_sociale_dienst.sparql | 65 ++++++++++++++++++ ...240829171511-mandates-provincieraad.sparql | 32 +++++++++ .../20240829171512-mandates-gouverneur.sparql | 31 +++++++++ .../20240829171513-mandates-deputatie.sparql | 31 +++++++++ ...240829171514-mandates-districtsraad.sparql | 32 +++++++++ ...1515-mandates-districtsburgemeester.sparql | 31 +++++++++ ...829171516-mandates-districtscollege.sparql | 65 ++++++++++++++++++ ...171539-functions-algemeen_directeur.sparql | 32 +++++++++ ...unctions-adjunct-algemeen_directeur.sparql | 32 +++++++++ ...1541-functions-financieel_directeur.sparql | 32 +++++++++ ...ctions-adjunct-financieel_directeur.sparql | 32 +++++++++ .../20240829171543-functions-griffier.sparql | 32 +++++++++ ...1544-functions-financieel_beheerder.sparql | 32 +++++++++ 19 files changed, 705 insertions(+) create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171504-mandates-burgemeester.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171505-mandates-gemeenteraad.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171506-mandates-college_van_burgemeester_en_schepenen.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171507-mandates-voorzitter_van_het_bijzonder_comite_voor_de_sociale_dienst.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171508-mandates-raad_voor_maatschappelijk_welzijn.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171509-mandates-vast_bureau.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171510-mandates-bijzonder_comite_voor_de_sociale_dienst.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171511-mandates-provincieraad.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171512-mandates-gouverneur.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171513-mandates-deputatie.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171514-mandates-districtsraad.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171515-mandates-districtsburgemeester.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171516-mandates-districtscollege.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171539-functions-algemeen_directeur.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171540-functions-adjunct-algemeen_directeur.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171541-functions-financieel_directeur.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171542-functions-adjunct-financieel_directeur.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171543-functions-griffier.sparql create mode 100644 config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171544-functions-financieel_beheerder.sparql diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171504-mandates-burgemeester.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171504-mandates-burgemeester.sparql new file mode 100644 index 0000000..a67f63d --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171504-mandates-burgemeester.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Burgemeester + } + + VALUES ?mandateRole { + # Burgemeester + # Aangewezen burgemeester + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171505-mandates-gemeenteraad.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171505-mandates-gemeenteraad.sparql new file mode 100644 index 0000000..4be1626 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171505-mandates-gemeenteraad.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Gemeenteraad + } + + VALUES ?mandateRole { + # Voorzitter van de gemeenteraad + # Gemeenteraadslid + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171506-mandates-college_van_burgemeester_en_schepenen.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171506-mandates-college_van_burgemeester_en_schepenen.sparql new file mode 100644 index 0000000..cd5cc55 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171506-mandates-college_van_burgemeester_en_schepenen.sparql @@ -0,0 +1,67 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # College van Burgemeester en Schepenen + } + + VALUES ?mandateRole { + # Schepen + # Toegevoegde schepen + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} +; +# Link mandates shared with Burgemeester governing body +# !! Make sure the Burgemeester governing body and its mandates are !! +# !! already created, otherwise this will not work correctly. !! +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + } +} WHERE { + GRAPH { + + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # College van Burgemeester en Schepenen + + # Find the other governing body as it is needed to determine correct UUID and URI + ?governingBody besluit:bestuurt ?organisation . + + ?governingBodyOther besluit:bestuurt ?organisation ; + org:classification . # Burgemeester + ?governingBodyInTimeOther a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBodyOther ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + } + VALUES ?mandateRole { + # Burgemeester + # Aangewezen burgemeester + + } + + BIND(SHA256(CONCAT(STR(?governingBodyOther), STR(?governingBodyInTimeOther), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171507-mandates-voorzitter_van_het_bijzonder_comite_voor_de_sociale_dienst.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171507-mandates-voorzitter_van_het_bijzonder_comite_voor_de_sociale_dienst.sparql new file mode 100644 index 0000000..be0e4fe --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171507-mandates-voorzitter_van_het_bijzonder_comite_voor_de_sociale_dienst.sparql @@ -0,0 +1,31 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Voorzitter van het Bijzonder Comité voor de Sociale Dienst + } + + VALUES ?mandateRole { + # Voorzitter van het Bijzonder Comité voor de Sociale Dienst + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171508-mandates-raad_voor_maatschappelijk_welzijn.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171508-mandates-raad_voor_maatschappelijk_welzijn.sparql new file mode 100644 index 0000000..2ef2736 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171508-mandates-raad_voor_maatschappelijk_welzijn.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Raad voor Maatschappelijk Welzijn + } + + VALUES ?mandateRole { + # Voorzitter van de Raad voor Maatschappelijk Welzijn + # Lid van de Raad voor Maatschappelijk Welzijn + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171509-mandates-vast_bureau.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171509-mandates-vast_bureau.sparql new file mode 100644 index 0000000..353bf85 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171509-mandates-vast_bureau.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Vast Bureau + } + + VALUES ?mandateRole { + # Voorzitter van het Vast bureau + # Lid van het Vast Bureau + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171510-mandates-bijzonder_comite_voor_de_sociale_dienst.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171510-mandates-bijzonder_comite_voor_de_sociale_dienst.sparql new file mode 100644 index 0000000..63b86d4 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171510-mandates-bijzonder_comite_voor_de_sociale_dienst.sparql @@ -0,0 +1,65 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Bijzonder Comité voor de Sociale Dienst + } + + VALUES ?mandateRole { + # Lid van het Bijzonder Comité voor de Sociale Dienst + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} +; +# Link mandates shared with Voorzitter van het Bijzonder Comité voor de Sociale Dienst governing body +# !! Make sure the Voorzitter van het Bijzonder Comité voor de Sociale Dienst governing body and its mandates are !! +# !! already created, otherwise this will not work correctly. !! +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + } +} WHERE { + GRAPH { + + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Bijzonder Comité voor de Sociale Dienst + + # Find the other governing body as it is needed to determine correct UUID and URI + ?governingBody besluit:bestuurt ?organisation . + + ?governingBodyOther besluit:bestuurt ?organisation ; + org:classification . # Voorzitter van het Bijzonder Comité voor de Sociale Dienst + ?governingBodyInTimeOther a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBodyOther ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + } + VALUES ?mandateRole { + # Voorzitter van het Bijzonder Comité voor de Sociale Dienst + + } + + BIND(SHA256(CONCAT(STR(?governingBodyOther), STR(?governingBodyInTimeOther), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171511-mandates-provincieraad.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171511-mandates-provincieraad.sparql new file mode 100644 index 0000000..30b8f39 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171511-mandates-provincieraad.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Provincieraad + } + + VALUES ?mandateRole { + # Voorzitter van de provincieraad + # Provincieraadslid + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171512-mandates-gouverneur.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171512-mandates-gouverneur.sparql new file mode 100644 index 0000000..d22bb98 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171512-mandates-gouverneur.sparql @@ -0,0 +1,31 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Gouverneur + } + + VALUES ?mandateRole { + # Gouverneur + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171513-mandates-deputatie.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171513-mandates-deputatie.sparql new file mode 100644 index 0000000..33a976c --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171513-mandates-deputatie.sparql @@ -0,0 +1,31 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Deputatie + } + + VALUES ?mandateRole { + # Gedeputeerde + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171514-mandates-districtsraad.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171514-mandates-districtsraad.sparql new file mode 100644 index 0000000..0e5df48 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171514-mandates-districtsraad.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Districtsraad + } + + VALUES ?mandateRole { + # Voorzitter van de districtsraad + # Districtsraadslid + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171515-mandates-districtsburgemeester.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171515-mandates-districtsburgemeester.sparql new file mode 100644 index 0000000..d8ce80c --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171515-mandates-districtsburgemeester.sparql @@ -0,0 +1,31 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Districtsburgemeester + } + + VALUES ?mandateRole { + # Districtsburgemeester + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171516-mandates-districtscollege.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171516-mandates-districtscollege.sparql new file mode 100644 index 0000000..32a2bd6 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171516-mandates-districtscollege.sparql @@ -0,0 +1,65 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: + +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + + ?mandate a mandaat:Mandaat , org:Post ; + mu:uuid ?mandateUuid ; + org:role ?mandateRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Districtscollege + } + + VALUES ?mandateRole { + # Districtsschepen + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} +; +# Link mandates shared with Districtsburgemeester governing body +# !! Make sure the Districtsburgemeester governing body and its mandates are !! +# !! already created, otherwise this will not work correctly. !! +INSERT { + GRAPH { + ?governingBodyInTime org:hasPost ?mandate . + } +} WHERE { + GRAPH { + + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Districtscollege + + # Find the other governing body as it is needed to determine correct UUID and URI + ?governingBody besluit:bestuurt ?organisation . + + ?governingBodyOther besluit:bestuurt ?organisation ; + org:classification . # Districtsburgemeester + ?governingBodyInTimeOther a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBodyOther ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + } + VALUES ?mandateRole { + # Districtsburgemeester + + } + + BIND(SHA256(CONCAT(STR(?governingBodyOther), STR(?governingBodyInTimeOther), STR(?mandateRole), " 2025")) AS ?mandateUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?mandateUuid)) AS ?mandate) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171539-functions-algemeen_directeur.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171539-functions-algemeen_directeur.sparql new file mode 100644 index 0000000..e740637 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171539-functions-algemeen_directeur.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: +PREFIX lblodlg: + +INSERT { + GRAPH { + ?governingBodyInTime lblodlg:heeftBestuursfunctie ?function . + + ?function a lblodlg:Bestuursfunctie , org:Post ; + mu:uuid ?functionUuid ; + org:role ?functionRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Algemeen directeur + } + + VALUES ?functionRole { + # Algemeen directeur + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?functionRole), " 2025")) AS ?functionUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursfuncties/", ?functionUuid)) AS ?function) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171540-functions-adjunct-algemeen_directeur.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171540-functions-adjunct-algemeen_directeur.sparql new file mode 100644 index 0000000..65ec5e6 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171540-functions-adjunct-algemeen_directeur.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: +PREFIX lblodlg: + +INSERT { + GRAPH { + ?governingBodyInTime lblodlg:heeftBestuursfunctie ?function . + + ?function a lblodlg:Bestuursfunctie , org:Post ; + mu:uuid ?functionUuid ; + org:role ?functionRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Adjunct-algemeen directeur + } + + VALUES ?functionRole { + # Adjunct algemeen directeur + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?functionRole), " 2025")) AS ?functionUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursfuncties/", ?functionUuid)) AS ?function) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171541-functions-financieel_directeur.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171541-functions-financieel_directeur.sparql new file mode 100644 index 0000000..2f02af9 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171541-functions-financieel_directeur.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: +PREFIX lblodlg: + +INSERT { + GRAPH { + ?governingBodyInTime lblodlg:heeftBestuursfunctie ?function . + + ?function a lblodlg:Bestuursfunctie , org:Post ; + mu:uuid ?functionUuid ; + org:role ?functionRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Financieel directeur + } + + VALUES ?functionRole { + # Financieel directeur + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?functionRole), " 2025")) AS ?functionUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursfuncties/", ?functionUuid)) AS ?function) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171542-functions-adjunct-financieel_directeur.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171542-functions-adjunct-financieel_directeur.sparql new file mode 100644 index 0000000..febd76a --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171542-functions-adjunct-financieel_directeur.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: +PREFIX lblodlg: + +INSERT { + GRAPH { + ?governingBodyInTime lblodlg:heeftBestuursfunctie ?function . + + ?function a lblodlg:Bestuursfunctie , org:Post ; + mu:uuid ?functionUuid ; + org:role ?functionRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Adjunct-financieel directeur + } + + VALUES ?functionRole { + # Adjunct financieel directeur + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?functionRole), " 2025")) AS ?functionUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursfuncties/", ?functionUuid)) AS ?function) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171543-functions-griffier.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171543-functions-griffier.sparql new file mode 100644 index 0000000..ee75eb1 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171543-functions-griffier.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: +PREFIX lblodlg: + +INSERT { + GRAPH { + ?governingBodyInTime lblodlg:heeftBestuursfunctie ?function . + + ?function a lblodlg:Bestuursfunctie , org:Post ; + mu:uuid ?functionUuid ; + org:role ?functionRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Griffier + } + + VALUES ?functionRole { + # Griffier + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?functionRole), " 2025")) AS ?functionUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursfuncties/", ?functionUuid)) AS ?function) +} diff --git a/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171544-functions-financieel_beheerder.sparql b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171544-functions-financieel_beheerder.sparql new file mode 100644 index 0000000..c3b5838 --- /dev/null +++ b/config/migrations/2024/20240828104739-governing-bodies-mandates-2025-legislation/20240829171544-functions-financieel_beheerder.sparql @@ -0,0 +1,32 @@ +PREFIX org: +PREFIX mandaat: +PREFIX mu: +PREFIX besluit: +PREFIX generiek: +PREFIX lblodlg: + +INSERT { + GRAPH { + ?governingBodyInTime lblodlg:heeftBestuursfunctie ?function . + + ?function a lblodlg:Bestuursfunctie , org:Post ; + mu:uuid ?functionUuid ; + org:role ?functionRole . + } +} WHERE { + GRAPH { + ?governingBodyInTime a besluit:Bestuursorgaan ; + generiek:isTijdspecialisatieVan ?governingBody ; + mandaat:bindingStart "2025-01-01T00:00:00"^^xsd:dateTime . + + ?governingBody org:classification . # Financieel beheerder + } + + VALUES ?functionRole { + # Financieel beheerder + + } + + BIND(SHA256(CONCAT(STR(?governingBody), STR(?governingBodyInTime), STR(?functionRole), " 2025")) AS ?functionUuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursfuncties/", ?functionUuid)) AS ?function) +}