From 4e39d1eed43e599fd4a94acc89aa2c7239ee0324 Mon Sep 17 00:00:00 2001 From: felix Date: Wed, 18 Dec 2024 12:03:04 +0100 Subject: [PATCH 1/4] Added missing werkingsgebied for OCMW. It seems OCMW's were the only ones without werkingsgebied. And the corresponding gemeente had this. --- ...1-add-missing-werkingsgebieden-ocmw.sparql | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 config/migrations/2024/20241218115931-add-missing-werkingsgebieden-ocmw.sparql diff --git a/config/migrations/2024/20241218115931-add-missing-werkingsgebieden-ocmw.sparql b/config/migrations/2024/20241218115931-add-missing-werkingsgebieden-ocmw.sparql new file mode 100644 index 0000000..1c9a2a8 --- /dev/null +++ b/config/migrations/2024/20241218115931-add-missing-werkingsgebieden-ocmw.sparql @@ -0,0 +1,24 @@ +INSERT { + GRAPH { + ?s ?gebied. + } +} +WHERE { + ?s a ; + + ; # ocmw + skos:prefLabel ?label. + + FILTER NOT EXISTS { + ?s ?ocmwGebied. + } + + ?gemeente ?s. + + ?gemeente + . + + GRAPH { + ?gemeente ?gebied. + } +} \ No newline at end of file From 0f1654e64cd3b5b55d2ebd5fe43b837e43798d15 Mon Sep 17 00:00:00 2001 From: mirdono Date: Tue, 17 Dec 2024 10:59:43 +0100 Subject: [PATCH 2/4] chore: move organisations in Zwijndrecht to province East Flanders As part of the 2025 municipality mergers Zwijndrecht will merge with Beveren and Kruibeke into Beveveren-Kruibeke-Zwijndrecht. Additionally this means that Zwijndrecht changes province from Antwerp to East Flanders. This migration updates the province for each organisation with an address in Zwijndrecht to East Flanders. --- ...ijndrecht-to-province-east-flanders.sparql | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082404-change-zwijndrecht-to-province-east-flanders.sparql diff --git a/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082404-change-zwijndrecht-to-province-east-flanders.sparql b/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082404-change-zwijndrecht-to-province-east-flanders.sparql new file mode 100644 index 0000000..a7c7181 --- /dev/null +++ b/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082404-change-zwijndrecht-to-province-east-flanders.sparql @@ -0,0 +1,27 @@ +PREFIX locn: +PREFIX adres: +PREFIX organisatie: +PREFIX org: + +DELETE { + GRAPH ?g { + ?address locn:adminUnitL2 "Antwerpen". + } +} INSERT { + GRAPH ?g { + ?address locn:adminUnitL2 "Oost-Vlaanderen". + } +} WHERE { + GRAPH ?g { + ?address a locn:Address; + adres:gemeentenaam "Zwijndrecht"; + locn:adminUnitL2 "Antwerpen" + FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } || + EXISTS { ?site org:siteAddress/locn:address ?address. }) + + } + VALUES ?g { + + + } +} From dde2e426966585aa9de359a2a1db73c29372d3b7 Mon Sep 17 00:00:00 2001 From: mirdono Date: Tue, 17 Dec 2024 11:00:02 +0100 Subject: [PATCH 3/4] chore: update address municipalities for 2025 municipality mergers This migration updates the municipality name in the addresses for all organisations located in a municipality whose name changes due to the 2025 municipality mergers. --- ...ipality-to-merged-municipality-name.sparql | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082944-update-address-municipality-to-merged-municipality-name.sparql diff --git a/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082944-update-address-municipality-to-merged-municipality-name.sparql b/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082944-update-address-municipality-to-merged-municipality-name.sparql new file mode 100644 index 0000000..3644829 --- /dev/null +++ b/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217082944-update-address-municipality-to-merged-municipality-name.sparql @@ -0,0 +1,51 @@ +PREFIX adres: +PREFIX locn: +PREFIX organisatie: +PREFIX org: + +DELETE { + GRAPH ?g { + ?address adres:gemeentenaam ?oldMunicipality. + } +} +INSERT { + GRAPH ?g { + ?address adres:gemeentenaam ?newMunicipality. + } +} +WHERE { + GRAPH ?g { + ?address a locn:Address; + adres:gemeentenaam ?oldMunicipality. + FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } || + EXISTS { ?site org:siteAddress/locn:address ?address. }) + } + VALUES ?g { + + + } + VALUES (?oldMunicipality ?newMunicipality) { + ("Borsbeek" "Antwerpen") + ("Galmaarden" "Pajottegem") + ("Gooik" "Pajottegem") + ("Herne" "Pajottegem") + ("Ruiselede" "Wingene") + ("Meulebeke" "Tielt") + ("De Pinte" "Nazareth-De Pinte") + ("Nazareth" "Nazareth-De Pinte") + ("Wachtebeke" "Lochristi") + ("Moerbeke" "Lokeren") + ("Melle" "Merelbeke-Melle") + ("Merelbeke" "Merelbeke-Melle") + ("Beveren" "Beveren-Kruibeke-Zwijndrecht") + ("Kruibeke" "Beveren-Kruibeke-Zwijndrecht") + ("Zwijndrecht" "Beveren-Kruibeke-Zwijndrecht") + ("Bilzen" "Bilzen-Hoeselt") + ("Hoeselt" "Bilzen-Hoeselt") + ("Borgloon" "Tongeren-Borgloon") + ("Tongeren" "Tongeren-Borgloon") + ("Ham" "Tessenderlo-Ham") + ("Tessenderlo" "Tessenderlo-Ham") + ("Kortessem" "Hasselt") + } +} From 8143aac736c8a090f413162b8c8f84c9c0915869 Mon Sep 17 00:00:00 2001 From: mirdono Date: Tue, 17 Dec 2024 11:00:15 +0100 Subject: [PATCH 4/4] chore: regenerate full addresses to reflect address changes This migration regenerates the `locn:fullAddress` triples for addresses in a municipality involved in a merger. In essences this migration updates the `locn:fullAddress` triple for each address changed by the migrations in the previous commit. Notes - The migration is split over two queries, one for addresses without a box number and one for addresses with a box number. This avoids complicating the query with conditional logic at the cost of code duplication in the queries. - In the existing full address triples two different notations are used to separate the box and building number. OP currently separates them simply by a space, which is what this migration matches for. But some historical data uses a dash "-" to separate building and box number. Consequently, this migration might match more address resources than strictly updated for the municipality merges. --- ...ddress-triple-for-changed-addresses.sparql | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217083314-regenerate-full-address-triple-for-changed-addresses.sparql diff --git a/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217083314-regenerate-full-address-triple-for-changed-addresses.sparql b/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217083314-regenerate-full-address-triple-for-changed-addresses.sparql new file mode 100644 index 0000000..5f2659d --- /dev/null +++ b/config/migrations-triggering-indexing/2024/20241217082404-mergers-2025--update-addresses/20241217083314-regenerate-full-address-triple-for-changed-addresses.sparql @@ -0,0 +1,92 @@ +PREFIX locn: +PREFIX adres: +PREFIX organisatie: +PREFIX org: + +DELETE { + GRAPH ?g { + ?address locn:fullAddress ?fullAddress. + } +} INSERT { + GRAPH ?g { + ?address locn:fullAddress ?newFullAddress. + } +} WHERE { + GRAPH ?g { + ?address locn:fullAddress ?fullAddress; + locn:thoroughfare ?street; + adres:Adresvoorstelling.huisnummer ?buildingNo; + locn:postCode ?postalCode; + adres:gemeentenaam ?municipality; + adres:land ?country. + FILTER NOT EXISTS { ?address adres:Adresvoorstelling.busnummer ?boxNo. } + FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } || + EXISTS { ?site org:siteAddress/locn:address ?address. }) + FILTER (?municipality IN ( + "Antwerpen", + "Pajottegem", + "Wingene", + "Tielt", + "Nazareth-De Pinte", + "Lochristi", + "Lokeren", + "Merelbeke-Melle", + "Beveren-Kruibeke-Zwijndrecht", + "Bilzen-Hoeselt", + "Tongeren-Borgloon", + "Tessenderlo-Ham", + "Hasselt" + )) + BIND (CONCAT(?street, " ", ?buildingNo, ", ", ?postalCode, " ", ?municipality, ", ", ?country) AS ?newFullAddress) + FILTER (?fullAddress != ?newFullAddress) + } + + VALUES ?g { + + + } +} +; +DELETE { + GRAPH ?g { + ?address locn:fullAddress ?fullAddress. + } +} INSERT { + GRAPH ?g { + ?address locn:fullAddress ?newFullAddress. + } +} WHERE { + GRAPH ?g { + ?address locn:fullAddress ?fullAddress; + locn:thoroughfare ?street; + adres:Adresvoorstelling.huisnummer ?buildingNo; + adres:Adresvoorstelling.busnummer ?boxNo; + locn:postCode ?postalCode; + adres:gemeentenaam ?municipality; + adres:land ?country. + FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } || + EXISTS { ?site org:siteAddress/locn:address ?address. }) + FILTER (?municipality IN ( + "Antwerpen", + "Pajottegem", + "Wingene", + "Tielt", + "Nazareth-De Pinte", + "Lochristi", + "Lokeren", + "Merelbeke-Melle", + "Beveren-Kruibeke-Zwijndrecht", + "Bilzen-Hoeselt", + "Tongeren-Borgloon", + "Tessenderlo-Ham", + "Hasselt" + )) + BIND (CONCAT(?street, " ", ?buildingNo, " ", ?boxNo, ", ", ?postalCode, " ", ?municipality, ", ", ?country) AS ?newFullAddress) + FILTER (?fullAddress != ?newFullAddress) + } + + VALUES ?g { + + + } +}