Compare commits

...

48 Commits

Author SHA1 Message Date
mirdono
d3420cf935 chore: set correct release version 2025-05-23 18:08:27 +02:00
mirdono
f279c1dba5 chore: bump frontend to latest release 2025-05-23 14:19:28 +02:00
mirdono
d0d3440338 chore: adjust order of commands in deploy notes
This simplifies deploying the release correctly as it decreases the chance of
missing a command.
2025-05-23 14:16:28 +02:00
mirdono
6c0619d45c chore: bump frontend to latest pre-release version 2025-05-23 11:12:19 +02:00
wolfderechter
8b8b192bbd Merge pull request #546 from lblod/fix/datafix-of-3-orgs
datafix: update status of kerkfabriek weelde to non-active
datafix: delete change event and update status to active for protesta… 
datafix: update date of change event for islamic assocations
2025-05-22 13:38:38 +02:00
wolfez
bde4180168 update changelog 2025-05-21 14:06:35 +02:00
wolfez
f04ebf5723 datafix: update date of change event for islamic assocations 2025-05-21 14:04:56 +02:00
wolfez
addd4304f6 datafix: delete change event and update status to active for protestantse kerk oostende 2025-05-21 14:04:32 +02:00
wolfez
ba5bdac6cb datafix: update status of kerkfabriek weelde to non-active 2025-05-21 14:03:33 +02:00
mirdono
366aad9fe5 fix: move lingering location triples from shared to public graph
The `shared` graph still contains some location triples introduced as part of
the municipality mergers. They were overlooked by the original cleanup
migrations because the `prov:Location` and `ext:werkingsgebiedNiveau` triples
were located in the `administrative-unit` graph, causing the `WHERE` clause to
not match these triples.
2025-05-21 12:36:08 +02:00
mirdono
01c5c7e7b3 fix: insert location relations in the correct graph
The initial version of the migration, incorrectly, inserted the triples linking
municipality and province locations in the administrative unit graph. This
corrects that behaviour putting the triples in the public graph along with all
location data.
2025-05-21 10:50:51 +02:00
palexopoulos-triply
73a494cd73 Merge pull request #543 from lblod/OP-3597
OP-3597: Write migration to extract from existing primary sites the province URI
2025-05-16 15:06:11 +02:00
Panos Alexopoulos
73e6c2c60c Added two migrations, one for adding province URIs to address entities, and one for adding a concept scheme for provinces
Updated add province uri migration to avoid duplicates

Added a cleanup migration for adding province URIs to addresses

Updated the export,json config to expose the province URI of addresses

Fixing errors after review

Updated CHANGELOG

Refactored and corrected migrations, changed the timestamps

refactoring cleanup migrations

Refactored the cleanup add province migrations

Updated changelog to ensure db-cleanup-service picks up the new jobs.
2025-05-16 14:53:00 +02:00
Riad Abdallah
6cc9acd4cd Merge branch 'master' into development 2025-05-08 16:33:57 +02:00
Riad Abdallah
273c3d1f10 Merge pull request #544 from lblod/hotfix/remove-suborganization-from-inactive-ckb-deinze
Remove suborganization from inactive ckb deinze
2025-05-08 16:31:29 +02:00
Riad Abdallah
464da76876 Release v1.31.3 2025-05-08 16:27:34 +02:00
Riad Abdallah
eb7d8949cd Remove Active Organization from Inactive CKB Deinze
There is a 'double' instance of CKB Deinze in the database. One is active, and the other is inactive. This confuses systems, and it doesn't make sense that active organizations are linked (almost managed) by an inactive organization.

* Insert suborganization(s) belonging to non-active org to the active one
  * Insert new membership belonging to the suborganization(s) and active org
