Compare commits

...

110 Commits

Author SHA1 Message Date
mirdono
b31d6c65e6 fix: update label for locations to match their merged municipality
As part of the 2025 municipality mergers, three municipalities kept their URI
but were renamed. This updates the labels for their scope of
operation (nl. werkingsgebied) locations accordingly. This way the label of the
location resources matches the name of the municipality administrative unit.
2025-06-20 12:52:41 +02:00
cecemel
c77f1e9139 Merge pull request #551 from lblod/hotfix/add-vlaamse-regering-as-eenheid
Hotfix/add vlaamse regering as eenheid
2025-06-17 13:39:28 +02:00
felix
8a76be40e8 Release v1.33.1 2025-06-16 14:50:16 +02:00
felix
3dffca6623 Added migration for Vlaams Parlement
Note:
  `<http://mu.semte.ch/graphs/shared>` is only needed when data needs to
    be availible to worship and non-worship users
2025-06-16 14:49:13 +02:00
mirdono
f6fe8ac87d chore: update changelog 2025-06-05 14:00:34 +02:00
mirdono
7defbf9009 chore: bump frontend 2025-06-05 14:00:20 +02:00
mirdono
5f1bfe96c7 feat: cleanup jobs municipality and province relations
Add cleanup jobs to automatically insert and delete `org:hasSubOrganization`
relations between provinces and municipalities. These memberships were moved to
the `shared` graph causing the existing cleanup jobs to no longer work for them.
2025-06-04 11:41:21 +02:00
mirdono
d2ec188373 fix: relate provinces and municipalities in shared graph
The frontend relies on the memberships relating municipalities and province to
- automatically select the appropriate province given a municipality; and
- limit the municipality options to those in a given province.

This kind of functionality is used in both the worship and non-worship module so
the data should be readable by users with either roles. This moves the
appropriate data the `shared` graph, which can be read by all authenticated
users. Thereby fixing that that functionality was broken for users with the
worship role.
2025-06-04 11:41:21 +02:00
mirdono
9515aec9ad Merge branch 'master' into development 2025-06-04 11:40:58 +02:00
cecemel
d4cd0d5cbd Hotfix/add kabinet crevits as eenheid (#548)
* Added migration for Kabinet Crevits

Note: 
`<http://mu.semte.ch/graphs/shared>` is only needed when data needs to
be availible to worship and non-worship users

* Update CHANGELOG.md
2025-06-02 16:46:51 +02:00
mirdono
6036b030c1 Merge branch 'master' into development 2025-05-23 18:12:40 +02:00
mirdono
d3420cf935 chore: set correct release version 2025-05-23 18:08:27 +02:00
mirdono
f2a65697db chore: remove deprecated version from docker compose configurations
The version property has been deprecated for a while. Now that the servers are
on a recent version of docker compose these can be removed from our
configurations. This avoids that the warnings are shown each time.
2025-05-23 14:40:09 +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
wolfderechter
0d87feb119 Remove change events from ckb's and update their status (#535)
* Remove change events from ckb's and update their status

* move status migration to triggering-indexing

* remove unneeded code

* update changelog
2025-04-01 09:42:56 +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
mirdono
2271ea0395 chore: bump frontend 2025-03-27 12:33:38 +01:00
mirdono
4b4f11c1c7 chore: bump frontend 2025-03-26 13:58:27 +01:00
mirdono
ec6f1700a9 chore: update changelog for prerelease 2025-03-26 13:56:05 +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
felix
2757b082b8 Merge branch 'master' into development 2025-03-25 10:54:27 +01:00
cecemel
1f76fc0fe6 Merge pull request #532 from lblod/chore/flush-landing-zones-leidinggevenden-and-mandatarissen
A migration to flush the landing zones of consumers for bits of the data. Since this data is not actively maintained anymore by the producers, this might lead to obsolete information and confusion situations at the consumer side. Context: deploy story DL-6552
2025-03-25 10:50:44 +01:00
felix
ce2558ad68 Update changelog for v1.30.6 2025-03-24 17:23:12 +01:00
felix
b9fb9d8a63 Flush landing-zone leidinggevenden and mandatarissen
We do want to avoid inconsistencies popping up; i.e. bestuurseenheid
label gets upated, but that won't be reflected in the landing zone
since the information by the producers is not produced anymore,
potentially bringing very confusion situations
2025-03-24 17:15:37 +01:00
cecemel
bf6b568aa9 Merge pull request #531 from lblod/chore/undo-update-label-ocwmv
Chore/undo update label ocwmv
2025-03-21 17:17:12 +01:00
felix
84b657cd84 Update changelog 2025-03-21 17:16:08 +01:00
felix
5deec6a735 undo name change OCMWv 2025-03-21 17:14:33 +01:00
cecemel
adb6864321 Merge pull request #530 from lblod/chore/update-label-ocwmv
Chore/update label ocwmv
2025-03-21 17:00:49 +01:00
felix
cbff03275a update changelog 2025-03-21 16:59:53 +01:00
felix
d246555c8a swapped migration to triggering index migration. 2025-03-21 16:58:37 +01:00
felix
f9c0ef7072 update changelog 2025-03-21 16:30:45 +01:00
felix
9e75eaecb4 Added migration to change label ocmwv 2025-03-21 16:28:14 +01:00
wolfderechter
a3370a9385 Fix: update date of change event st petrus (#529)
* Update the date of a change event of kerkfabriek st petrus

* update changelog
2025-03-21 14:10:41 +01:00
Sam Van Campenhout
0a883702fc Update the dashboard domain names
These are more consistent with how other apps have set up their dashboards.
2025-03-20 16:25:06 +01:00
Sam Van Campenhout
8a64229f69 Merge pull request #525 from lblod/job-dashboard-setup
[OP-3103] Set up the dashboard
2025-03-20 11:55:58 +01:00
Sam Van Campenhout
6cae455d46 Disable the secure cookie flag in development
This makes it easier to test the dashboard locally.
2025-03-20 09:32:09 +01:00
Sam Van Campenhout
b97b545add Set up the jobs dashboard
Based on the same setup in the worship decisions app: https://github.com/lblod/app-worship-decisions-database/pull/29
2025-03-20 09:32:09 +01:00
Claire Lovisa
2c729ddee3 Merge pull request #527 from lblod/chore/harmonize-delta-consumers-folder
Move consumers to delta-consumers folder
2025-03-19 10:13:17 +01:00
Claire Lovisa
a210f830c2 Move consumers to delta-consumers folder 2025-03-18 14:02:04 +01:00
Riad Abdallah
6fc2281ea0 Merge pull request #526 from lblod/maintenance/add-missing-compose-keys
Add missing `logging` keys for some services
2025-03-14 23:10:15 +01:00
Riad Abdallah
b07885b14c Add missing logging keys for some services 2025-03-12 18:35:53 +01:00
felix
74d86dd25c update changelog.md 2025-03-11 17:46:47 +01:00
felix
ab8cef99d0 Update CHANGELOG.md 2025-03-11 17:46:47 +01:00
felix
e8a2d29abc Added Location for export of the public delta-stream 2025-03-11 17:46:47 +01:00
cecemel
846b523045 Merge pull request #524 from lblod/hotfix/public-producer-for-mdb-cutover
Hotfix/public producer for mdb cutover
2025-03-11 17:45:51 +01:00
felix
93298b2c34 update changelog.md 2025-03-10 17:06:52 +01:00
felix
0dae17db17 Update CHANGELOG.md 2025-03-10 17:04:32 +01:00
felix
be4d2c04b0 Added Location for export of the public delta-stream 2025-03-10 16:57:20 +01:00
Riad Abdallah
15972b5125 Bump MaxConstructTriples to 1000000
`MaxConstructTriples` needs to bumped to the same value as `ResultSetMaxRows`
since `virtuoso` will check the value of the former variable first. By setting it
to 10000, we were severely limiting the number of triples that can be constructed.
2025-03-06 15:42:22 +01:00
Claire Lovisa
0a5e5ac9e6 Merge branch 'master' into development 2025-03-06 14:56:14 +01:00
Claire Lovisa
68afdad2c4 Release v1.30.4 2025-03-06 14:54:45 +01:00
Claire Lovisa
c6345a9c2f Merge pull request #523 from lblod/hotfix/missing-codes-in-public-producer
Add missing codes to public producer
2025-03-06 14:53:52 +01:00
Claire Lovisa
c3365c7b80 Update changelog 2025-03-06 12:32:07 +01:00
Claire Lovisa
59b0e6ae5c Add missing codes to public producer 2025-03-06 11:49:22 +01:00
Riad Abdallah
df30c9c080 Merge pull request #522 from lblod/maintenance/upgrade-databases
Upgrade `triplestore` and `publication-triplestore` to `v1.3.0-rc.1`
2025-03-04 16:02:33 +01:00
Riad Abdallah
3747f97a8f Update CHANGELOG 2025-03-04 12:00:16 +01:00
Riad Abdallah
bc3cd35f8f Add new config vars to .ini files 2025-03-04 11:57:09 +01:00
Riad Abdallah
3ab27e5d36 Bump databases to v1.3.0-rc.1 2025-03-04 11:56:42 +01:00
mirdono
1d2d69594b Merge branch 'master' into development 2025-03-04 10:43:08 +01:00
mirdono
50728e0766 chore: update changelog for v1.30.3 2025-03-04 10:37:30 +01:00
mirdono
88f49a1f08 chore: bump frontend 2025-03-04 10:37:17 +01:00
mirdono
175ecef9fa Merge branch 'master' into development 2025-02-28 17:08:18 +01:00
mirdono
395707593d chore: update changelog 2025-02-28 16:56:23 +01:00
mirdono
72a0d782a6 Merge branch 'chore/move-status-for-municipalities-and-provinces-shared-graph' into development [#519] 2025-02-24 14:40:25 +01:00
mirdono
a7d77241d0 chore: update changelog 2025-02-24 14:38:23 +01:00
mirdono
920f78e51d chore: move status for municipalities and provinces in shared graph
For new frontend functionality concerning local involvements a worship user
should be able to read the status for municipalities and provinces. This
migrations moves these triples to the shared graph such worship users have read
access. The status for municipalities and provinces cannot be changed by users
so no write access is needed.
2025-02-20 18:25:10 +01:00
112 changed files with 8874 additions and 31 deletions

View File

@@ -1,7 +1,197 @@
# Changelog
## Unreleased
## v1.30.2 (Pre-release v1.30.2-0 on 2025-02-28)
## v1.33.2 (2025-06-20)
### Backend
- datafix: correct name for locations whose municipalities kept their URI in the 2025 mergers
### Deploy notes
```
drc restart migrations-triggering-indexing && drc logs -ft --tail=200
```
## v1.33.1 (2025-06-16)
### Backend
- Added Vlaams Parlement as bestuurseenheid. [DL-6686]
### Deploy Notes
```
drc restart migrations;
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs
```
## v1.33.0 (2025-06-05)
### Frontend
- Bump to version [v1.32.0](https://github.com/lblod/frontend-organization-portal/releases/tag/v1.32.0)
### Backend
- datafix: move memberships involving provinces and municipalities to shared graph [OP-3619]
### Deploy notes
```
drc restart migrations; drc logs -ft --tail=200 migrations
drc exec db-cleanup curl -X POST "http://localhost/cleanup"
drc pull frontend; drc up -d frontend
```
## v1.32.1 (2025-06-02)
### Backend
- Added Kabinet Crevits as bestuurseenheid. [DL-6655]
### Deploy Notes
```
drc restart migrations;
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs
```
## 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
```
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)
### Backend
- Datafix: move status for municipalities and provinces to the `shared` graph such that it can be read by worship users [OP-3469]
- Bump `triplestore` and `publication-triplestore` to `v1.3.0-rc.1`. [OP-2492] [OP-3547]
- Add missing docker compose keys. [DL-6490]
- Reorganize delta consumers config to harmonize with the ecosystem
- Set up the dashboard app [OP-3103]
- Datafix: correct date of change event of kerkfabriek st petrus [OP-3555]
- Update OCMWv to VVMW [OP-3565] and back. It's technically a nil-operation. But you should run the migrations nevertheless.
### Deploy notes
```
drc restart migrations-triggering-indexing
drc restart migrations; drc logs -ft --tail=200 migrations
drc pull frontend; drc up -d frontend
drc up -d mandatarissen-consumer leidinggevenden-consumer worship-services-main-info-consumer worship-services-private-info-consumer
```
#### For upgrade databases
[This README](https://github.com/Riadabd/upgrade-virtuoso) provides the necessary steps for upgrading the database. **NOTE**: This will involve shutting down the app for small period of time (around 30 minutes).
#### For adding the missing keys
```
drc up -d search elasticsearch
```
#### Dashboard
The dashboard requires some server specific configuration before it can be used.
##### 1. Dashboard domains
To configure the domain name that's used by the dashboard frontend, you can add it to the `VIRTUAL_HOST` and `LETSENCRYPT_HOST` environment variables of the identifier service.
- DEV domain: dashboard.dev.app-organisation-portal.contacthub-dev.s.redhost.be
- QA domain: dashboard.qa.app-organisation-portal.contacthub-dev.s.redhost.be
- PROD domain: dashboard.app-organisation-portal.organisaties.s.redpencil.io
##### 2. Dashboard users
Before we can generate a user we need to add an application salt to the server. Add a `MU_APPLICATION_SALT` environment variable to the `dashboard-login` service in the docker-compose.override.yml file.
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.
##### 3. (Re)start the needed services
`drc up -d frontend-dashboard dashboard-login identifier; drc restart dispatcher resource db`
## v1.30.5 (2025-03-10)
### Backend
- Added `http://www.w3.org/ns/prov#Location` to delta stream 'public' [DL-6496]
### Deploy notes
```
drc restart delta-producer-publication-graph-maintainer
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs
```
## v1.30.6 (2025-03-25)
### Backend
- Flushed landingzones [DL-6552]
### Deploy notes
```
drc restart migrations
```
## v1.30.5 (2025-03-10)
### Backend
- Added `http://www.w3.org/ns/prov#Location` to delta stream 'public' [DL-6496]
### Deploy notes
```
drc restart delta-producer-publication-graph-maintainer
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs
```
## v1.30.4 (2025-03-06)
### Backend
- Add missing codes to public producer [DL-6210] [DL-6449]
#### Deploy commands
```
drc restart migrations delta-producer-publication-graph-maintainer
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs
```
## v1.30.3 (2025-03-04)
### Frontend
- Bump to [v1.29.1](https://github.com/lblod/frontend-organization-portal/releases/tag/v1.29.1)
### Deploy notes
- Bump frontend
#### Deploy commands
```
drc pull frontend; drc up -d frontend
```
## v1.30.2 (2025-02-28)
### Backend
- Datafix: add new timed governing bodies for new legislature for AGBs [OP-3552]
### Deploy notes
@@ -34,7 +224,6 @@ drc restart migrations
- Remove several OCMW bcsd faciliteitgemeenten [OP-3535]
- Completely remove AGB Stekene's data. [OP-3409]
- Remove reasoner service, replaced by new consumer logic
### Deploy Notes
- Before pulling the changes
+ Shut down the reasoner and thank it for its good service: `drc down reasoner`

View File

@@ -185,3 +185,26 @@ To make sure the app can share data, producers need to be set up. There is an in
)
}
```
## Configuring the dashboard
### Accessing the dashboard from your local machine
Since we use dispatcher v2, which dispatches on hostname, we'll have to update `/etc/hosts`.
Add an entry similar to the following. Ensure the first part of the domain starts with `dashboard`.:
```
127.0.0.1 dashboard.localhost
```
### Creating new users
For now, we use specific logins for the dashboard users. Each environment has its own passwords.
To add a user, make sure to have [mu-cli](https://github.com/mu-semtech/mu-cli) installed first.
Then in `docker-compose.override.yml`
```
dashboard-login:
environment:
MU_APPLICATION_SALT: 'a_random_string_with_sufficient_entropy_hence_not_this_one'
```
You can now generate a user by running `mu script project-scripts generate-dashboard-login` and following the steps.
Restart `migrations` and it should insert the new user into the database.

View File

@@ -107,6 +107,19 @@ defmodule Acl.UserGroups.Config do
}"
end
defp can_access_dashboard() do
%AccessByQuery{
vars: [],
query: "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
SELECT DISTINCT ?account WHERE {
<SESSION_ID> <http://mu.semte.ch/vocabularies/session/account> ?account.
?account <http://mu.semte.ch/vocabularies/ext/sessionRole> ?session_role.
FILTER( ?session_role = \"dashboard-user\" )
}"
}
end
def user_groups do
[
%GroupSpec{
@@ -206,6 +219,46 @@ defmodule Acl.UserGroups.Config do
}
]
},
# // dashboard users
%GroupSpec{
name: "dashboard-users",
useage: [:read],
access: can_access_dashboard(),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/reports",
constraint: %ResourceConstraint{
resource_types: [
"http://lblod.data.gift/vocabularies/reporting/Report",
"http://open-services.net/ns/core#Error",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/system/jobs",
constraint: %ResourceConstraint{
resource_types: [
"http://vocab.deri.ie/cogs#Job",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
}
},
# OP stores jobs in multiple graphs, so we configure both until they are merged into one graph
%GraphSpec{
graph: "http://mu.semte.ch/graphs/jobs",
constraint: %ResourceConstraint{
resource_types: [
"http://vocab.deri.ie/cogs#Job",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
}
},
]
},
# // CLEANUP
#

View File

@@ -231,10 +231,12 @@ DefaultHost = localhost:8890
;DefaultGraph = http://localhost:8890/dataspace
;ImmutableGraphs = http://localhost:8890/dataspace
ResultSetMaxRows = 1000000 ; 1 million
MaxConstructTriples = 1000000 ; More info on this addition here: https://github.com/redpencilio/docker-virtuoso/pull/29
;MaxQueryCostEstimationTime = 4000 ; in seconds
MaxQueryExecutionTime = 1200 ; in seconds
DefaultQuery = select distinct ?Concept where {[] a ?Concept} LIMIT 100
DeferInferenceRulesInit = 0 ; controls inference rules loading
MaxMemInUse = 0 ; limits the amount of memory for construct dict (0=unlimited). More info on this addition here: https://github.com/redpencilio/docker-virtuoso/pull/29
;PingService = http://rpc.pingthesemanticweb.com/
[Plugins]

View File

@@ -231,10 +231,12 @@ DefaultHost = localhost:8890
;DefaultGraph = http://localhost:8890/dataspace
;ImmutableGraphs = http://localhost:8890/dataspace
ResultSetMaxRows = 1000000 ; 1 million
MaxConstructTriples = 1000000 ; More info on this addition here: https://github.com/redpencilio/docker-virtuoso/pull/29
;MaxQueryCostEstimationTime = 4000 ; in seconds
MaxQueryExecutionTime = 1200 ; in seconds
DefaultQuery = select distinct ?Concept where {[] a ?Concept} LIMIT 100
DeferInferenceRulesInit = 0 ; controls inference rules loading
MaxMemInUse = 0 ; limits the amount of memory for construct dict (0=unlimited). More info on this addition here: https://github.com/redpencilio/docker-virtuoso/pull/29
;PingService = http://rpc.pingthesemanticweb.com/
[Plugins]

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": [
@@ -497,6 +574,107 @@
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"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#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"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#prefLabel"
]
},
{
"type": "http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
"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#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/OrganizationClassificationCode",
"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#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/prov#Location",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"hasRegexGraphsFilter": false,
"properties": [
"http://www.w3.org/2000/01/rdf-schema#label",
"http://mu.semte.ch/vocabularies/core/uuid",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"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

@@ -240,6 +240,47 @@ defmodule Dispatcher do
Proxy.forward(conn, path, "http://resource/kbo-organizations/")
end
# Dashboard
match "/jobs/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://cache/jobs/")
end
match "/tasks/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://cache/tasks/")
end
match "/data-containers/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://cache/data-containers/")
end
match "/job-errors/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://cache/job-errors/")
end
match "/reports/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://resource/reports/")
end
match "/log-entries/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://resource/log-entries/")
end
match "/log-levels/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://resource/log-levels/")
end
match "/status-codes/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://resource/status-codes/")
end
match "/log-sources/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://resource/log-sources/")
end
match "/remote-data-objects/*path", %{accept: [:json], layer: :api} do
Proxy.forward(conn, path, "http://resource/remote-data-objects/")
end
###############
# LOGIN
###############
@@ -264,6 +305,10 @@ defmodule Dispatcher do
Proxy.forward(conn, path, "http://mocklogin/sessions/")
end
match "/sessions/*path", %{ reverse_host: ["dashboard" | _rest] } do
Proxy.forward conn, path, "http://dashboard-login/sessions/"
end
match "/sessions/*path", %{accept: [:any], layer: :api} do
Proxy.forward(conn, path, "http://login/sessions/")
end
@@ -428,6 +473,20 @@ defmodule Dispatcher do
# frontend layer
###############################################################
get "/assets/*path", %{ reverse_host: ["dashboard" | _rest], layer: :api } do
forward conn, path, "http://frontend-dashboard/assets/"
end
get "/@appuniversum/*path", %{ reverse_host: ["dashboard" | _rest], layer: :api} do
forward conn, path, "http://frontend-dashboard/@appuniversum/"
end
match "/*_path", %{ reverse_host: ["dashboard" | _rest], layer: :api } do
# *_path allows a path to be supplied, but will not yield
# an error that we don't use the path variable.
forward conn, [], "http://frontend-dashboard/index.html"
end
match "/assets/*path", %{layer: :api} do
Proxy.forward(conn, path, "http://frontend/assets/")
end

View File

@@ -0,0 +1,18 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?label
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> "VVMW".
}
}
WHERE {
VALUES ?s {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cc4e2d67-603b-4784-9b61-e50bac1ec089>
}
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?label.
}
}

View File

@@ -0,0 +1,18 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?label
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMW vereniging".
}
}
WHERE {
VALUES ?s {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cc4e2d67-603b-4784-9b61-e50bac1ec089>
}
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?label.
}
}

View File

@@ -0,0 +1,42 @@
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/centraleBesturenVanDeEredienst/ed0914f40dfed83ca44af845a2bf4d81>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/9e0e8f060ca954da6263243642433f44>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/b93ae92a8eb4912125094d98b8b4841d>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/988321712204bd0104fb62e6f5dbe104>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/70e058024a3cd58f76005d645b892e01>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/cf4add06db226861767559753fb50206>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/5442c1374ed159347bc0c64518a9b1a9>
}
BIND (<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> AS ?notActiveStatus)
BIND (<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> AS ?activeStatus)
}
;
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/centraleBesturenVanDeEredienst/e12c4f9f7167cd0074a97a2f658d1d51>
}
BIND (<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> AS ?notActiveStatus)
BIND (<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> AS ?activeStatus)
}

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,22 @@
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX prov: <http://www.w3.org/ns/prov#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
?scope rdfs:label ?oldLabel .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?scope rdfs:label ?newLabel .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
?scope a prov:Location ;
rdfs:label ?oldLabel .
VALUES (?scope ?newLabel) {
(<http://data.lblod.info/id/werkingsgebieden/1f5dd7043ad54d07751da8689d5b47ad9ae0e52dccce8f00cc8debab35f8e2b2> "Bilzen-Hoeselt")
(<http://data.lblod.info/id/werkingsgebieden/fc34bb0a1dbf157ac5e5f8e657dd774210f03d2efa21370dd3b9a6342906c7ab> "Tessenderlo-Ham")
(<http://data.lblod.info/id/werkingsgebieden/fabec9e745fc9efa32afadd8b7268938805b9679dcf3b032c9b9a9a3530d6b59> "Tongeren-Borgloon")
}
}
}

View File

@@ -0,0 +1,28 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?organisation regorg:orgStatus ?status.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?organisation regorg:orgStatus ?status.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?organisation a besluit:Bestuurseenheid;
org:classification ?class.
FILTER (?class IN
(
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>, # Municipality
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> # Province
)
)
}
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?organisation regorg:orgStatus ?status.
}
}

View File

@@ -0,0 +1,14 @@
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?s <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
}
} WHERE {
VALUES ?type {
<http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode>
<http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode>
<http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>
<http://mu.semte.ch/vocabularies/ext/OrganizationClassificationCode>
}
?s a ?type .
}

View File

@@ -0,0 +1,33 @@
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/log-levels/0986a9b6-b543-4629-8ef8-08928ae42430> a <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#Level> ;
<http://mu.semte.ch/vocabularies/core/uuid> "0986a9b6-b543-4629-8ef8-08928ae42430" ;
<http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#priority> 1 ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "TRACE" .
<http://data.lblod.info/id/log-levels/fe6473d5-ac83-450c-83f8-3546357c7117> a <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#Level> ;
<http://mu.semte.ch/vocabularies/core/uuid> "fe6473d5-ac83-450c-83f8-3546357c7117" ;
<http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#priority> 2 ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "DEBUG" .
<http://data.lblod.info/id/log-levels/6f92baad-b4a1-42ce-8bdf-e28218b27ff9> a <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#Level> ;
<http://mu.semte.ch/vocabularies/core/uuid> "6f92baad-b4a1-42ce-8bdf-e28218b27ff9" ;
<http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#priority> 3 ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "INFO" .
<http://data.lblod.info/id/log-levels/62d2516b-e6b8-4866-aad1-e8347f2cdc70> a <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#Level> ;
<http://mu.semte.ch/vocabularies/core/uuid> "62d2516b-e6b8-4866-aad1-e8347f2cdc70" ;
<http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#priority> 4 ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "WARN" .
<http://data.lblod.info/id/log-levels/3af9ebe1-e6a8-495c-a392-16ced1f38ef1> a <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#Level> ;
<http://mu.semte.ch/vocabularies/core/uuid> "3af9ebe1-e6a8-495c-a392-16ced1f38ef1" ;
<http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#priority> 5 ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "ERROR" .
<http://data.lblod.info/id/log-levels/c679f915-1fdd-4b50-938d-6b565aa31278> a <http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#Level> ;
<http://mu.semte.ch/vocabularies/core/uuid> "c679f915-1fdd-4b50-938d-6b565aa31278" ;
<http://persistence.uni-leipzig.org/nlp2rdf/ontologies/rlog#priority> 6 ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "FATAL" .
}
}

View File

@@ -0,0 +1,7 @@
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/log-sources/c7806563-25a4-46c8-9be2-a0cdf0db1f98> a <http://mu.semte.ch/vocabularies/ext/LogSource> ;
<http://mu.semte.ch/vocabularies/core/uuid> "c7806563-25a4-46c8-9be2-a0cdf0db1f98" ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "Acmidm login service" .
}
}

View File

@@ -0,0 +1,15 @@
PREFIX dct: <http://purl.org/dc/terms/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/67C816180F1E719C0DBB7B6C> dct:date ?oldDate .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/67C816180F1E719C0DBB7B6C> dct:date "2025-03-05"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/67C816180F1E719C0DBB7B6C> dct:date ?oldDate .
}
}

View File

@@ -0,0 +1,22 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/leidinggevenden> {
?s a ?type;
?p ?o.
}
}
WHERE {
VALUES ?type {
<http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode>
<http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>
<http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>
<http://mu.semte.ch/vocabularies/ext/BestuursorgaanClassificatieCode>
<http://mu.semte.ch/vocabularies/ext/BestuursfunctieCode>
<http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>
<http://www.w3.org/ns/prov#Location>
}
GRAPH <http://mu.semte.ch/graphs/landing-zone/leidinggevenden> {
?s a ?type;
?p ?o.
}
}

View File

@@ -0,0 +1,23 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
?s a ?type;
?p ?o.
}
}
WHERE {
VALUES ?type {
<http://mu.semte.ch/vocabularies/ext/MandatarisStatusCode>
<http://data.vlaanderen.be/ns/mandaat#Mandaat>
<http://mu.semte.ch/vocabularies/ext/BestuursfunctieCode>
<http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>
<http://mu.semte.ch/vocabularies/ext/BestuursorgaanClassificatieCode>
<http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>
<http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode>
<http://www.w3.org/ns/prov#Location>
}
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
?s a ?type;
?p ?o.
}
}

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,53 @@
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> {
VALUES ?changeEventUuid {
"675AFDCA29299CC832892989" # CKB Beveren
"675AC8C529299CC83289296D" # CKB De Pinte
"675AC99229299CC83289296F" # CKB Merelbeke
"675AB94329299CC83289295D" # CKB Galmaarden
"675AD32529299CC83289297B" # CKB Galmaarden
"675AB98C29299CC83289295F" # CKB Gooik
"675AD47629299CC83289297D" # CKB Gooik
"675AD50229299CC83289297F" # CKB Herne
"675AB9D229299CC832892961" # CKB Herne
"675ACA5F29299CC832892971" # CKB Tessenderlo
"6774F73E29299CC8328929D3" # CKB Ham
}
?event a org:ChangeEvent ;
core:uuid ?changeEventUuid ;
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,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

@@ -0,0 +1,32 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/a33d5059-d527-4c9a-a788-1b7f5c75d10e>
rdf:type <http://www.w3.org/ns/org#Organization> , <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> , dcterms:Agent ;
owl:sameAs <http://data.vlaanderen.be/doc/organisatie/OVO053550> ;
<http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/52cc9d8d-1c9a-4d92-9936-da9d4a622ec4> ;
<http://www.w3.org/ns/org#linkedTo> <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> ;
<http://mu.semte.ch/vocabularies/core/uuid> "a33d5059-d527-4c9a-a788-1b7f5c75d10e" ;
skos:prefLabel "Kabinet Crevits" ;
<http://www.w3.org/2004/02/skos/core#note> """This is a special case, we consider (for now) Kabinet Crevits as a bestuurseenheid, of org:classification ABB.""";
<http://www.w3.org/ns/adms#identifier> <http://data.lblod.info/id/identificatoren/b53dc2b0-7fca-4c59-8f2a-276753edb81e> ;
<http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> ;
<http://www.w3.org/ns/regorg#legalName> "Kabinet Crevits" .
<http://data.lblod.info/id/identificatoren/b53dc2b0-7fca-4c59-8f2a-276753edb81e>
<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> <http://data.lblod.info/id/gestructureerdeIdentificator/aac3f5c0-e525-4cec-8432-2d59806661e5>;
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/adms#Identifier>;
<http://www.w3.org/2004/02/skos/core#notation> "OVO-nummer" ;
<http://mu.semte.ch/vocabularies/core/uuid> "b53dc2b0-7fca-4c59-8f2a-276753edb81e" .
<http://data.lblod.info/id/gestructureerdeIdentificator/aac3f5c0-e525-4cec-8432-2d59806661e5>
<http://mu.semte.ch/vocabularies/core/uuid> "aac3f5c0-e525-4cec-8432-2d59806661e5";
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator>;
<https://data.vlaanderen.be/ns/generiek#lokaleIdentificator> "OVO053550" .
}
}

View File

@@ -0,0 +1,24 @@
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?membership ?p ?o .
?organization org:hasSubOrganization ?member .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/shared>{
?membership ?p ?o .
?organization org:hasSubOrganization ?member .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?membership a org:Membership ;
org:member ?member ;
org:organization ?organization ;
?p ?o .
}
GRAPH <http://mu.semte.ch/graphs/shared> {
?member org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> . # Municipality
?organization org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> . # Province
}
}

View File

@@ -0,0 +1,36 @@
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
# Insert triples of the form
# <Province> <http://www.w3.org/ns/org#hasSubOrganization> <Municipality>
# matching memberships for which no such triple exists.
# Province: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>
#
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
<http://data.lblod.info/id/cleanup-job/0cc5e981-a61e-433e-b6f2-c59fd8599944> a cleanup:Job ;
mu:uuid "0cc5e981-a61e-433e-b6f2-c59fd8599944" ;
dcterms:title "Insert missing `org:hasSubOrganization` triples relating provinces and municipalities." ;
cleanup:randomQuery """
PREFIX org: <http://www.w3.org/ns/org#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?province org:hasSubOrganization ?municipality .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?membership a org:Membership ;
org:organization ?province ;
org:member ?municipality ;
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
FILTER NOT EXISTS { ?province org:hasSubOrganization ?municipality . }
?municipality org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
?province org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
}
}
""" .

View File

@@ -0,0 +1,37 @@
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
# Delete triples of the form
# <Province> <http://www.w3.org/ns/org#hasSubOrganization> <Municipality>
# for which no matching membership exists.
# Province: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>
#
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
<http://data.lblod.info/id/cleanup-job/7354dfd9-bdef-48d6-b81e-e814bd4f4e9c> a cleanup:Job ;
mu:uuid "7354dfd9-bdef-48d6-b81e-e814bd4f4e9c" ;
dcterms:title "Delete leftover `org:hasSubOrganization` triples between Provinces and municipalities." ;
cleanup:randomQuery """
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?province org:hasSubOrganization ?municipality .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?province org:hasSubOrganization ?municipality .
FILTER NOT EXISTS {
?membership a org:Membership ;
org:organization ?province ;
org:member ?municipality ;
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
}
?municipality org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
?province org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
}
}
""" .

View File

@@ -0,0 +1,32 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/862d7e64-fa34-4cd8-a948-00327c6260a6>
rdf:type <http://www.w3.org/ns/org#Organization> , <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> , dcterms:Agent ;
owl:sameAs <http://data.vlaanderen.be/doc/organisatie/OVO000617> ;
<http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/52cc9d8d-1c9a-4d92-9936-da9d4a622ec4> ;
<http://www.w3.org/ns/org#linkedTo> <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> ;
<http://mu.semte.ch/vocabularies/core/uuid> "862d7e64-fa34-4cd8-a948-00327c6260a6" ;
skos:prefLabel "Vlaams Parlement" ;
<http://www.w3.org/2004/02/skos/core#note> """This is a special case, we consider (for now) Vlaams Parlement as a bestuurseenheid, of org:classification ABB.""";
<http://www.w3.org/ns/adms#identifier> <http://data.lblod.info/id/identificatoren/a03f0b48-1a6d-40af-84eb-5aee7b757986> ;
<http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> ;
<http://www.w3.org/ns/regorg#legalName> "Vlaams Parlement" .
<http://data.lblod.info/id/identificatoren/a03f0b48-1a6d-40af-84eb-5aee7b757986>
<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> <http://data.lblod.info/id/gestructureerdeIdentificator/666c8cb7-030b-4e28-9042-82ac685684b9>;
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/adms#Identifier>;
<http://www.w3.org/2004/02/skos/core#notation> "OVO-nummer" ;
<http://mu.semte.ch/vocabularies/core/uuid> "a03f0b48-1a6d-40af-84eb-5aee7b757986" .
<http://data.lblod.info/id/gestructureerdeIdentificator/666c8cb7-030b-4e28-9042-82ac685684b9>
<http://mu.semte.ch/vocabularies/core/uuid> "666c8cb7-030b-4e28-9042-82ac685684b9";
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator>;
<https://data.vlaanderen.be/ns/generiek#lokaleIdentificator> "OVO000617" .
}
}

View File

@@ -231,10 +231,12 @@ DefaultHost = localhost:8890
;DefaultGraph = http://localhost:8890/dataspace
;ImmutableGraphs = http://localhost:8890/dataspace
ResultSetMaxRows = 1000000 ; 1 million
MaxConstructTriples = 1000000 ; More info on this addition here: https://github.com/redpencilio/docker-virtuoso/pull/29
;MaxQueryCostEstimationTime = 4000 ; in seconds
MaxQueryExecutionTime = 1200 ; in seconds
DefaultQuery = select distinct ?Concept where {[] a ?Concept} LIMIT 100
DeferInferenceRulesInit = 0 ; controls inference rules loading
MaxMemInUse = 0 ; limits the amount of memory for construct dict (0=unlimited). More info on this addition here: https://github.com/redpencilio/docker-virtuoso/pull/29
;PingService = http://rpc.pingthesemanticweb.com/
[Plugins]

Some files were not shown because too many files have changed in this diff Show More