* Delete memberships for non-active org
2025-05-08 16:26:52 +02:00
Panos Alexopoulos
34244b699b Undo last accidental push of migration jobs 2025-05-07 16:35:27 +02:00
Panos Alexopoulos
0f4173fd1a Added two migrations, one for adding province URIs to addresses, and one for creating a concept scheme for provinces 2025-05-07 16:31:58 +02:00
mirdono
5dfa7e4676 feat: related werkingsgebiededn for municipalities and provinces 2025-05-06 11:50:38 +02:00
mirdono
927e370aa6 feat: add werkingsgebied for Borsbeek district
When the new district of Borsbeek was created, no corresponding werkingsgebied
was created. This fixes that.
2025-05-06 11:50:17 +02:00
mirdono
2f06135cf9 fix: relate district locations to Antwerp locations
The districts locations were previously not linked to their containing Antwerp
municipality location. This migration fixes that.
2025-05-06 11:50:17 +02:00
mirdono
c6b74f6a1c refactor: move werkingsgebieden to public graph
The data on werkingsgebieden was largely duplicated across two graphs the shared
graph and administrative unit graph. Some exceptions were that werkingsgebieden
with level "referentieregio" were only in the shared graph, whereas
werkingsgebieden for new municipalities that resulted from the 2025 mergers were
only in the administrative unit graph.

This moves all the werkingsgebieden and their corresponding data to the public
graph, resolving the duplication in the process. Furthermore, the `public` and
`organizations` producers are update to only look in the public graph for
locations.
2025-05-06 11:49:47 +02:00
mirdono
706b7fa525 chore: move memberships from shared to administrative-unit graph
These memberships can be edited by users via the related organisations
page. If this data is kept in the read-only shared graph this leads to
unexpected behaviour when users (try to) remove such a membership. More
specifically, as the user has no write acces to the graph the request will be
silently ignored and the "removed" data will simply reappear after saving the
form.
2025-05-05 11:49:09 +02:00
wolfderechter
8ca23d5515 update change event date of ckb olen (#540) 2025-05-05 10:10:24 +02:00
mirdono
e712fa8fc8 chore: update changelog 2025-04-17 11:36:01 +02:00
mirdono
225e31d845 fix: update werkingsgebieden to match NIS 2025 codes
As part of the 2025 municipality mergers some NIS2019 codes were linked to their
NIS2025 counterparts using `skos:narrowMatch` or `skos:broadMatch`, instead of
`skos:exactMatch`. Consequently, the initial insertion of the NIS2025 codes did
not update the NIS code for the werkingsgebieden linking to these.
2025-04-17 11:35:31 +02:00
mirdono
a26abc8523 fix: update end dates for NIS 2019 codes 2025-04-17 11:35:31 +02:00
Claire Lovisa
9591cd3603 Merge pull request #537 from lblod/fix/kbo-status-not-displayed
Add migration and instructions to reset kbo sync
2025-04-15 21:29:51 +02:00
Claire Lovisa
85c307216c Bump kbo-data-sync 2025-04-15 21:26:31 +02:00
Claire Lovisa
e9327a4357 Add migration and instructions to reset kbo sync 2025-04-09 12:40:34 +02:00
Claire Lovisa
539376c47c Release v1.31.2 2025-04-02 11:27:35 +02:00
Claire Lovisa
57ef47cef9 Merge pull request #536 from lblod/fix/produce-secondary-sites-in-public-producer
Produce secondary sites in public producer as well
2025-04-02 11:02:30 +02:00
Claire Lovisa
12265b7eee Update changelog 2025-04-01 20:39:09 +02:00
Claire Lovisa
a019ee1025 Merge branch 'development' into fix/produce-secondary-sites-in-public-producer 2025-04-01 20:37:00 +02:00
Claire Lovisa
50d9db571b Produce site description 2025-04-01 20:10:00 +02:00
Claire Lovisa
f41aaae912 Produce secondary site addresses and contact (public producer) 2025-04-01 20:06:37 +02:00
mirdono
c0d23e6178 chore: corrected changelog
The entries about the public producer changes accidentally ended up in the
v1.31.0 section but were not actually part of this release. This moves them back
to the unreleased section so they are correctly included in the next release.
2025-04-01 17:26:28 +02:00
mirdono
67a8e9c6df Merge branch 'master' into development 2025-04-01 17:24:31 +02:00
Claire Lovisa
b6ac54df46 Produce secondary sites in public producer as well 2025-04-01 12:43:57 +02:00
wolfez
0497b23fac release v1.31.1 2025-04-01 09:53:23 +02:00
Claire Lovisa
725f608a3b Update changelog 2025-03-31 14:30:02 +02:00
Claire Lovisa
a3d1ec1b81 Merge pull request #534 from lblod/fix/produce-ro-status-and-sites-in-public
Add sites and status to representative organ in public producer
2025-03-31 14:26:00 +02:00
Claire Lovisa
285bb6f6cb Add sites and status to representative organ in public producer 2025-03-28 13:35:15 +01:00
Claire Lovisa
9dde9bf2b9 Merge pull request #533 from lblod/feature/produce-nis-codes-in-public-producer
Produce NIS codes and countries in public producer
2025-03-27 14:07:27 +01:00
Claire Lovisa
262fe89248 Produce countries in public producer 2025-03-26 11:00:41 +01:00
Claire Lovisa
d5c8f699b1 Update changelog 2025-03-25 14:05:37 +01:00
Claire Lovisa
d017d1b0e3 Produce NIS codes in public producer 2025-03-25 13:58:06 +01:00
29 changed files with 7518 additions and 7 deletions

View File

@@ -1,5 +1,58 @@
# Changelog
## Unreleased
## v1.32.0 (2025-05-23)
### Frontend
- Bump to version [v1.31.0](https://github.com/lblod/frontend-organization-portal/releases/tag/v1.31.0)
### Backend
- Fix KBO statuses not being displayed [OP-3584]
- datafix: update NIS2019 end dates and link additional NIS2025 to werkingsgebieden [part of OP-3566]
- datafix: correct date of change event of ckb olen [OP-3594]
- datafix: move memberships from shared to administrative unit graph
- datafix: cleanup werkingsgbieden data [OP-3566]
+ Move werkingsgebieden to public graph
+ Link district werkingsgebieden to Antwerp municipality werkingsgebied
+ Add missing werkingsgebied for Borsbeek district
- Write migration to extract from existing primary sites the province URI [OP-3597]
- datafix: update status kerkfabriek weelde [OP-3598]
- datafix: delete change event and update status protestantse kerk oostende [OP-3604]
- datafix: update change event date islamic assocation [OP-3602]
### Deploy Notes
```
drc pull frontend; drc up -d frontend
drc restart migrations; drc logs -ft --tail=200 migrations
drc restart migrations-triggering-indexing && drc logs -ft --tail=200 migrations-triggering-indexing
drc up -d kbo-data-sync
drc exec kbo-data-sync curl -X POST http://localhost/sync-all-kbo-data
drc restart delta-producer-publication-graph-maintainer
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs # or wait until nightly healing kicks in
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/organizations/healing-jobs # or wait until nightly healing kicks in
drc exec db-cleanup curl -X POST "http://localhost/cleanup"
```
## v1.31.3 (2025-05-08)
### Backend
- Migrate active organizations linked to inactive CKB to the active one. [DL-6604]
### Deploy notes
```
drc restart migrations-triggering-indexing && drc logs -ft --tail=200 migrations-triggering-indexing
```
## v1.31.2 (2025-04-02)
### Backend
- Extend the public producer to include: [CLBV-980]
- NIS codes
- Sites and statuses of representative organs
- Secondary sites with their contacts and addresses
- Site descriptions
### Deploy notes
```
drc restart delta-producer-publication-graph-maintainer
```
## v1.31.1 (2025-04-01)
### Backend
- Removal of change events of 8 ckb's + update of their status [OP-3562]
### Deploy Notes
@@ -7,6 +60,7 @@
drc restart migrations-triggering-indexing; drc logs -ft --tail=200 migrations-triggering-indexing
drc restart migrations; drc logs -ft --tail=200 migrations
```
## v1.31.0 (2025-03-27)
### Frontend
- Bump to version [v1.30.0](https://github.com/lblod/frontend-organization-portal/blob/v1.30.0/CHANGELOG.md#v1300-2025-03-27)
@@ -47,7 +101,7 @@ Before we can generate a user we need to add an application salt to the server.
Once this is done you can generate a user by running `mu script project-scripts generate-dashboard-login` and following the prompts. A new local migration will be generated which can be run by restarting the migrations service and which will insert the new user into the database.
Store the login credentials as a comment in the docker-compose.override.yml file.
Store the login credentials as a comment in the docker-compose.override.yml file.
##### 3. (Re)start the needed services
`drc up -d frontend-dashboard dashboard-login identifier; drc restart dispatcher resource db`

View File

@@ -336,6 +336,7 @@
"http://www.w3.org/ns/locn#postCode",
"https://data.vlaanderen.be/ns/adres#gemeentenaam",
"http://www.w3.org/ns/locn#adminUnitL2",
"https://data.vlaanderen.be/ns/adres#adresIsGelegenIn",
"https://data.vlaanderen.be/ns/adres#land",
"http://www.w3.org/ns/locn#fullAddress",
"https://data.vlaanderen.be/ns/adres#verwijstNaar",
@@ -389,7 +390,7 @@
{
"type": "http://www.w3.org/ns/prov#Location",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2000/01/rdf-schema#label",

View File

@@ -157,6 +157,9 @@
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
@@ -204,7 +207,28 @@
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#siteAddress",
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"http://data.lblod.info/vocabularies/erediensten/vestigingstype"
"http://data.lblod.info/vocabularies/erediensten/vestigingstype",
"http://purl.org/dc/terms/description"
]
},
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#siteAddress",
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"http://data.lblod.info/vocabularies/erediensten/vestigingstype",
"http://purl.org/dc/terms/description"
]
},
{
@@ -228,6 +252,35 @@
"http://www.w3.org/ns/locn#postCode",
"https://data.vlaanderen.be/ns/adres#gemeentenaam",
"http://www.w3.org/ns/locn#adminUnitL2",
"https://data.vlaanderen.be/ns/adres#adresIsGelegenIn",
"https://data.vlaanderen.be/ns/adres#land",
"http://www.w3.org/ns/locn#fullAddress",
"https://data.vlaanderen.be/ns/adres#verwijstNaar",
"http://purl.org/dc/terms/source"
]
},
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"^http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer",
"http://www.w3.org/ns/locn#thoroughfare",
"http://www.w3.org/ns/locn#postCode",
"https://data.vlaanderen.be/ns/adres#gemeentenaam",
"http://www.w3.org/ns/locn#adminUnitL2",
"https://data.vlaanderen.be/ns/adres#adresIsGelegenIn",
"https://data.vlaanderen.be/ns/adres#land",
"http://www.w3.org/ns/locn#fullAddress",
"https://data.vlaanderen.be/ns/adres#verwijstNaar",
@@ -258,6 +311,30 @@
"http://schema.org/telephone"
]
},
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#siteAddress",
"^http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/locn#address",
"http://xmlns.com/foaf/0.1/page",
"http://schema.org/faxNumber",
"http://schema.org/contactType",
"http://xmlns.com/foaf/0.1/page",
"http://schema.org/email",
"http://schema.org/telephone"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
@@ -553,8 +630,7 @@
{
"type": "http://www.w3.org/ns/prov#Location",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/public"
],
"hasRegexGraphsFilter": false,
"properties": [
@@ -564,6 +640,41 @@
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2004/02/skos/core#exactMatch"
]
},
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#broadMatch",
"http://www.w3.org/2004/02/skos/core#broader",
"http://www.w3.org/2004/02/skos/core#exactMatch",
"http://www.w3.org/2004/02/skos/core#inScheme",
"http://www.w3.org/2004/02/skos/core#narrowMatch",
"http://www.w3.org/2004/02/skos/core#narrower",
"http://www.w3.org/2004/02/skos/core#notation",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#relatedMatch",
"http://www.w3.org/2004/02/skos/core#topConceptOf",
"https://schema.org/endDate",
"https://schema.org/startDate"
]
},
{
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2000/01/rdf-schema#label"
]
}
]
}

View File

@@ -0,0 +1,55 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?activeOrg
<http://www.w3.org/ns/org#hasSubOrganization> ?sub .
?membership a org:Membership ;
mu:uuid ?uuid ;
org:organization ?activeOrg ;
org:member ?sub ;
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
}
}
WHERE {
BIND(<http://data.lblod.info/id/centraleBesturenVanDeEredienst/643ddbd9448ca43828702527af7bfbb8> AS ?inactiveOrg)
BIND(<http://data.lblod.info/id/centraleBesturenVanDeEredienst/7f5475cfb202d12f54779f046441c9e1> AS ?activeOrg)
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?inactiveOrg
<http://www.w3.org/ns/org#hasSubOrganization> ?sub .
}
FILTER NOT EXISTS {
?activeOrg
<http://www.w3.org/ns/org#hasSubOrganization> ?sub .
}
BIND(SHA1(CONCAT(STR(?activeOrg), STR(?sub), "sub organization")) as ?uuid)
BIND(IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?inactiveOrg
<http://www.w3.org/ns/org#hasSubOrganization> ?sub .
?membership ?membershipP ?membershipO .
}
}
WHERE {
BIND(<http://data.lblod.info/id/centraleBesturenVanDeEredienst/643ddbd9448ca43828702527af7bfbb8> AS ?inactiveOrg)
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?inactiveOrg
<http://www.w3.org/ns/org#hasSubOrganization> ?sub .
?membership a org:Membership ;
org:organization ?inactiveOrg ;
?membershipP ?membershipO .
}
}

View File

@@ -0,0 +1,17 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s regorg:orgStatus ?activeStatus.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s regorg:orgStatus ?notActiveStatus.
}
} WHERE {
VALUES ?s {
<http://data.lblod.info/id/besturenVanDeEredienst/b1dbb9effdedef39bc4f0c8d96197cfd>
}
BIND (<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> AS ?notActiveStatus)
BIND (<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> AS ?activeStatus)
}

View File

@@ -0,0 +1,17 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s regorg:orgStatus ?notActiveStatus.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s regorg:orgStatus ?activeStatus.
}
} WHERE {
VALUES ?s {
<http://data.lblod.info/id/besturenVanDeEredienst/45596b602140f031237b0ec26a8d4718>
}
BIND (<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> AS ?notActiveStatus)
BIND (<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> AS ?activeStatus)
}

View File

@@ -0,0 +1,15 @@
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?s skos:inScheme <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
VALUES ?nisScheme {
<http://vocab.belgif.be/auth/refnis2025>
<http://vocab.belgif.be/auth/refnis2019>
}
?s a <http://www.w3.org/2004/02/skos/core#Concept> ;
<http://www.w3.org/2004/02/skos/core#inScheme> ?nisScheme .
}
}

View File

@@ -0,0 +1,14 @@
DELETE {
GRAPH ?g {
?s <http://purl.org/dc/terms/modified> ?modified .
}
} INSERT {
GRAPH ?g {
?s <http://purl.org/dc/terms/modified> "1000-01-01"^^xsd:date .
}
} WHERE {
GRAPH ?g {
?s a <http://mu.semte.ch/vocabularies/ext/KboOrganisatie> ;
<http://purl.org/dc/terms/modified> ?modified .
}
}

View File

@@ -0,0 +1 @@
http://mu.semte.ch/graphs/refnis2019-data-temp

View File

@@ -0,0 +1,21 @@
PREFIX schemas: <https://schema.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
?nis2019 schemas:endDate ?currentEndDate .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?nis2019 schemas:endDate ?newEndDate .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
?nis2019 skos:inScheme <http://vocab.belgif.be/auth/refnis2019> ;
schemas:endDate ?currentEndDate .
}
GRAPH <http://mu.semte.ch/graphs/refnis2019-data-temp> {
?nis2019 schemas:endDate ?newEndDate .
}
FILTER (?currentEndDate != ?newEndDate)
}

View File

@@ -0,0 +1 @@
CLEAR GRAPH <http://mu.semte.ch/graphs/refnis2019-data-temp>

View File

@@ -0,0 +1,18 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?werkingsgebied skos:exactMatch ?nis2019 .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?werkingsgebied skos:exactMatch ?nis2025 .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?werkingsgebied skos:exactMatch ?nis2019 .
}
VALUES (?nis2019 ?nis2025) {
(<http://vocab.belgif.be/auth/refnis2019/10000> <http://vocab.belgif.be/auth/refnis2025/10000>) # Antwerp province
(<http://vocab.belgif.be/auth/refnis2019/40000> <http://vocab.belgif.be/auth/refnis2025/40000>) # East Flanders province
(<http://vocab.belgif.be/auth/refnis2019/11002> <http://vocab.belgif.be/auth/refnis2025/11002>) # Antwerp municipality
}
}

View File

@@ -0,0 +1,22 @@
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
DELETE {
GRAPH ?sourceGraph {
?werkingsgebied ?p ?o .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?werkingsgebied ?p ?o .
}
} WHERE {
GRAPH ?sourceGraph {
?werkingsgebied a prov:Location ;
ext:werkingsgebiedNiveau ?level ;
?p ?o .
}
VALUES ?sourceGraph {
<http://mu.semte.ch/graphs/administrative-unit>
<http://mu.semte.ch/graphs/shared>
}
}

View File

@@ -0,0 +1,17 @@
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?districtLocation geo:sfWithin ?antwerpLocation .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
?districtLocation a prov:Location ;
ext:werkingsgebiedNiveau ?level .
FILTER (?level = "District")
}
# Hardcode the werkingsgbied for the Antwerp municipality as it is the only one with districts anyway.
BIND (<http://data.lblod.info/id/werkingsgebieden/3a9b09cbccb798c8f9d5bad3fce1476bce1ee014165ba243488b0af690d0f464> AS ?antwerpLocation)
}

View File

@@ -0,0 +1,24 @@
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?borsbeekLocation a prov:Location;
mu:uuid ?uuid ;
rdfs:label "Borsbeek" ;
ext:werkingsgebiedNiveau "District" ;
geo:sfWithin ?antwerpLocation .
}
# Also link this new werkingsgbied to the actual district
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?borsbeekDistrict besluit:werkingsgebied ?borsbeekLocation .
}
} WHERE {
BIND(SHA256(CONCAT("Werkingsgebied for the district of Borsbeek")) AS ?uuid)
BIND(IRI(CONCAT("http://data.lblod.info/id/werkingsgebieden/", STR(?uuid))) AS ?borsbeekLocation)
BIND (<http://data.lblod.info/id/werkingsgebieden/3a9b09cbccb798c8f9d5bad3fce1476bce1ee014165ba243488b0af690d0f464> AS ?antwerpLocation)
BIND (<http://data.lblod.info/id/bestuurseenheden/4b44e6f1-113b-4692-b149-44a889b215f2> AS ?borsbeekDistrict)
}

View File

@@ -0,0 +1,26 @@
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?municipalityLocation geo:sfWithin ?provinceLocation .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?municipality a besluit:Bestuurseenheid ;
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
?province a besluit:Bestuurseenheid ;
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
}
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?membership a org:Membership ;
org:member ?municipality ;
org:organization ?province .
?municipality besluit:werkingsgebied ?municipalityLocation .
?province besluit:werkingsgebied ?provinceLocation .
}
}

View File

@@ -0,0 +1,24 @@
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX prov: <http://www.w3.org/ns/prov#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s ?p ?o .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?s ?p ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s ?p ?o .
VALUES ?p {
geo:sfWithin
skos:exactMatch
}
}
GRAPH <http://mu.semte.ch/graphs/public> {
?s a prov:Location .
}
}

View File

@@ -0,0 +1,15 @@
PREFIX dct: <http://purl.org/dc/terms/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/68021371D4DB18EC8BA958FC> dct:date ?oldDate .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/68021371D4DB18EC8BA958FC> dct:date "2023-11-30"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/68021371D4DB18EC8BA958FC> dct:date ?oldDate .
}
}

View File

@@ -0,0 +1,16 @@
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?membership ?p ?o .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?membership ?p ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?membership a org:Membership ;
?p ?o .
}
}

View File

@@ -0,0 +1,26 @@
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX concept_schemes: <http://data.lblod.info/doc/conceptscheme#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX dcterms: <http://purl.org/dc/terms/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
concept_schemes:ProvincesConceptScheme a skos:ConceptScheme ;
skos:prefLabel "Provinces Concept Scheme" ;
dcterms:description "A concept scheme containing all the location entities that are provinces".
}
}
;
INSERT
{
GRAPH <http://mu.semte.ch/graphs/public> {
?province_uri rdf:type skos:Concept ;
skos:inScheme concept_schemes:ProvincesConceptScheme .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
?province_uri ext:werkingsgebiedNiveau "Provincie".
}
}

View File

@@ -0,0 +1,40 @@
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?address adres:adresIsGelegenIn ?province_uri .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?address rdf:type locn:Address ;
locn:adminUnitL2 ?province_literal .
}
GRAPH <http://mu.semte.ch/graphs/public> {
?province_uri rdfs:label ?province_literal ;
ext:werkingsgebiedNiveau "Provincie" .
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?address adres:adresIsGelegenIn ?province_uri .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?address rdf:type locn:Address ;
locn:adminUnitL2 ?province_literal .
}
GRAPH <http://mu.semte.ch/graphs/public> {
?province_uri rdfs:label ?province_literal ;
ext:werkingsgebiedNiveau "Provincie" .
}
}

View File

@@ -0,0 +1,41 @@
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
<http://data.lblod.info/id/cleanup-job/42245582-ea60-4d44-80ef-c686901eccb5> a cleanup:Job ;
mu:uuid "42245582-ea60-4d44-80ef-c686901eccb5" ;
dcterms:title "Insert missing province uris for addresses of administrative units" ;
cleanup:randomQuery """
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?address adres:adresIsGelegenIn ?province_uri .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?address rdf:type locn:Address ;
locn:adminUnitL2 ?province_literal .
FILTER NOT EXISTS {
?address adres:adresIsGelegenIn ?province_uri2 .
}
}
GRAPH <http://mu.semte.ch/graphs/public> {
?province_uri rdfs:label ?province_literal ;
ext:werkingsgebiedNiveau "Provincie" .
BIND (?province_uri as ?province_uri2)
}
}
""" .

View File

@@ -0,0 +1,39 @@
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
<http://data.lblod.info/id/cleanup-job/cdbb9f4e-90cc-40f6-a0a9-bd0bd8c9105f> a cleanup:Job ;
mu:uuid "cdbb9f4e-90cc-40f6-a0a9-bd0bd8c9105f" ;
dcterms:title "Insert missing province uris for addresses of worship services" ;
cleanup:randomQuery """
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?address adres:adresIsGelegenIn ?province_uri .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?address rdf:type locn:Address ;
locn:adminUnitL2 ?province_literal .
FILTER NOT EXISTS {
?address adres:adresIsGelegenIn ?province_uri2 .
}
}
GRAPH <http://mu.semte.ch/graphs/public> {
?province_uri rdfs:label ?province_literal ;
ext:werkingsgebiedNiveau "Provincie" .
BIND (?province_uri as ?province_uri2)
}
}
""" .

View File

@@ -0,0 +1,32 @@
PREFIX core: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX lblodorg: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?event ?ep ?eo .
?result ?rp ?ro .
?decision ?de ?do .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?event a org:ChangeEvent ;
core:uuid "6824418BD4DB18EC8BA95940" ;
lblodorg:veranderingsgebeurtenisResultaat ?result ;
?ep ?eo .
?result a lblodorg:VeranderingsgebeurtenisResultaat ;
?rp ?ro .
OPTIONAL {
?event euro:hasFormalFramework ?decision .
?decision a besluit:Besluit ;
?de ?do .
}
}
}

View File

@@ -0,0 +1,15 @@
PREFIX dct: <http://purl.org/dc/terms/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/682443E0D4DB18EC8BA95945> dct:date ?oldDate .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/682443E0D4DB18EC8BA95945> dct:date "2021-06-18"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/682443E0D4DB18EC8BA95945> dct:date ?oldDate .
}
}

View File

@@ -196,7 +196,7 @@ services:
restart: always
logging: *default-logging
frontend:
image: lblod/frontend-organization-portal:1.30.0
image: lblod/frontend-organization-portal:1.31.0
volumes:
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
environment:
@@ -312,7 +312,7 @@ services:
restart: always
logging: *default-logging
kbo-data-sync:
image: lblod/sync-wegwijs-organization-service:2.0.2
image: lblod/sync-wegwijs-organization-service:2.0.3
links:
- db:database
labels: