Compare commits

...

148 Commits

Author SHA1 Message Date
Claire Lovisa
a796c83826 Merge pull request #244 from lblod/feature/extend-public-producer
Feature/extend public producer
2023-03-21 16:52:31 +01:00
Claire Lovisa
7b37d91012 Fix public producer config 2023-03-21 11:10:05 +01:00
Claire Lovisa
ba39434853 Add betrokken and positie bedienaar to public export 2023-03-21 08:39:46 +01:00
Claire Lovisa
0e52e2bcf6 Add uuids and ROs to public producer 2023-03-20 17:29:53 +01:00
Boris De Vloed
a61d6bed35 fix query adding all bestuurseenheden 2023-03-08 14:10:43 +00:00
Boris De Vloed
50a3ff2929 publish delta files 2023-03-02 10:17:41 +00:00
Boris De Vloed
b5fbf09c08 extend public producer 2023-02-28 15:07:27 +00:00
Claire Lovisa
826aa6d379 Bump frontend 2023-02-08 17:09:38 +01:00
Claire Lovisa
087f3d2d86 Bump frontend 2023-02-08 14:15:49 +01:00
Claire Lovisa
74a9ac2eb1 Bump frontend 2023-02-08 12:23:52 +01:00
Claire Lovisa
28d63c10ba Merge branch 'development' 2023-02-08 12:23:27 +01:00
Claire Lovisa
bb377639f4 Merge pull request #232 from lblod/hotfix-delete-mandatarissen
migration to delete mandatarissen
2023-02-07 15:18:20 +01:00
Claire Lovisa
4179194e6f Moving migration to trigger reindex 2023-02-07 15:05:26 +01:00
Claire Lovisa
f5e24f3bc3 Merge branch 'development' into hotfix-delete-mandatarissen 2023-02-07 15:02:10 +01:00
Claire Lovisa
5bdf87632a Merge pull request #235 from lblod/internal/migrations-triggering-reindex
Migrations triggering reindex
2023-02-07 14:48:39 +01:00
Claire Lovisa
cbe53c5b6b Merge pull request #233 from lblod/change-kbo-number
Change kbo number
2023-02-07 14:47:22 +01:00
Claire Lovisa
0f7313b944 Add option to create migrations triggering index 2023-02-06 14:37:26 +01:00
iurianu
411d16e33d migration to remove dummy worship sewrvice 2023-02-03 15:49:53 +02:00
iurianu
6d1b58ecf0 migration to change kbo 2023-02-03 13:18:52 +02:00
Boris De Vloed
1767eff19b Do not delete mandate 2023-02-02 16:18:20 +01:00
Boris De Vloed
e30e93e00e Change to delete secondary contact point 2023-02-02 15:59:27 +01:00
iurianu
2958262abf migration to delete mandatarissen 2023-02-02 13:08:03 +02:00
Iulian Andriescu
3b3a7b548c Migration to remove region (#231)
migration to remove region
2023-02-01 13:21:01 +02:00
Iulian Andriescu
bdf7802a31 Add city change event (#230)
add-city-change-event
2023-02-01 10:17:55 +02:00
Nordine Bittich
7b8890b1ff mu search delta script (#229) 2023-01-31 11:33:53 +01:00
Boris De Vloed
bb74c52267 typo in target 2023-01-27 15:42:25 +01:00
Boris De Vloed
3d749242aa removed comma 2023-01-27 15:42:25 +01:00
Claire Lovisa
d52f121a0b Enable local involvements for central worship services
I had to deactivate parts of the cache, causing the frontend to have
very weird behaviours when the data was correct
2023-01-27 15:42:25 +01:00
Nordine Bittich
76cb2ef547 migration to delete mandatarissen, and person (#226) 2023-01-27 15:29:24 +01:00
Boris De Vloed
384a237bc4 Merge pull request #228 from lblod/fix/domain-json-syntax-error
typo in target
2023-01-27 10:36:32 +01:00
Boris De Vloed
eb78e3a6aa typo in target 2023-01-26 11:01:58 +00:00
Boris De Vloed
b3621bc103 Merge pull request #227 from lblod/fix/domain-json-syntax-error
Syntax error in domain.json
2023-01-26 11:05:38 +01:00
Boris De Vloed
03e5c42dcc removed comma 2023-01-26 10:01:44 +00:00
Nordine Bittich
c41175cbb1 fix missing governing bodies (#224) 2023-01-25 16:30:35 +01:00
Claire Lovisa
c5e1436ea8 Enable local involvements for central worship services
I had to deactivate parts of the cache, causing the frontend to have
very weird behaviours when the data was correct
2023-01-25 14:34:18 +01:00
Iulian Andriescu
9818c0e38e Fix / Change bedienaar roles (#217)
migration to change bedienaar roles
2023-01-25 13:10:36 +02:00
Iulian Andriescu
9c5ee85080 Fix / migration to delete bedienaren (#215)
migration to delete bedienaren
2023-01-25 13:09:38 +02:00
Claire Lovisa
07c762d845 Bump mu-search 2023-01-23 10:54:06 +01:00
Nordine Bittich
e9dfdbbcf2 bump frontend 2023-01-21 11:07:56 +01:00
Nordine Bittich
cd5bc1d0e7 Merge commit 'f95b285ff8666b6fa9e9a47b1a6403ec257e50a6' 2023-01-21 11:06:23 +01:00
Boris De Vloed
462d30dbc4 change start time 2023-01-21 11:06:14 +01:00
Nordine Bittich
a336ff05fd Merge commit '55c8b45cc7788ebfcc63357bca92109fb71ce498' 2023-01-21 11:05:58 +01:00
Boris De Vloed
ede4e60907 move metadata 2023-01-21 11:04:37 +01:00
Boris De Vloed
0f3bfbc6c4 typo 2023-01-21 11:04:30 +01:00
Boris De Vloed
546a5d7815 use same graph for dcat and files to avoid bug 2023-01-21 11:04:22 +01:00
Boris De Vloed
f95b285ff8 Merge pull request #220 from lblod/fix/kal-api-job-start
change start time
2023-01-20 13:16:34 +01:00
Boris De Vloed
2139f11878 change start time 2023-01-20 12:13:28 +00:00
Boris De Vloed
55c8b45cc7 Merge pull request #219 from lblod/fix/dump-cleanup-workaround
use same graph for dcat and files to avoid bug
2023-01-20 11:49:16 +01:00
Boris De Vloed
d1c9650c4d move metadata 2023-01-20 09:10:50 +00:00
Boris De Vloed
1e9958f540 typo 2023-01-19 17:03:38 +00:00
Boris De Vloed
cd3fbf7d67 use same graph for dcat and files to avoid bug 2023-01-19 17:00:36 +00:00
Boris De Vloed
56c0eb61cd Merge pull request #216 from lblod/fix/rm-empty-literals
delete empty literals
2023-01-18 17:08:13 +01:00
Boris De Vloed
23c985ff94 delete empty literals 2023-01-18 15:17:15 +00:00
Boris De Vloed
8824400cc9 Revert "deletes empty literals"
This reverts commit 856cf6e122.
2023-01-18 15:14:53 +00:00
Boris De Vloed
5d9b33d685 Merge branch 'development' of https://github.com/lblod/app-organization-portal into development 2023-01-18 15:08:51 +00:00
Boris De Vloed
856cf6e122 deletes empty literals 2023-01-18 15:08:49 +00:00
Claire Lovisa
bdf93458fa Bump frontend 2023-01-18 15:38:30 +01:00
Nordine Bittich
95263b41e3 bugfix non utf8 characters (#214) 2023-01-18 11:55:26 +01:00
Claire Lovisa
c9fba61ae7 Merge pull request #213 from lblod/fix/migration-removing-sites-contacts-and-identifiers
Update migration to avoid data loss
2023-01-17 10:28:39 +01:00
Claire Lovisa
8713e635ad Update migration to avoid data loss 2023-01-17 09:28:55 +01:00
Claire Lovisa
1241a31cd2 Merge pull request #212 from lblod/release/v1.14.0-0
Release v1.14.0-0
2023-01-16 15:36:01 +01:00
Claire Lovisa
7b8e944bb3 Bump frontend 2023-01-16 15:35:18 +01:00
Claire Lovisa
20b1498322 Merge branch 'development' into release/v1.14.0-0 2023-01-16 15:09:06 +01:00
Boris De Vloed
6cbca9c3fb Merge pull request #211 from lblod/feature/update-loket-consumers
apply worship-app changes
2023-01-13 10:44:50 +01:00
Boris De Vloed
075e56b1f2 Add identifier type to privacy graph 2023-01-13 08:45:50 +00:00
Boris De Vloed
bf8a5989ff Merge branch 'feature/update-loket-consumers' of https://github.com/lblod/app-organization-portal into feature/update-loket-consumers 2023-01-12 18:34:39 +00:00
Boris De Vloed
8e6f6067db increased scope of privacy sensitive 2023-01-12 18:33:42 +00:00
Claire Lovisa
fd89b9cbf4 Merge branch 'feature/update-loket-consumers' of github.com:lblod/app-organization-portal into feature/update-loket-consumers 2023-01-12 18:25:53 +01:00
Claire Lovisa
c4c8f2332b Ensure deletes and inserts happen in the correct order 2023-01-12 18:24:46 +01:00
Boris De Vloed
d89064d167 remove unnecessary log statement 2023-01-12 15:56:13 +00:00
Boris De Vloed
94fc9ac78e dispatch main and privacy sensitive position info 2023-01-12 10:26:26 +00:00
Iulian Andriescu
20d87aaf20 Fix/ Incident Handling (#206)
migration for deletion, and date change
2023-01-10 16:19:14 +02:00
Boris De Vloed
2576f86068 apply worship-app changes 2023-01-10 13:04:46 +00:00
Claire Lovisa
37f49f5495 Add missing dispatcher config for worship posts 2023-01-10 08:32:26 +01:00
Boris De Vloed
8e5d33f8fb Merge pull request #210 from lblod/fix/publisher-config
organizations publisher config update
2023-01-09 16:41:09 +01:00
Claire Lovisa
71e024c007 Fix worship posts jobs getting stuck 2023-01-09 13:11:31 +01:00
Boris De Vloed
fef430002b Merge branch 'development' into fix/publisher-config 2023-01-09 13:07:30 +01:00
Claire Lovisa
607384293d Merge pull request #209 from lblod/feature/mandates-producer
Add delta producer for worship posts
2023-01-09 10:38:16 +01:00
Nordine Bittich
d61b7c6c45 fix missing persons & use standard mu search (#207) 2023-01-08 10:15:17 +01:00
Boris De Vloed
0e64b2589c organizations publisher config update 2023-01-06 16:24:06 +00:00
Claire Lovisa
dbb9c06dd7 Limit producer to worship posts 2023-01-06 12:48:59 +01:00
Claire Lovisa
e61f606def Add delta producer for posts 2023-01-06 11:32:27 +01:00
Nordine Bittich
d32cb11cea delete oprhan persons (#208) 2023-01-05 11:09:09 +01:00
Boris De Vloed
bd282e7335 Merge pull request #205 from lblod/fix/kbonrs
fix some kbonrs
2023-01-02 08:40:40 +01:00
Boris De Vloed
13e27de65c fix some kbonrs 2022-12-23 15:59:57 +01:00
Iulian Andriescu
753c855164 migration to update bedienaar role (#203) 2022-12-20 16:48:33 +02:00
Iulian Andriescu
bd06e4483b Fix/incidents-handling (#199)
Migrations to delete duplicate persons, and to change roles
2022-12-19 13:32:21 +02:00
Boris De Vloed
040ba2f17a Merge pull request #201 from lblod/fix/loket-huisnr
correct property typo from loket
2022-12-15 13:03:14 +01:00
Boris De Vloed
f4c938ef96 correct property typo from loket 2022-12-15 10:27:43 +00:00
Boris De Vloed
2a49ad7f71 Merge pull request #191 from lblod/feature/loket-sync
loket to op sync with reasoning
2022-12-13 13:46:34 +01:00
Boris De Vloed
f6e7f92573 improve error handling reasaoning requests 2022-12-13 09:36:34 +00:00
Claire Lovisa
fee54793e3 Merge pull request #200 from lblod/feature/add-missing-betrokken-lokale-besturen-links
Add missing betrokken lokale besturen links
2022-12-09 10:07:45 +01:00
Claire Lovisa
ca8a6f4a65 Add missing betrokken lokale besturen links 2022-12-09 09:48:54 +01:00
Claire Lovisa
f38794236d Merge branch 'master' into development 2022-12-06 13:32:10 +01:00
Claire Lovisa
64149634fd Merge pull request #198 from lblod/hotfix/v1.13.4
Hotfix/v1.13.4
2022-12-06 13:31:54 +01:00
Claire Lovisa
21ee39edd6 Bump frontend 2022-12-06 13:29:57 +01:00
Iulian Andriescu
75d77f2b2e Fix/delete duplicate services (#194)
* update fuzzy search version

* migration to delete duplicate services

* Revert "update fuzzy search version"

This reverts commit b0dc0ebad472c7e9e57e4ab792d6fce382147bb5.
2022-12-06 13:22:59 +01:00
Iulian Andriescu
cc6c73eb5b Incidents handling (#197)
* update fuzzy search version

* Revert "update fuzzy search version"

This reverts commit 18efa236dc.

* update fuzzy search version (#193)

* Fix change event date for Attaqwa

* migrationto delete duplicates

* Revert "Fix change event date for Attaqwa"

This reverts commit 924bc407eb1a012ce69a85b762978f92fdbc4288.

* Revert "migrationto delete duplicates"

This reverts commit 7736607655e1b7343e553174528d487981da8027.

* re-upload Attaqwa migration
2022-12-06 12:36:52 +02:00
Claire Lovisa
13170dfd26 Change role of some bedienaren (#196) 2022-12-05 16:44:37 +01:00
Claire Lovisa
b4b997f89a update fuzzy search version (#195)
Co-authored-by: iurianu <iulianandriescu@gmail.com>
2022-12-05 15:48:15 +01:00
Boris De Vloed
6516b3cb28 clarify comment 2022-12-05 13:21:38 +00:00
Boris De Vloed
6591a5eaad Add DRC_ prefix to disable initial sync 2022-12-02 13:48:30 +00:00
Boris De Vloed
368513c0f3 disable initial sync - use override to start it 2022-12-02 13:33:03 +00:00
Iulian Andriescu
109583b791 update fuzzy search version (#193) 2022-12-02 12:18:35 +02:00
Boris De Vloed
563817c5e6 renamed method to transformTriples 2022-12-01 14:28:25 +00:00
Boris De Vloed
e37df13876 use smarter default ingest graph 2022-12-01 13:52:35 +00:00
Boris De Vloed
e1fdde7010 add leidinggevenden consumer 2022-11-30 14:56:36 +00:00
iurianu
a4e326a751 Revert "update fuzzy search version"
This reverts commit 18efa236dc.
2022-11-30 16:50:18 +02:00
iurianu
18efa236dc update fuzzy search version 2022-11-30 16:42:07 +02:00
Boris De Vloed
b19f8f070f bump frontend version 2022-11-30 12:49:47 +01:00
Boris De Vloed
352c41502b Merge pull request #192 from lblod/hotfix-1.13.2
Hotfix 1.13.2
2022-11-30 10:11:20 +01:00
Boris De Vloed
4c8c4877c0 Merge pull request #185 from lblod/fix/op-1806
Fix/op 1806
2022-11-30 10:06:43 +01:00
Boris De Vloed
91b49104a6 Merge pull request #186 from lblod/fix/primary-site-uris
delete wrong and insert new primary addresses
2022-11-30 10:06:07 +01:00
Boris De Vloed
d2f49fef61 specify ingest graph 2022-11-29 17:28:59 +00:00
Boris De Vloed
a127ea8060 loket to op sync with reasoning 2022-11-29 16:00:34 +00:00
Claire Lovisa
55ea87dd6c Bump frontend 2022-11-25 18:24:25 +01:00
Claire Lovisa
64af5d00f0 Bump frontend 2022-11-25 17:11:36 +01:00
Claire Lovisa
449245700e Merge branch 'development' 2022-11-24 12:23:30 +01:00
Claire Lovisa
a4940c0aa4 Bump frontend 2022-11-24 12:22:45 +01:00
Iulian Andriescu
bb6a916e45 Fix / Create dummy worship service 'Kerkfabriek Vredegem' in OP (#190)
update-name-kerkfabriek
2022-11-22 18:37:40 +02:00
Iulian Andriescu
f236290b62 OP-1708 Fix typo in name (#187)
Fix typo in name
2022-11-03 12:18:37 +02:00
Claire Lovisa
1ba0cbbf70 Add construct-administrative-unit-relationships service and config (#189) 2022-11-02 08:48:53 +01:00
Boris De Vloed
c37ad8c764 delete wrong and insert new primary addresses 2022-10-21 14:57:03 +02:00
Boris De Vloed
996f81bb76 Delete duplicate betrokken lokale besturen 2022-10-20 11:59:57 +02:00
Boris De Vloed
9a1188fa7d remove duplicate relationships 2022-10-20 11:54:33 +02:00
Boris De Vloed
7223549102 Merge pull request #184 from lblod/fix/data-from-incidents
Fix/data from incidents
2022-10-13 09:04:25 +02:00
Boris De Vloed
305a1fcb41 OP-1854 2022-10-12 16:27:59 +02:00
Boris De Vloed
03d2d4ee3d OP-1852 2022-10-12 16:27:50 +02:00
Boris De Vloed
7287b2fe78 OP-1819 2022-10-12 16:27:26 +02:00
Nordine Bittich
b13e30447c bump mu auth (#183) 2022-10-11 09:16:19 +02:00
Nordine Bittich
582e2a7203 Create and uniformize dates or organen before 2023 (#180)
Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2022-10-07 17:22:02 +02:00
Claire Lovisa
a0d0d76a61 Create missing mandates for 2017 to 2023 (#181) 2022-10-07 17:21:48 +02:00
Nordine Bittich
179b3d6643 bump frontend 2022-10-07 17:15:40 +02:00
Nordine Bittich
aab72d2373 remove bestrokken (#182) 2022-10-07 13:43:03 +02:00
Nordine Bittich
532ea6d31b bump frontend 2022-10-07 13:04:39 +02:00
Nordine Bittich
0df998940f bump frontend 2022-10-05 18:17:53 +02:00
Nordine Bittich
b372d382d0 Revert "Create and uniformize dates or organen before 2023 (#178)" (#179)
This reverts commit 94ecc51678.
2022-10-05 09:58:21 +02:00
Claire Lovisa
94ecc51678 Create and uniformize dates or organen before 2023 (#178) 2022-10-05 09:43:28 +02:00
Claire Lovisa
01a4de2d03 Replace dates by datetimes in the db for organen (#176) 2022-10-04 10:30:57 +02:00
Nordine Bittich
5c1f091c20 fix order migration (#177) 2022-10-04 10:00:38 +02:00
Nordine Bittich
0488495d78 fix wrong function (#175) 2022-09-30 15:27:50 +02:00
Claire Lovisa
13d6e2554c Create worship organen and mandates for 2023 to 2029 (#170) 2022-09-30 09:10:53 +02:00
Nordine Bittich
a69ba129fd adjust codelist functies (#174) 2022-09-28 13:51:52 +02:00
Boris De Vloed
db64953815 Merge pull request #173 from lblod/fix/various-data-corrections
OP-1812, OP-1813, OP-1814 + lang typed literals
2022-09-28 09:17:13 +02:00
Boris De Vloed
5e0ac45f42 OP-1812, OP-1813, OP-1814 + lang typed literals 2022-09-27 16:54:37 +02:00
Nordine Bittich
70ceb04087 add stadstitel (#172) 2022-09-21 20:01:31 +02:00
Nordine Bittich
9f04b47ff7 duplicate municipality for aalter (#171) 2022-09-21 11:46:58 +02:00
Nordine Bittich
93a77d3bf1 Missing status for Aalter voor fusie (#169) 2022-09-19 10:53:02 +02:00
116 changed files with 17006 additions and 164 deletions

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@
!/data/db/toLoad
!/data/db/toLoad/*
/data/files/*
/data/temp/*
docker-compose.override.yml
.idea
*.iml

View File

@@ -18,6 +18,7 @@ defmodule Acl.UserGroups.Config do
"https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
"http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",

View File

@@ -1,38 +1,66 @@
{
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/administrative-units" : {
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/administrative-units": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units",
"fileBaseName": "dump-administrative-units",
"compression": true
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/administrative-units" : {
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/administrative-units": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units",
"fileBaseName": "dump-administrative-units",
"compression": true
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations" : {
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
"fileBaseName": "dump-organizations",
"compression": true
"targetDcatGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"targetFilesGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations" : {
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
"fileBaseName": "dump-organizations",
"compression": true
"targetDcatGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"targetFilesGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public" : {
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/PublicCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/public",
"fileBaseName": "dump-public",
"compression": false
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public" : {
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/PublicCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/public",
"fileBaseName": "dump-public",
"compression": false
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts" : {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/WorshipPostsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/worship-posts",
"fileBaseName": "dump-worship-posts",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts" : {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/WorshipPostsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/worship-posts",
"fileBaseName": "dump-worship-posts",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
}
}

View File

@@ -12,6 +12,7 @@
"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",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
@@ -24,8 +25,6 @@
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
@@ -43,6 +42,7 @@
"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",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
@@ -55,11 +55,79 @@
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"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://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/typebetrokkenheid",
"http://www.w3.org/ns/org#organization",
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
},
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
@@ -72,6 +140,7 @@
],
"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"
@@ -90,6 +159,7 @@
],
"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",
@@ -136,6 +206,7 @@
"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#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
]
@@ -152,6 +223,7 @@
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
]
},
@@ -164,6 +236,7 @@
"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"
]
},
@@ -178,11 +251,34 @@
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan"
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"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://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
]
},
{
@@ -194,6 +290,7 @@
"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"
]
},
@@ -206,6 +303,7 @@
"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"
]
},
@@ -219,6 +317,7 @@
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://purl.org/dc/terms/date",
"http://purl.org/dc/terms/description",
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
@@ -239,6 +338,7 @@
"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"
]
},
@@ -251,6 +351,7 @@
"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"
]
},
@@ -263,6 +364,40 @@
"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.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasPost",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"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#role"
]
},
{
"type": "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"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#role",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
}

View File

@@ -0,0 +1,47 @@
{
"export": [
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role"
],
"additionalFilter": "?orgaan <http://www.w3.org/ns/org#hasPost> ?subject ; <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid . ?bestuurseenheid a ?type. FILTER (?type IN (<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>, <http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>))"
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/ns/org#hasPost"
],
"additionalFilter": "?subject <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid . ?bestuurseenheid a ?type. FILTER (?type IN (<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>, <http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>))"
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
}
]
}

View File

@@ -156,6 +156,24 @@ export default [
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
// anything
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-worship-posts/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
predicate: {

View File

@@ -97,7 +97,7 @@ defmodule Dispatcher do
end
match "/central-worship-services/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/central-worship-services/"
Proxy.forward conn, path, "http://resource/central-worship-services/"
end
match "/representative-bodies/*path", %{ accept: [:json], layer: :api} do
@@ -113,7 +113,7 @@ defmodule Dispatcher do
end
match "/local-involvements/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/local-involvements/"
Proxy.forward conn, path, "http://resource/local-involvements/"
end
match "/identifiers/*path", %{ accept: [:json], layer: :api} do
@@ -282,6 +282,9 @@ defmodule Dispatcher do
forward conn, path, "http://uri-info/"
end
post "/create-administrative-unit-relationships/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://construct-administrative-unit-relationships/create-relationships/"
end
#################################################################
# ERROR REPORT
@@ -332,6 +335,22 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-organizations/files/"
end
#################################################################
# DELTA: public
#################################################################
get "/sync/public/files/*path" do
Proxy.forward conn, path, "http://delta-producer-json-diff-publisher-public/files/"
end
#################################################################
# DELTA: posts
#################################################################
get "/sync/worship-posts/files/*path" do
Proxy.forward conn, path, "http://delta-producer-pub-graph-maintainer-worship-posts/files/"
end
###############################################################
# frontend layer
###############################################################

View File

@@ -94,5 +94,37 @@
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextIndex": "0"
},
{
"currentOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "1"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/worship-posts": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/healing/patchPublicationGraph",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "0"
}
]
}
}

View File

@@ -0,0 +1,29 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://virtuoso:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/organisatieportaal`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
};

View File

@@ -0,0 +1,76 @@
const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
for (let { deletes, inserts } of termObjectChangeSets) {
const deleteStatements = deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
if (deleteStatements.length) {
await transformStatements(fetch, deleteStatements).then(
transformedStatements => {
deleteFromAllGraphs(
muAuthSudo.updateSudo,
transformedStatements,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
);
}
)
}
if (insertStatements.length) {
await transformStatements(fetch, insertStatements).then(
transformedStatements => {
batchedDbUpdate(
muAuthSudo.updateSudo,
INGEST_GRAPH,
transformedStatements,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
"INSERT"
);
}
)
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,59 @@
const { transformStatements, batchedDbUpdate, partition } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjects } = data;
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
await transformStatements(fetch, originalInsertTriples).then(
transformedInsertTriples => {
batchedDbUpdate(
muAuthSudo.updateSudo,
INGEST_GRAPH,
transformedInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
)
}
)
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,153 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
} = require('./config');
async function batchedDbUpdate(muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function deleteFromAllGraphs(muUpdate,
triples,
extraHeaders,
endpoint,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
) {
for (const triple of triples) {
console.log(`Deleting a triple from all graphs in triplestore`);
const deleteCall = async () => {
await muUpdate(`
DELETE {
GRAPH ?g {
${triple}
}
} WHERE {
GRAPH ?g {
${triple}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(deleteCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
function transformTriples(fetch, triples) {
return operationWithRetry(mainConversion(fetch, triples), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
function mainConversion(fetch, triples) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
return fetch("http://reasoner/reason/dl2op/main", requestOptions)
.then(response => response.text());
}
function transformStatements(fetch, triples) {
return transformTriples(fetch, triples.join('\n')).then(
graph => {
statements = graph.replace(/\n{2,}/g, '').split('\n')
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`)
return statements
}
)
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements
};

View File

@@ -0,0 +1,29 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://virtuoso:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/organisatieportaal`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
};

View File

@@ -0,0 +1,76 @@
const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
for (let { deletes, inserts } of termObjectChangeSets) {
const deleteStatements = deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
if (deleteStatements.length) {
await transformStatements(fetch, deleteStatements).then(
transformedStatements => {
deleteFromAllGraphs(
muAuthSudo.updateSudo,
transformedStatements,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
);
}
)
}
if (insertStatements.length) {
await transformStatements(fetch, insertStatements).then(
transformedStatements => {
batchedDbUpdate(
muAuthSudo.updateSudo,
INGEST_GRAPH,
transformedStatements,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
"INSERT"
);
}
)
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,59 @@
const { transformStatements, batchedDbUpdate, partition } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjects } = data;
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
await transformStatements(fetch, originalInsertTriples).then(
transformedInsertTriples => {
batchedDbUpdate(
muAuthSudo.updateSudo,
INGEST_GRAPH,
transformedInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
)
}
)
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,153 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
} = require('./config');
async function batchedDbUpdate(muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function deleteFromAllGraphs(muUpdate,
triples,
extraHeaders,
endpoint,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
) {
for (const triple of triples) {
console.log(`Deleting a triple from all graphs in triplestore`);
const deleteCall = async () => {
await muUpdate(`
DELETE {
GRAPH ?g {
${triple}
}
} WHERE {
GRAPH ?g {
${triple}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(deleteCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
function transformTriples(fetch, triples) {
return operationWithRetry(mainConversion(fetch, triples), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
function mainConversion(fetch, triples) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
return fetch("http://reasoner/reason/dl2op/main", requestOptions)
.then(response => response.text());
}
function transformStatements(fetch, triples) {
return transformTriples(fetch, triples.join('\n')).then(
graph => {
statements = graph.replace(/\n{2,}/g, '').split('\n')
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`)
return statements
}
)
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements
};

View File

@@ -0,0 +1,36 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://virtuoso:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/organisatieportaal`;
const PRIVACY_SENSITIVE_GRAPH = process.env.PRIVACY_SENSITIVE_GRAPH || `http://mu.semte.ch/graphs/privacy-centric-graph`;
const UNFILTERED_MAPPING = 'main';
const MAIN_INFO_MAPPING = 'main-info';
const PRIVATE_INFO_MAPPING = 'private-info';
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
UNFILTERED_MAPPING,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING,
};

View File

@@ -0,0 +1,88 @@
const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
const {
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
UNFILTERED_MAPPING,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING,
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
for (let { deletes, inserts } of termObjectChangeSets) {
const deleteStatements = deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
if (deleteStatements.length) {
const transformedStatementsToDelete = await transformStatements(fetch, deleteStatements, UNFILTERED_MAPPING);
if (transformedStatementsToDelete.length) {
await deleteFromAllGraphs(
muAuthSudo.updateSudo,
transformedStatementsToDelete,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
);
}
}
if (insertStatements.length) {
const transformedStatementsToInsert = await transformStatements(fetch, insertStatements, MAIN_INFO_MAPPING);
if (transformedStatementsToInsert.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
INGEST_GRAPH,
transformedStatementsToInsert,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
const transformedStatementsToInsertPrivate = await transformStatements(fetch, insertStatements, PRIVATE_INFO_MAPPING);
if (transformedStatementsToInsertPrivate.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
transformedStatementsToInsertPrivate,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,80 @@
const { transformStatements, batchedDbUpdate, } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjects } = data;
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
await transformStatements(fetch, originalInsertTriples, MAIN_INFO_MAPPING).then(
transformedInsertTriples => {
if (transformedInsertTriples.length) {
batchedDbUpdate(
muAuthSudo.updateSudo,
INGEST_GRAPH,
transformedInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
)
}
}
);
await transformStatements(fetch, originalInsertTriples, PRIVATE_INFO_MAPPING).then(
transformedInsertTriples => {
if (transformedInsertTriples.length) {
batchedDbUpdate(
muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
transformedInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
)
}
}
);
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,154 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
} = require('./config');
async function batchedDbUpdate(muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function deleteFromAllGraphs(muUpdate,
triples,
extraHeaders,
endpoint,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
) {
for (const triple of triples) {
console.log(`Deleting a triple from all graphs in triplestore`);
const deleteCall = async () => {
await muUpdate(`
DELETE {
GRAPH ?g {
${triple}
}
} WHERE {
GRAPH ?g {
${triple}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(deleteCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
function transformTriples(fetch, triples, mapping) {
return operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
return fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
.then(response => response.text());
}
function transformStatements(fetch, triples, mapping) {
return transformTriples(fetch, triples.join('\n'), mapping).then(
graph => {
statements = graph ? graph.split('\n') : [];
console.log(`CONVERSION ${mapping}: FROM ${triples.length} triples to ${statements.length}`)
return statements
}
)
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements
};

View File

@@ -0,0 +1,33 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?mandatarissen ?pMandatarissen ?oMandatarissen .
?contactPoint ?pContactPoint ?oContactPoint .
?address ?pAddress ?oAddress .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?mandatarissen {
<http://data.lblod.info/id/mandatarissen/62629ED7FEE49A5CF118F11D>
<http://data.lblod.info/id/mandatarissen/63D24E975410CAD909EF6CD0>
}
?mandatarissen ?pMandatarissen ?oMandatarissen .
OPTIONAL {
?mandatarissen schema:contactPoint ?contactPoint .
?contactPoint ?pContactPoint ?oContactPoint.
OPTIONAL {
?contactPoint locn:address ?address .
?address ?pAddress ?oAddress .
}
}
}
}

View File

@@ -0,0 +1,50 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?pbestuur ?obestuur .
?primarySite ?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?contactPoint ?pcontactPoint ?ocontactPoint .
?identifier ?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
BIND(<http://data.lblod.info/id/besturenVanDeEredienst/578bf96f86056e2260dc21cee91aa519> as ?bestuur)
?bestuur ?pbestuur ?obestuur .
OPTIONAL {
?bestuur org:hasPrimarySite ?primarySite .
OPTIONAL {
?primarySite organisatie:bestaatUit ?address .
?address ?paddress ?oaddress .
}
OPTIONAL {
?primarySite org:siteAddress ?contactPoint .
?contactPoint ?pcontactPoint ?ocontactPoint .
}
?primarySite ?pprimarySite ?oprimarySite .
}
OPTIONAL {
?bestuur adms:identifier ?identifier .
OPTIONAL {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
?identifier ?pidentifier ?oidentifier .
}
}
}

View File

@@ -0,0 +1,9 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX lblodOrg: <http://lblod.data.gift/vocabularies/organisatie/>
INSERT DATA{
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/bestuurseenheden/c895809729a165666fc111a40affe229f3c8e8f1ce9dec2dcc1be1ed81b52d9b>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
}
}

View File

@@ -0,0 +1,26 @@
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DELETE {
graph ?g {
<http://data.lblod.info/id/adressen/7fad170b6755d0e424498ed460d3322a> ?p ?o.
<http://data.lblod.info/id/vestigingen/7c6b24aac9de9c25aec3a1b3962235f6> <https://data.vlaanderen.be/ns/organisatie#bestaatUit> <http://data.lblod.info/id/adressen/7fad170b6755d0e424498ed460d3322a>
}
}where {
graph ?g {
<http://data.lblod.info/id/adressen/7fad170b6755d0e424498ed460d3322a> ?p ?o.
<http://data.lblod.info/id/vestigingen/7c6b24aac9de9c25aec3a1b3962235f6> <https://data.vlaanderen.be/ns/organisatie#bestaatUit> <http://data.lblod.info/id/adressen/7fad170b6755d0e424498ed460d3322a>
}
}

View File

@@ -0,0 +1,26 @@
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/adressen/7fad170b6755d0e424498ed460d3322a> a locn:Address ;
mu:uuid "7fad170b6755d0e424498ed460d3322a" ;
locn:adminUnitL2 "Oost-Vlaanderen" ;
locn:fullAddress "Europalaan 22, 9880 Aalter, België" ;
locn:postCode "9880" ;
locn:thoroughfare "Europalaan" ;
adres:Adresvoorstelling.huisnummer "22" ;
adres:gemeentenaam "Aalter" ;
adres:land "België" .
<http://data.lblod.info/id/vestigingen/7c6b24aac9de9c25aec3a1b3962235f6> <https://data.vlaanderen.be/ns/organisatie#bestaatUit> <http://data.lblod.info/id/adressen/7fad170b6755d0e424498ed460d3322a>
}
}

View File

@@ -0,0 +1,124 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX concepts: <http://lblod.data.gift/concepts/>
PREFIX bestuur: <http://data.lblod.info/id/besturenVanDeEredienst/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX contacthub: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ce: <http://data.lblod.info/id/veranderingsgebeurtenissen/>
PREFIX cer: <http://data.lblod.info/id/veranderingsgebeurtenis-resultaten/>
PREFIX m8g: <http://data.europa.eu/m8g/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX eli: <http://data.europa.eu/eli/ontology#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT {
graph ?g {
?changeEvent a <http://www.w3.org/ns/org#ChangeEvent>;
<http://www.w3.org/ns/org#resultingOrganization> ?administrativeUnit;
<http://www.w3.org/ns/org#originalOrganization> ?administrativeUnit;
<http://lblod.data.gift/vocabularies/organisatie/veranderingsgebeurtenisResultaat> ?changeEventResult;
mu:uuid ?uuidChangeEvent;
<http://data.lblod.info/vocabularies/contacthub/typeWijziging> <http://lblod.data.gift/concepts/e4c3d1ef-a34d-43b0-a18c-f4e60e2c8af3>.
?changeEventResult a <http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat>;
mu:uuid ?uuidChangeEventResult;
<http://lblod.data.gift/vocabularies/organisatie/resulterendeStatus> <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>;
<http://mu.semte.ch/vocabularies/ext/resultingOrganization> ?administrativeUnit.
}
}
where {
graph ?g {
?administrativeUnit a besluit:Bestuurseenheid;
mu:uuid ?id;
skos:prefLabel ?label;
org:classification ?classification.
?classification mu:uuid ?classificationCode.
filter (?classificationCode = "5ab0e9b8a3b2ca7c5e000001").
filter(?label in ("Aalst",
"Aarschot",
"Antwerpen",
"Beringen",
"Bilzen",
"Blankenberge",
"Borgloon",
"Bree",
"Brugge",
"Damme",
"Deinze",
"Dendermonde",
"Diest",
"Diksmuide",
"Dilsen-Stokkem",
"Eeklo",
"Geel",
"Genk",
"Gent",
"Geraardsbergen",
"Gistel",
"Halen",
"Halle",
"Hamont-Achel",
"Harelbeke",
"Hasselt",
"Herentals",
"Herk-de-Stad",
"Hoogstraten",
"Ieper",
"Izegem",
"Kortrijk",
"Landen",
"Leuven",
"Lier",
"Lokeren",
"Lommel",
"Lo-Reninge",
"Maaseik",
"Mechelen",
"Menen",
"Mesen",
"Mortsel",
"Nieuwpoort",
"Ninove",
"Oostende",
"Oudenaarde",
"Oudenburg",
"Peer",
"Poperinge",
"Roeselare",
"Ronse",
"Scherpenheuvel-Zichem",
"Sint-Niklaas",
"Sint-Truiden",
"Tielt",
"Tienen",
"Tongeren",
"Torhout",
"Turnhout",
"Veurne",
"Vilvoorde",
"Waregem",
"Wervik",
"Zottegem",
"Zoutleeuw"))
}
BIND(MD5(CONCAT(?administrativeUnit, 'Stadstitel')) as ?uuidChangeEvent)
BIND(IRI(CONCAT("http://data.lblod.info/id/veranderingsgebeurtenissen/", ?uuidChangeEvent)) AS ?changeEvent)
BIND(MD5(CONCAT(?changeEvent, 'Stadstitel')) as ?uuidChangeEventResult)
BIND(IRI(CONCAT("http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/", ?uuidChangeEventResult)) AS ?changeEventResult)
}

View File

@@ -0,0 +1,40 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?org
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
}
} WHERE {
VALUES ?org {
<http://data.lblod.info/id/bestuurseenheden/1d43739442010a95b1910af237a4f6aa9a26ca6c9c83f646bad44a8181d407c7> # Gemeente Lovendegem
<http://data.lblod.info/id/bestuurseenheden/1b11f7f11c3c74c54acf86b8c1a9b8b2865e22b8973818486045a5d3aa8dff14> # Gemeente Puurs
<http://data.lblod.info/id/bestuurseenheden/b85b33fb0ce57e2b332599d2aaafcab35a3560b709add3cec98e21dca6cdc210> # Gemeente Knesselare
<http://data.lblod.info/id/bestuurseenheden/8ed14ecd083fb231f9af0f2698de728bba3f11deb0f4ea4caf9d5c1f9e3a771b> # Gemeente Nevele
<http://data.lblod.info/id/bestuurseenheden/db046b577b77c00cc82b51b1cdf14396364cbe1ebc0f4cfee09619bec9b0bd5e> # Gemeente Kruishoutem
<http://data.lblod.info/id/bestuurseenheden/e3fc7eb1c6f50aa4277e0ae180b002eddf243dab630e9278996df9951316da68> # Gemeente Neerpelt
<http://data.lblod.info/id/bestuurseenheden/25b05f670144f166a485a1d0ac37faca672b36642cf1647d846010d6fe9cabb5> # Gemeente Deinze (voor fusie)
<http://data.lblod.info/id/bestuurseenheden/d7d9ef5babd2876ad492a71c2019f02cf90c813c00befcf3682ba49186d0f4b1> # Gemeente Overpelt
<http://data.lblod.info/id/bestuurseenheden/5eaaceb01cc2a6bc418d5fcdc6c855bdfe1d1fcbc8abf8bb9cfcea76edbc8936> # Gemeente Meeuwen-Gruitrode
<http://data.lblod.info/id/bestuurseenheden/571b85dc585067ac92f9de90133e747c75f3f7e7948087ae193583b9f0fe1141> # Gemeente Sint-Amands
<http://data.lblod.info/id/bestuurseenheden/19537690173d82d774bf34abaa07f3b1af78139014e53aa8f172a0a558bc5e09> # Gemeente Zingem
<http://data.lblod.info/id/bestuurseenheden/be8c097326db7ba0e0e7c81b832da8b4cdeabe22b515494753dd95d33d9ea295> # Gemeente Opglabbeek
<http://data.lblod.info/id/bestuurseenheden/66374f1f46137c3240ba0690b24056a014f9ad5f36ae81e10bc14ad5a6305089> # Gemeente Zomergem
<http://data.lblod.info/id/bestuurseenheden/46a7ee2627bf51959f9a72fdb6f5aec942f5e07484c1bfe7da2fb8a74c830326> # Gemeente Waarschoot
<http://data.lblod.info/id/bestuurseenheden/cb6ea2dd7a009bca2aa4c1058cce5545420792b9db0a6b5516e49a4ae4b03701> # OCMW Zingem
<http://data.lblod.info/id/bestuurseenheden/56db39c0bb1c85e9c5aec9adb3f5af9720d4702e30f4772aecd272f03c7becea> # OCMW Deinze (voor fusie)
<http://data.lblod.info/id/bestuurseenheden/43ad404aee5fd4f07d575e118883934b0ad0ead0ef8cee0793b7f72e4c1ce19f> # OCMW Opglabbeek
<http://data.lblod.info/id/bestuurseenheden/c78f64baa2f264a2c8b5207f788c285ffc1c0393cf20e6fc83ab61548a2baf9c> # OCMW Nevele
<http://data.lblod.info/id/bestuurseenheden/f879d68d0f66af67aa045b1194cde7dc5d82e3bfe07746cc682be472c9556631> # OCMW Waarschoot
<http://data.lblod.info/id/bestuurseenheden/be5f63236aacb5478334077a901dbda6816a7b923753b49c06295777b47e6aa4> # OCMW Meeuwen-Gruitrode
<http://data.lblod.info/id/bestuurseenheden/19673274e30b682be3dd3178352611aa26c28ea8907fd4990ff69e01af7019f6> # OCMW Kruishoutem
<http://data.lblod.info/id/bestuurseenheden/2712dbaca999e57d26f1f0d3e72b2ed96113d6ac62d72b7228fd682e1324e4e5> # OCMW Puurs
<http://data.lblod.info/id/bestuurseenheden/51793f0f16c2b06e9c64cbc141407fcafaa340576c96988971dc0855f032940c> # OCMW Zomergem
<http://data.lblod.info/id/bestuurseenheden/be274f73ffbd75a9cf28222f45044f468b40692ca9c80c8c5899acf554498e24> # OCMW Sint-Amands
<http://data.lblod.info/id/bestuurseenheden/e3289466b88127a445e1467a360f24221bdac2723613b8adabeb131e8d9a3659> # OCMW Overpelt
<http://data.lblod.info/id/bestuurseenheden/92207a4e09455f59f19553e95ebc4ea1b33e6f7b2e5cf317ea31ba7ac0cbca45> # OCMW Knesselare
<http://data.lblod.info/id/bestuurseenheden/32d0fce422c04b004e3cf640d3aa06468f8ec8f650d578806642c1097b95d782> # OCMW Lovendegem
<http://data.lblod.info/id/bestuurseenheden/f5077ea4d13ee6d74749b2d9e7de428b0633388a10b436984859021cf62731b9> # OCMW Neerpelt
}
}

View File

@@ -0,0 +1,20 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?org
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
}
} WHERE {
VALUES ?org {
<http://data.lblod.info/id/bestuurseenheden/33a1886b07b64ebe3a0e6c5ed8086f030ef1109492cb254832a716dd7e1b8d7b> # District Ekeren
<http://data.lblod.info/id/bestuurseenheden/43e3009526dac139a0abdcf75c1ddc5fa3fe9217391d6f64f7b7a30a99a4cda6> # District Deurne
<http://data.lblod.info/id/bestuurseenheden/859f08dcfbc8f68bac0879e7baf6463b260b6f4c16b734d0d1986f5f3af0407b> # District Berendrecht-Zandvliet-Lillo
<http://data.lblod.info/id/bestuurseenheden/fb56bc40ce36390d2f12fc2057c89d4b6bc5b3217eabd41995b6401318ff648a> # District Berchem
<http://data.lblod.info/id/bestuurseenheden/a2ee394059cce91526392e73e4de974d90caffb92f70cde23b9e9e1a965526fa> # District Hoboken
<http://data.lblod.info/id/bestuurseenheden/73e8904d83f7324e39abc0adf639b0e48bc52533c4c243b6419cac8fb70784cf> # District Wilrijk
<http://data.lblod.info/id/bestuurseenheden/5be3ff820769b385a32e499d17bbf1f15feeacb65381d5384841732dd4a1209b> # District Antwerpen
<http://data.lblod.info/id/bestuurseenheden/e7a75861661ee14ebe2bca0c79bda8b23f2f943d00a9693d2bff401a8f8dea65> # District Borgerhout
<http://data.lblod.info/id/bestuurseenheden/f1ad80291fbdc1f0b9b25d729ecc608a8e28fdddab01a1b8e135c841c75586e2> # District Merksem
}
}

View File

@@ -0,0 +1,185 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
# When only a language typed address literal is available, replace it with a plain literal
# When both plain and language typed are available, remove the language typed literal
# Rationale: lang typed literals are inserted via the migrations. When both types are available
# this new value is the plain literal, the old language typed literal is not deleted by the application
# and thus should be deleted via this migration - without - copying the value to a plain literal.
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:fullAddress ?literal_withLang
}
INSERT {
?address locn:fullAddress ?literal_cleansed
}
WHERE {
?address locn:fullAddress ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER NOT EXISTS {
?address locn:fullAddress ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
BIND(str(?literal_withLang) AS ?literal_cleansed)
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:fullAddress ?literal_withLang
}
WHERE {
?address locn:fullAddress ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER EXISTS {
?address locn:fullAddress ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:adminUnitL2 ?literal_withLang
}
INSERT {
?address locn:adminUnitL2 ?literal_cleansed
}
WHERE {
?address locn:adminUnitL2 ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER NOT EXISTS {
?address locn:adminUnitL2 ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
BIND(str(?literal_withLang) AS ?literal_cleansed)
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:adminUnitL2 ?literal_withLang
}
WHERE {
?address locn:adminUnitL2 ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER EXISTS {
?address locn:adminUnitL2 ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:thoroughfare ?literal_withLang
}
INSERT {
?address locn:thoroughfare ?literal_cleansed
}
WHERE {
?address locn:thoroughfare ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER NOT EXISTS {
?address locn:thoroughfare ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
BIND(str(?literal_withLang) AS ?literal_cleansed)
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:thoroughfare ?literal_withLang
}
WHERE {
?address locn:thoroughfare ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER EXISTS {
?address locn:thoroughfare ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address adres:gemeentenaam ?literal_withLang
}
INSERT {
?address adres:gemeentenaam ?literal_cleansed
}
WHERE {
?address adres:gemeentenaam ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER NOT EXISTS {
?address adres:gemeentenaam ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
BIND(str(?literal_withLang) AS ?literal_cleansed)
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address adres:gemeentenaam ?literal_withLang
}
WHERE {
?address adres:gemeentenaam ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER EXISTS {
?address adres:gemeentenaam ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address adres:land ?literal_withLang
}
INSERT {
?address adres:land ?literal_cleansed
}
WHERE {
?address adres:land ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER NOT EXISTS {
?address adres:land ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
BIND(str(?literal_withLang) AS ?literal_cleansed)
}
;
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address adres:land ?literal_withLang
}
WHERE {
?address adres:land ?literal_withLang.
FILTER(lang(?literal_withLang) != "")
FILTER EXISTS {
?address adres:land ?literal_withoutLang
FILTER(lang(?literal_withoutLang) = "")
}
}
;

View File

@@ -0,0 +1,21 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
# In order to be consistent with the rest of the OP application.
WITH <http://mu.semte.ch/graphs/organisatieportaal>
DELETE {
?address locn:fullAddress ?fullAddressWithCountry
}
INSERT {
?address locn:fullAddress ?fullAddressWithoutCountry
}
WHERE {
?address locn:fullAddress ?fullAddressWithCountry
FILTER(STRENDS(?fullAddressWithCountry, ", België"))
BIND(STRBEFORE(?fullAddressWithCountry, ", België") AS ?fullAddressWithoutCountry)
}

View File

@@ -0,0 +1,114 @@
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
# change functie for persoon with kerkbedienaar
DELETE {
graph ?g {
<http://data.lblod.info/id/positiesBedienaar/615C0FB9375CFC000A0005DB> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/61C1A7043C1A230C43B452EC> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/61EAC54BBA00DD4BE2501C75> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/61373446375CFC000A0002DA> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/631994372F583C7A1CD0DBE5> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/6156C06B375CFC000A000548> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
}
}
INSERT {
graph ?g {
<http://data.lblod.info/id/positiesBedienaar/615C0FB9375CFC000A0005DB> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/61C1A7043C1A230C43B452EC> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/61EAC54BBA00DD4BE2501C75> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/61373446375CFC000A0002DA> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/631994372F583C7A1CD0DBE5> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/6156C06B375CFC000A000548> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711>.
}
}
WHERE {
graph ?g {
<http://data.lblod.info/id/positiesBedienaar/615C0FB9375CFC000A0005DB> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/61C1A7043C1A230C43B452EC> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/61EAC54BBA00DD4BE2501C75> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/61373446375CFC000A0002DA> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/631994372F583C7A1CD0DBE5> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
<http://data.lblod.info/id/positiesBedienaar/6156C06B375CFC000A000548> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb>.
}
}
;
# remove the old functies
DELETE {
graph ?g {
?functie ?p ?o.
}
}
where {
graph ?g {
?functie ?p ?o.
VALUES ?functie {
<http://lblod.data.gift/concepts/689b3123e29cff78e310df38a774b9bb> # Kerkbedienaar
<http://lblod.data.gift/concepts/97083de35cd36b36a72185807e941c8a> # Tweede predikant
<http://lblod.data.gift/concepts/158b739bc1087d5246df2fa54acff29c> # Secretaris bij het voorzitterschap van de Synode
<http://lblod.data.gift/concepts/92aad8fc5cc7a13a7b0ddc7cc13c02aa> # Hulppredikant
<http://lblod.data.gift/concepts/67548f1fe5bf52e5a7ad33dcce47472d> # Kapelaan van de andere kerken
<http://lblod.data.gift/concepts/85543bba7601ca598212f0feb9bdb4c2> # Predikant bij het voorzitterschap van de Synode
}
}
}
;
# rename functies
DELETE {
graph ?g {
<http://lblod.data.gift/concepts/ea58c73d9b4fc8a24a4b3eaa73a33995> skos:prefLabel "Kapelaan".
<http://lblod.data.gift/concepts/59837b12c14f215a4efadae950be0072> skos:prefLabel "Onderpastoor".
<http://lblod.data.gift/concepts/84b3a2321d1b69b6de782bb04e1a6862> skos:prefLabel "Parochieassistent".
<http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6> skos:prefLabel "Eerste predikant".
<http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> skos:prefLabel "Pastoor-deken".
<http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> skos:prefLabel "Bedienaar".
<http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711> skos:prefLabel "Kapelaan van de kerken te Antwerpen en te Elsene (Geünifieerde anglicaanse kerk)".
}
}
INSERT {
graph ?g {
<http://lblod.data.gift/concepts/ea58c73d9b4fc8a24a4b3eaa73a33995> skos:prefLabel "Coördinator".
<http://lblod.data.gift/concepts/59837b12c14f215a4efadae950be0072> skos:prefLabel "Medepastoor".
<http://lblod.data.gift/concepts/84b3a2321d1b69b6de782bb04e1a6862> skos:prefLabel "Aangesteld priester".
<http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6> skos:prefLabel "Predikant".
<http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> skos:prefLabel "Rector".
<http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> skos:prefLabel "Priester".
<http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711> skos:prefLabel "Kapelaan".
}
}
WHERE {
graph ?g {
<http://lblod.data.gift/concepts/ea58c73d9b4fc8a24a4b3eaa73a33995> skos:prefLabel "Kapelaan".
<http://lblod.data.gift/concepts/59837b12c14f215a4efadae950be0072> skos:prefLabel "Onderpastoor".
<http://lblod.data.gift/concepts/84b3a2321d1b69b6de782bb04e1a6862> skos:prefLabel "Parochieassistent".
<http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6> skos:prefLabel "Eerste predikant".
<http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> skos:prefLabel "Pastoor-deken".
<http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> skos:prefLabel "Bedienaar".
<http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711> skos:prefLabel "Kapelaan van de kerken te Antwerpen en te Elsene (Geünifieerde anglicaanse kerk)".
}
}
;
INSERT DATA {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
<http://lblod.data.gift/concepts/f274cb5a-ba44-4931-a1a8-38ec34513215> a <http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen>;
mu:uuid "f274cb5a-ba44-4931-a1a8-38ec34513215";
skos:prefLabel "Diaken";
<http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/0637cccd657df25049af6c4580c6b2be>;
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/0637cccd657df25049af6c4580c6b2be>.
}
}

View File

@@ -0,0 +1,19 @@
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3>
a <http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode> ;
<http://mu.semte.ch/vocabularies/core/uuid> "a8b5509b-f86b-48f8-94d6-fe463a9b77e3" ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "Bestuurslid van het bestuur van de eredienst (Grote Helft)" ;
<http://www.w3.org/2004/02/skos/core#inScheme> <http://data.vlaanderen.be/id/conceptscheme/BestuursfunctieCode> ;
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://data.vlaanderen.be/id/conceptscheme/BestuursfunctieCode> ;
<http://mu.semte.ch/vocabularies/ext/appliesTo> <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/04f65457bf125b2dc59fd71917ac3d08> .
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f>
a <http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode> ;
<http://mu.semte.ch/vocabularies/core/uuid> "2962f0bd-2836-4758-9866-8ce8ea2c536f" ;
<http://www.w3.org/2004/02/skos/core#prefLabel> "Bestuurslid van het bestuur van de eredienst (Kleine Helft)" ;
<http://www.w3.org/2004/02/skos/core#inScheme> <http://data.vlaanderen.be/id/conceptscheme/BestuursfunctieCode> ;
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://data.vlaanderen.be/id/conceptscheme/BestuursfunctieCode> ;
<http://mu.semte.ch/vocabularies/ext/appliesTo> <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/04f65457bf125b2dc59fd71917ac3d08> .
}
}

View File

@@ -0,0 +1,72 @@
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime a besluit:Bestuursorgaan ;
mu:uuid ?uuidOrgaanInTime ;
org:hasPost ?lidVanRechtswege ;
org:hasPost ?voorzitter ;
org:hasPost ?secretaris ;
org:hasPost ?penningmeester ;
org:hasPost ?bestuurslidGH ;
org:hasPost ?bestuurslidKH ;
mandaat:bindingStart "2023-04-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
mandaat:bindingEinde "2026-03-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
generiek:isTijdspecialisatieVan ?orgaan .
?lidVanRechtswege a mandaat:Mandaat ;
mu:uuid ?uuidLidVanRechtswege ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5972fccd87f864c4ec06bfbd20b5008b> .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
?penningmeester a mandaat:Mandaat ;
mu:uuid ?uuidPenningmeester ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
?bestuurslidGH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidGH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
?bestuurslidKH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidKH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "2023-2026")) as ?uuidOrgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/eredienstbestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Rechtswege")) as ?uuidLidVanRechtswege)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidLidVanRechtswege)) AS ?lidVanRechtswege)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2023-2026")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2023-2026")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Penningmeester 2023-2026")) as ?uuidPenningmeester)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidGH 2020-2026")) as ?uuidBestuurslidGH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidGH)) AS ?bestuurslidGH)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidKH 2023-2029")) as ?uuidBestuurslidKH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidKH)) AS ?bestuurslidKH)
}

View File

@@ -0,0 +1,64 @@
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime a besluit:Bestuursorgaan ;
mu:uuid ?uuidOrgaanInTime ;
org:hasPost ?expert ;
org:hasPost ?vertegenwoordiger ;
org:hasPost ?secretaris ;
org:hasPost ?voorzitter ;
org:hasPost ?bestuurslid ;
mandaat:bindingStart "2023-04-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
mandaat:bindingEinde "2026-03-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
generiek:isTijdspecialisatieVan ?orgaan .
?expert a mandaat:Mandaat ;
mu:uuid ?uuidExpert ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/8c91c321ad477c4fc372ee36358d3ed4> .
?vertegenwoordiger a mandaat:Mandaat ;
mu:uuid ?uuidVertegenwoordiger ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/6e26e94ea4b127eeb850fb6debe07271> .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <hhttp://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5960262f753661cf84329f3afa9f7df7> .
?bestuurslid a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslid ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "2023-2026")) as ?uuidOrgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/eredienstbestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Expert 2023-2026")) as ?uuidExpert)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidExpert)) AS ?expert)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Vertegenwoordiger 2023-2026")) as ?uuidVertegenwoordiger)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVertegenwoordiger)) AS ?vertegenwoordiger)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2023-2026")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2023-2026")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Bestuurslid 2023-2026")) as ?uuidBestuurslid)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslid)) AS ?bestuurslid)
}

View File

@@ -0,0 +1,72 @@
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime a besluit:Bestuursorgaan ;
mu:uuid ?uuidOrgaanInTime ;
org:hasPost ?lidVanRechtswege ;
org:hasPost ?voorzitter ;
org:hasPost ?secretaris ;
org:hasPost ?penningmeester ;
org:hasPost ?bestuurslidGH ;
org:hasPost ?bestuurslidKH ;
mandaat:bindingStart "2026-04-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
mandaat:bindingEinde "2029-03-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
generiek:isTijdspecialisatieVan ?orgaan .
?lidVanRechtswege a mandaat:Mandaat ;
mu:uuid ?uuidLidVanRechtswege ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5972fccd87f864c4ec06bfbd20b5008b> .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
?penningmeester a mandaat:Mandaat ;
mu:uuid ?uuidPenningmeester ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
?bestuurslidGH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidGH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
?bestuurslidKH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidKH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "2026-2029")) as ?uuidOrgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/eredienstbestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Rechtswege")) as ?uuidLidVanRechtswege)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidLidVanRechtswege)) AS ?lidVanRechtswege)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2026-2029")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2026-2029")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Penningmeester 2026-2029")) as ?uuidPenningmeester)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidGH 2026-2032")) as ?uuidBestuurslidGH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidGH)) AS ?bestuurslidGH)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidKH 2023-2029")) as ?uuidBestuurslidKH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidKH)) AS ?bestuurslidKH)
}

View File

@@ -0,0 +1,64 @@
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime a besluit:Bestuursorgaan ;
mu:uuid ?uuidOrgaanInTime ;
org:hasPost ?expert ;
org:hasPost ?vertegenwoordiger ;
org:hasPost ?secretaris ;
org:hasPost ?voorzitter ;
org:hasPost ?bestuurslid ;
mandaat:bindingStart "2026-04-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
mandaat:bindingEinde "2029-03-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
generiek:isTijdspecialisatieVan ?orgaan .
?expert a mandaat:Mandaat ;
mu:uuid ?uuidExpert ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/8c91c321ad477c4fc372ee36358d3ed4> .
?vertegenwoordiger a mandaat:Mandaat ;
mu:uuid ?uuidVertegenwoordiger ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/6e26e94ea4b127eeb850fb6debe07271> .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <hhttp://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5960262f753661cf84329f3afa9f7df7> .
?bestuurslid a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslid ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "2026-2029")) as ?uuidOrgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/eredienstbestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Expert 2026-2029")) as ?uuidExpert)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidExpert)) AS ?expert)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Vertegenwoordiger 2026-2029")) as ?uuidVertegenwoordiger)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVertegenwoordiger)) AS ?vertegenwoordiger)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2026-2029")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2026-2029")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Bestuurslid 2026-2029")) as ?uuidBestuurslid)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslid)) AS ?bestuurslid)
}

View File

@@ -0,0 +1,122 @@
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
DELETE {
graph ?g {
<http://data.lblod.info/id/positiesBedienaar/62A98293D7779543F777951B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1029375CFC000A0005E4> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/616436FD375CFC000A00077B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62EE1A0DD7779543F77796C8> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62F21194D7779543F77796CD> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/621E191A5747C883CA1D36D0> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62177EC55747C883CA1D347B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621C93CA5747C883CA1D35D6> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6217A07A5747C883CA1D34CF> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6217822D5747C883CA1D3496> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/620E28AE5747C883CA1D2E99> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62596CC78A3D153ADACC046A> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62B17981D7779543F7779528> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621755E85747C883CA1D341C> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62179D345747C883CA1D34AB> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62173DDE5747C883CA1D33F7> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/61B747D63C1A230C43B451E5> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6231B914B72F9F4B33507F89> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6217410D5747C883CA1D33FD> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/620E5BD35747C883CA1D2ECE> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621DDEBE5747C883CA1D3666> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621DDAA85747C883CA1D3646> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62174F555747C883CA1D3411> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/620B6CEE5747C883CA1D2DD1> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C2047375CFC000A000646> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C14D4375CFC000A000608> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C365E375CFC000A00064F> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1DB3375CFC000A00063D> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C3870375CFC000A00065A> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C3F29375CFC000A00066D> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1194375CFC000A0005ED> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62596B418A3D153ADACC0458> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1369375CFC000A0005FF> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1BB5375CFC000A000634> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
}
}
INSERT {
graph ?g {
<http://data.lblod.info/id/positiesBedienaar/615C14D4375CFC000A000608> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/62A98293D7779543F777951B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711>.
<http://data.lblod.info/id/positiesBedienaar/615C1029375CFC000A0005E4> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711>.
<http://data.lblod.info/id/positiesBedienaar/616436FD375CFC000A00077B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22>.
<http://data.lblod.info/id/positiesBedienaar/62EE1A0DD7779543F77796C8> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22>.
<http://data.lblod.info/id/positiesBedienaar/62F21194D7779543F77796CD> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621E191A5747C883CA1D36D0> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/62177EC55747C883CA1D347B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/621C93CA5747C883CA1D35D6> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/6217A07A5747C883CA1D34CF> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/6217822D5747C883CA1D3496> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/620E28AE5747C883CA1D2E99> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/62596CC78A3D153ADACC046A> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/62B17981D7779543F7779528> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/621755E85747C883CA1D341C> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/62179D345747C883CA1D34AB> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/62173DDE5747C883CA1D33F7> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/61B747D63C1A230C43B451E5> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/6231B914B72F9F4B33507F89> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/6217410D5747C883CA1D33FD> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/620E5BD35747C883CA1D2ECE> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/621DDEBE5747C883CA1D3666> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/621DDAA85747C883CA1D3646> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/62174F555747C883CA1D3411> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/620B6CEE5747C883CA1D2DD1> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/615C2047375CFC000A000646> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C365E375CFC000A00064F> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C1DB3375CFC000A00063D> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C3870375CFC000A00065A> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C3F29375CFC000A00066D> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C1194375CFC000A0005ED> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/62596B418A3D153ADACC0458> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C1369375CFC000A0005FF> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
<http://data.lblod.info/id/positiesBedienaar/615C1BB5375CFC000A000634> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6>.
}
}
WHERE {
graph ?g {
<http://data.lblod.info/id/positiesBedienaar/62A98293D7779543F777951B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1029375CFC000A0005E4> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/616436FD375CFC000A00077B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62EE1A0DD7779543F77796C8> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62F21194D7779543F77796CD> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d>.
<http://data.lblod.info/id/positiesBedienaar/621E191A5747C883CA1D36D0> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62177EC55747C883CA1D347B> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621C93CA5747C883CA1D35D6> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6217A07A5747C883CA1D34CF> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6217822D5747C883CA1D3496> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/620E28AE5747C883CA1D2E99> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62596CC78A3D153ADACC046A> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62B17981D7779543F7779528> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621755E85747C883CA1D341C> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62179D345747C883CA1D34AB> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62173DDE5747C883CA1D33F7> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/61B747D63C1A230C43B451E5> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6231B914B72F9F4B33507F89> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/6217410D5747C883CA1D33FD> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/620E5BD35747C883CA1D2ECE> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621DDEBE5747C883CA1D3666> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/621DDAA85747C883CA1D3646> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62174F555747C883CA1D3411> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/620B6CEE5747C883CA1D2DD1> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C2047375CFC000A000646> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C14D4375CFC000A000608> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C365E375CFC000A00064F> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1DB3375CFC000A00063D> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C3870375CFC000A00065A> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C3F29375CFC000A00066D> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1194375CFC000A0005ED> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/62596B418A3D153ADACC0458> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1369375CFC000A0005FF> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
<http://data.lblod.info/id/positiesBedienaar/615C1BB5375CFC000A000634> <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2>.
}
}

View File

@@ -0,0 +1,50 @@
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH ?g {
?orgaanInTime mandaat:bindingEinde ?end .
}
} INSERT {
GRAPH ?g {
?orgaanInTime mandaat:bindingEinde ?endDateTime .
}
} WHERE {
GRAPH ?g {
?bestuurseenheid a ?type .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
?orgaanInTime mandaat:bindingEinde ?end .
FILTER (datatype(?end) = xsd:date)
BIND(strdt(concat(str(?end), 'T01:00:00'), xsd:dateTime) as ?endDateTime)
}
}
;
DELETE {
GRAPH ?g {
?orgaanInTime mandaat:bindingStart ?start .
}
} INSERT {
GRAPH ?g {
?orgaanInTime mandaat:bindingStart ?startDateTime .
}
} WHERE {
GRAPH ?g {
?bestuurseenheid a ?type .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
?orgaanInTime mandaat:bindingStart ?start .
FILTER (datatype(?start) = xsd:date)
BIND(strdt(concat(str(?start), 'T01:00:00'), xsd:dateTime) as ?startDateTime)
}
}

View File

@@ -0,0 +1,52 @@
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH ?g {
?orgaanInTime mandaat:bindingEinde ?end .
}
} INSERT {
GRAPH ?g {
?orgaanInTime mandaat:bindingEinde ?endDateTime .
}
} WHERE {
GRAPH ?g {
?bestuurseenheid a ?type .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
?orgaanInTime mandaat:bindingEinde ?end .
FILTER (HOURS(?end) = 1)
BIND(strdt(concat(xsd:date(?end), 'T00:00:00'), xsd:dateTime) as ?endDateTime)
}
}
;
DELETE {
GRAPH ?g {
?orgaanInTime mandaat:bindingStart ?start .
}
} INSERT {
GRAPH ?g {
?orgaanInTime mandaat:bindingStart ?startDateTime .
}
} WHERE {
GRAPH ?g {
?bestuurseenheid a ?type .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
?orgaanInTime mandaat:bindingStart ?start .
FILTER (HOURS(?start) = 1)
BIND(strdt(concat(xsd:date(?start), 'T00:00:00'), xsd:dateTime) as ?startDateTime)
}
}

View File

@@ -0,0 +1,195 @@
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
# Orthodox
INSERT {
GRAPH ?g {
?bestuurseenheid ere:wordtBediendDoor ?newMinisterPosition .
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
mu:uuid ?uuidNewMinisterPosition ;
ere:functie ?functie .
}
}
WHERE {
GRAPH ?g {
?bestuurseenheid a ere:BestuurVanDeEredienst ;
ere:typeEredienst <http://lblod.data.gift/concepts/84bcd6896f575bae4857ff8d2764bed8> . # orthodox
VALUES ?functie {
<http://lblod.data.gift/concepts/f274cb5a-ba44-4931-a1a8-38ec34513215> # Diaken
<http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> # Priester
<http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> # Rector
}
FILTER NOT EXISTS {
?bestuurseenheid ere:wordtBediendDoor ?ministerPosition .
?ministerPosition ere:functie ?functie .
}
BIND(MD5(CONCAT(?bestuurseenheid, ?functie)) as ?uuidNewMinisterPosition)
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
}
}
;
# Islamitisch
INSERT {
GRAPH ?g {
?bestuurseenheid ere:wordtBediendDoor ?newMinisterPosition .
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
mu:uuid ?uuidNewMinisterPosition ;
ere:functie ?functie .
}
}
WHERE {
GRAPH ?g {
?bestuurseenheid a ere:BestuurVanDeEredienst ;
ere:typeEredienst <http://lblod.data.gift/concepts/9d8bd472a00bf0a5c7b7186606365a52> .
VALUES ?functie {
<http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> # Eerste Imam in rang
<http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355> # Tweede Imam in rang
<http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7> # Derde Imam in rang
}
FILTER NOT EXISTS {
?bestuurseenheid ere:wordtBediendDoor ?ministerPosition .
?ministerPosition ere:functie ?functie .
}
BIND(MD5(CONCAT(?bestuurseenheid, ?functie)) as ?uuidNewMinisterPosition)
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
}
}
;
# Rooms-Katholiek
INSERT {
GRAPH ?g {
?bestuurseenheid ere:wordtBediendDoor ?newMinisterPosition .
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
mu:uuid ?uuidNewMinisterPosition ;
ere:functie ?functie .
}
}
WHERE {
GRAPH ?g {
?bestuurseenheid a ere:BestuurVanDeEredienst ;
ere:typeEredienst <http://lblod.data.gift/concepts/b13d1d623626bc1ee75c7d20bc60e3c0> . # Rooms-Katholiek
VALUES ?functie {
<http://lblod.data.gift/concepts/ea58c73d9b4fc8a24a4b3eaa73a33995> # Coördinator
<http://lblod.data.gift/concepts/59837b12c14f215a4efadae950be0072> # Medepastoor
<http://lblod.data.gift/concepts/84b3a2321d1b69b6de782bb04e1a6862> # Aangesteld priester
<http://lblod.data.gift/concepts/5c7fefe1b921dfd4c550924bb7a9331d> # Pastoor
}
FILTER NOT EXISTS {
?bestuurseenheid ere:wordtBediendDoor ?ministerPosition .
?ministerPosition ere:functie ?functie .
}
BIND(MD5(CONCAT(?bestuurseenheid, ?functie)) as ?uuidNewMinisterPosition)
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
}
}
;
# Israëlitisch
INSERT {
GRAPH ?g {
?bestuurseenheid ere:wordtBediendDoor ?newMinisterPosition .
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
mu:uuid ?uuidNewMinisterPosition ;
ere:functie ?functie .
}
}
WHERE {
GRAPH ?g {
?bestuurseenheid a ere:BestuurVanDeEredienst ;
ere:typeEredienst <http://lblod.data.gift/concepts/1a1abeafc973d27cebcb2d7a15b2d823> .
VALUES ?functie {
<http://lblod.data.gift/concepts/17e7177aba2596705ad3c209019c729a> # Officiërend bedienaar
<http://lblod.data.gift/concepts/27b3d149dd2a726effe749572177682e> # Rabbijn
}
FILTER NOT EXISTS {
?bestuurseenheid ere:wordtBediendDoor ?ministerPosition .
?ministerPosition ere:functie ?functie .
}
BIND(MD5(CONCAT(?bestuurseenheid, ?functie)) as ?uuidNewMinisterPosition)
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
}
}
;
# Anglicaans
INSERT {
GRAPH ?g {
?bestuurseenheid ere:wordtBediendDoor ?newMinisterPosition .
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
mu:uuid ?uuidNewMinisterPosition ;
ere:functie ?functie .
}
}
WHERE {
GRAPH ?g {
?bestuurseenheid a ere:BestuurVanDeEredienst ;
ere:typeEredienst <http://lblod.data.gift/concepts/99536dd6eb0d2ef38a89efafb17e7389> . # Anglicaans
VALUES ?functie {
<http://lblod.data.gift/concepts/fa4191f9d7050fe62ec3fc0e16541711> # Kapelaan
}
FILTER NOT EXISTS {
?bestuurseenheid ere:wordtBediendDoor ?ministerPosition .
?ministerPosition ere:functie ?functie .
}
BIND(MD5(CONCAT(?bestuurseenheid, ?functie)) as ?uuidNewMinisterPosition)
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
}
}
;
# Protestants
INSERT {
GRAPH ?g {
?bestuurseenheid ere:wordtBediendDoor ?newMinisterPosition .
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
mu:uuid ?uuidNewMinisterPosition ;
ere:functie ?functie .
}
}
WHERE {
GRAPH ?g {
?bestuurseenheid a ere:BestuurVanDeEredienst ;
ere:typeEredienst <http://lblod.data.gift/concepts/e8cba1540b35a32e9cb45126c38c03c6> . # Protestants
VALUES ?functie {
<http://lblod.data.gift/concepts/83d50e9184ae4a628851370079d162f6> # predikant
}
FILTER NOT EXISTS {
?bestuurseenheid ere:wordtBediendDoor ?ministerPosition .
?ministerPosition ere:functie ?functie .
}
BIND(MD5(CONCAT(?bestuurseenheid, ?functie)) as ?uuidNewMinisterPosition)
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
}
}

View File

@@ -0,0 +1,113 @@
# Part 1: set dates for 2020-2023
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime mandaat:bindingStart ?start .
?orgaanInTime mandaat:bindingEinde ?end .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime mandaat:bindingStart "2020-04-01T00:00:00"^^xsd:dateTime .
?orgaanInTime mandaat:bindingEinde "2023-03-31T00:00:00"^^xsd:dateTime .
}
} WHERE {
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
OPTIONAL { ?orgaanInTime mandaat:bindingStart ?start . }
OPTIONAL { ?orgaanInTime mandaat:bindingEinde ?end . }
{
SELECT DISTINCT ?bestuursorgaan MAX(?end) as ?maxEnd WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?type {
ere:BestuurVanDeEredienst
ere:CentraalBestuurVanDeEredienst
}
?bestuurseenheid a ?type .
FILTER NOT EXISTS {
?bestuurseenheid <http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> .
}
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
OPTIONAL { ?orgaanInTime mandaat:bindingStart ?start . }
OPTIONAL {
?orgaanInTime mandaat:bindingEinde ?end .
FILTER( ?end != "2026-03-31T00:00:00"^^xsd:dateTime )
FILTER( ?end != "2029-03-31T00:00:00"^^xsd:dateTime )
}
}
}
GROUP BY ?bestuursorgaan
ORDER BY ?maxEnd
}
# If we have a maxEnd value from the subquery, we want the organ in time that has the same end value to update it
# If there is no maxEnd value, then we need the orgaan that has no end value set
FILTER( IF(bound(?maxEnd), ?maxEnd = ?end, !bound(?end)) )
}
;
# Part 2: set dates for 2017-2020
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime mandaat:bindingStart ?start .
?orgaanInTime mandaat:bindingEinde ?end .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime mandaat:bindingStart "2017-04-01T00:00:00"^^xsd:dateTime .
?orgaanInTime mandaat:bindingEinde "2020-03-31T00:00:00"^^xsd:dateTime .
}
} WHERE {
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
OPTIONAL { ?orgaanInTime mandaat:bindingStart ?start . }
OPTIONAL { ?orgaanInTime mandaat:bindingEinde ?end . }
{
SELECT DISTINCT ?bestuursorgaan MAX(?end) as ?maxEnd WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?type {
ere:BestuurVanDeEredienst
ere:CentraalBestuurVanDeEredienst
}
?bestuurseenheid a ?type .
FILTER NOT EXISTS {
?bestuurseenheid <http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> .
}
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
OPTIONAL { ?orgaanInTime mandaat:bindingStart ?start . }
OPTIONAL {
?orgaanInTime mandaat:bindingEinde ?end .
FILTER( ?end != "2023-03-31T00:00:00"^^xsd:dateTime )
FILTER( ?end != "2026-03-31T00:00:00"^^xsd:dateTime )
FILTER( ?end != "2029-03-31T00:00:00"^^xsd:dateTime )
}
}
}
GROUP BY ?bestuursorgaan
ORDER BY ?maxEnd
}
# If we have a maxEnd value from the subquery, we want the organ in time that has the same end value to update it
# If there is no maxEnd value, then we need the orgaan that has no end value set
FILTER( IF(bound(?maxEnd), ?maxEnd = ?end, !bound(?end)) )
}

View File

@@ -0,0 +1,148 @@
# Add missing mandates to central worship services
## 2020 - 2023
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?expert .
?expert a mandaat:Mandaat ;
mu:uuid ?uuidExpert ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/8c91c321ad477c4fc372ee36358d3ed4> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?expert .
?expert org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/8c91c321ad477c4fc372ee36358d3ed4> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Expert 2020-2023")) as ?uuidExpert)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidExpert)) AS ?expert)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?vertegenwoordiger .
?vertegenwoordiger a mandaat:Mandaat ;
mu:uuid ?uuidVertegenwoordiger ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/6e26e94ea4b127eeb850fb6debe07271> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?vertegenwoordiger .
?vertegenwoordiger org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/6e26e94ea4b127eeb850fb6debe07271> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Vertegenwoordiger 2020-2023")) as ?uuidVertegenwoordiger)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVertegenwoordiger)) AS ?vertegenwoordiger)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?secretaris .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?secretaris .
?secretaris org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2020-2023")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5960262f753661cf84329f3afa9f7df7> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5960262f753661cf84329f3afa9f7df7> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2020-2023")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?bestuurslid .
?bestuurslid a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslid ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?bestuurslid .
?bestuurslid org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Bestuurslid 2020-2023")) as ?uuidBestuurslid)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslid)) AS ?bestuurslid)
}

View File

@@ -0,0 +1,148 @@
# Add missing mandates to central worship services
## 2027 - 2020
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?expert .
?expert a mandaat:Mandaat ;
mu:uuid ?uuidExpert ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/8c91c321ad477c4fc372ee36358d3ed4> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?expert .
?expert org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/8c91c321ad477c4fc372ee36358d3ed4> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Expert 2017-2020")) as ?uuidExpert)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidExpert)) AS ?expert)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?vertegenwoordiger .
?vertegenwoordiger a mandaat:Mandaat ;
mu:uuid ?uuidVertegenwoordiger ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/6e26e94ea4b127eeb850fb6debe07271> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?vertegenwoordiger .
?vertegenwoordiger org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/6e26e94ea4b127eeb850fb6debe07271> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Vertegenwoordiger 2017-2020")) as ?uuidVertegenwoordiger)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVertegenwoordiger)) AS ?vertegenwoordiger)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?secretaris .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?secretaris .
?secretaris org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2017-2020")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5960262f753661cf84329f3afa9f7df7> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5960262f753661cf84329f3afa9f7df7> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2017-2020")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?bestuurslid .
?bestuurslid a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslid ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?bestuurslid .
?bestuurslid org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Bestuurslid 2017-2020")) as ?uuidBestuurslid)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslid)) AS ?bestuurslid)
}

View File

@@ -0,0 +1,302 @@
# Add missing mandates to worship services
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
## Case LidVanRechtswege : shared mandate for all the organen in time
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?lidVanRechtswege .
?lidVanRechtswege a mandaat:Mandaat ;
mu:uuid ?uuidLidVanRechtswege ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5972fccd87f864c4ec06bfbd20b5008b> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES (?start ?end) {
("2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>)
("2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>)
}
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart ?start ;
mandaat:bindingEinde ?end .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?lidVanRechtswege .
?lidVanRechtswege org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5972fccd87f864c4ec06bfbd20b5008b> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Rechtswege")) as ?uuidLidVanRechtswege)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidLidVanRechtswege)) AS ?lidVanRechtswege)
}
## Case Bestuursleden, small or big half : 2017 is the beggining of a KH, 2020 of a GH.
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?bestuurslidGH .
?bestuurslidGH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidGH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?bestuurslidGH .
?bestuurslidGH org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidGH 2020-2026")) as ?uuidBestuurslidGH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidGH)) AS ?bestuurslidGH)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?bestuurslidGH .
?bestuurslidGH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidGH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?bestuurslidGH .
?bestuurslidGH org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidGH 2014-2020")) as ?uuidBestuurslidGH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidGH)) AS ?bestuurslidGH)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?bestuurslidKH .
?bestuurslidKH a mandaat:Mandaat ;
mu:uuid ?uuidBestuurslidKH ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES (?start ?end) {
("2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>)
("2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime>)
}
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart ?start ;
mandaat:bindingEinde ?end .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?bestuurslidKH .
?bestuurslidKH org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "BestuurslidKH 2017-2023")) as ?uuidBestuurslidKH)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslidKH)) AS ?bestuurslidKH)
}
;
## Other cases are simpler, one mandate is linked to only one orgaan in time. Creating them when missing.
### 2020 - 2023
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2020-2023")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?secretaris .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?secretaris .
?secretaris org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2020-2023")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?penningmeester .
?penningmeester a mandaat:Mandaat ;
mu:uuid ?uuidPenningmeester ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2020-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2023-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?penningmeester .
?penningmeester org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Penningmeester 2020-2023")) as ?uuidPenningmeester)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
}
### 2017 - 2020
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter a mandaat:Mandaat ;
mu:uuid ?uuidVoorzitter ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?voorzitter .
?voorzitter org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Voorzitter 2017-2020")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?secretaris .
?secretaris a mandaat:Mandaat ;
mu:uuid ?uuidSecretaris ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?secretaris .
?secretaris org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Secretaris 2017-2020")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?orgaanInTime org:hasPost ?penningmeester .
?penningmeester a mandaat:Mandaat ;
mu:uuid ?uuidPenningmeester ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2017-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2020-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?penningmeester .
?penningmeester org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
}
}
BIND(MD5(CONCAT(?worshipService, ?orgaan, "Penningmeester 2017-2020")) as ?uuidPenningmeester)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
}

View File

@@ -0,0 +1,59 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
DELETE {GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid ?p ?o
}
}
where {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?betrokkenheid org:organization ?bestuur;
rdf:type ere:BetrokkenLokaleBesturen.
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid org:organization ?worshipService.
?betrokkenheid ere:typebetrokkenheid ?typebetrokkenheid.
?betrokkenheid ?p ?o.
filter(?worshipService = <http://data.lblod.info/id/besturenVanDeEredienst/3292a5d26db54a3173eeab234727be29> &&
?betrokkenheid = <http://data.lblod.info/id/betrokkenLokaleBesturen/ca7e4f721a9c16a8cb263209b0cdcdb6>)
}
}

View File

@@ -0,0 +1,32 @@
DELETE {
GRAPH ?g {
?representatieveOrgaan <http://www.w3.org/ns/org#linkedTo> ?bestuur .
?bestuur ?pbestuur ?obestuur .
?primarySite ?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?identifier ?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
} WHERE {
GRAPH ?g {
VALUES ?bestuur {
<http://data.lblod.info/id/besturenVanDeEredienst/578bf96f86056e2260dc21cee91aa519>
}
?representatieveOrgaan <http://www.w3.org/ns/org#linkedTo> ?bestuur .
?bestuur <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite ;
<http://www.w3.org/ns/adms#identifier> ?identifier ;
?pbestuur ?obestuur .
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?address ;
?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?identifier <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?structuredIdentifier ;
?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
}

View File

@@ -0,0 +1,61 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?administrativeUnit{
<http://data.lblod.info/id/bestuurseenheden/b456cda7fa9b2b176adb216e5598aeeb60ff19753a5a08ade6ffd32e9a0ead89> # Edegem
<http://data.lblod.info/id/bestuurseenheden/38dc63f50a4f7ea61ef741d8944a874a59ba84b69b9ff3e73f69680da2c6ef37> # Aartselaar
<http://data.lblod.info/id/bestuurseenheden/670db1d66c0de3b931962e1044033ccfa9d6e3023aa9828a5f252c3bc69bd32c> # Antwerpen
}
VALUES ?worshipService {
<http://data.lblod.info/id/besturenVanDeEredienst/168d5fec5ee04be393c30d5d5bc88074> # Kerkfabriek St.-Niklaas van Hemiksem
}
?betrokkenheid
org:organization ?bestuur;
rdf:type ere:BetrokkenLokaleBesturen.
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid
org:organization ?worshipService;
ere:typebetrokkenheid ?typebetrokkenheid;
?p ?o.
}
}

View File

@@ -0,0 +1,59 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?administrativeUnit{
<http://data.lblod.info/id/bestuurseenheden/421187a1c73dac9514080c9eee61d018a1fb93977cf7aa96bff64f35dfd08961> # Maarkedal
}
VALUES ?worshipService {
<http://data.lblod.info/id/besturenVanDeEredienst/55dead3d70da2513e83ce1ceee9820d4> # Kerkfabriek St.-Hermes van Ronse
}
?betrokkenheid
org:organization ?bestuur;
rdf:type ere:BetrokkenLokaleBesturen.
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid
org:organization ?worshipService;
ere:typebetrokkenheid ?typebetrokkenheid;
?p ?o.
}
}

View File

@@ -0,0 +1,66 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?administrativeUnit{
<http://data.lblod.info/id/bestuurseenheden/3b1e0143755729396654f651bfed689681274839c427f9598e930d816fb7a1c8> # Kraainem
<http://data.lblod.info/id/bestuurseenheden/476ddecbaf169d4c9af3ca8ed6725f4efebdfdb9647fe82ec4406496c6e930d9> # Overijse
<http://data.lblod.info/id/bestuurseenheden/3b337ebeb02ede5e152c952e2f24aa1bff3ebbb6afb968a647cb05efe72c0237> # Wezembeek-Oppem
<http://data.lblod.info/id/bestuurseenheden/003e84121111866af60611a59e13d4c478718f60472655936edec1e352a34c5f> # Huldenberg
<http://data.lblod.info/id/bestuurseenheden/319db6e275f281d0280da90d6f6aba3462f4e47b6f53a34639feb91015a5822b> # Oud-Heverlee
<http://data.lblod.info/id/bestuurseenheden/7c44225c68f7535a603d3a0a0c57a6424e8baa9fd066b6b9baa636d0facddb72> # Bertem
}
VALUES ?worshipService {
<http://data.lblod.info/id/besturenVanDeEredienst/a596850e9aa27969a25f73137d300306> #Anglicaanse Kerk Saint Paul's Church van Tervuren
<http://data.lblod.info/id/besturenVanDeEredienst/e2eea8a352821c9c1f1827f1cfde9f24> #Anglicaanse Kerk Saint Martha and Mary's van Leuven
}
?betrokkenheid
org:organization ?bestuur;
rdf:type ere:BetrokkenLokaleBesturen.
?administrativeUnit ere:betrokkenBestuur ?betrokkenheid.
?betrokkenheid
org:organization ?worshipService;
ere:typebetrokkenheid ?typebetrokkenheid;
ere:financieringspercentage 0;
?p ?o.
}
}

View File

@@ -0,0 +1,38 @@
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?org org:hasPrimarySite ?site.
?site
organisatie:bestaatUit ?address;
?sp ?so.
?address ?ap ?ao.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?org org:hasPrimarySite ?site.
?site
organisatie:bestaatUit ?address;
?sp ?so.
?address ?ap ?ao.
{
SELECT ?site (count(?o) AS ?c)
WHERE {
?o org:hasPrimarySite ?site
}
GROUP BY ?site
HAVING (COUNT(DISTINCT ?o) > 1)
ORDER BY ?site
}
}
}

View File

@@ -0,0 +1 @@
http://mu.semte.ch/graphs/organisatieportaal

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/representatieveOrganen/0ebb44c2ef14d86978ea85e74d128ad1> <http://www.w3.org/2004/02/skos/core#prefLabel> "Oecumenisch Patriarchaat van Konstantinopel" .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/representatieveOrganen/0ebb44c2ef14d86978ea85e74d128ad1> <http://www.w3.org/2004/02/skos/core#prefLabel> "Oecumenisch Patriarchaat van Constantinopel" .
}
}

View File

@@ -0,0 +1 @@
http://mu.semte.ch/graphs/organisatieportaal

View File

@@ -0,0 +1,13 @@
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix ere: <http://data.lblod.info/vocabularies/erediensten/> .
@prefix besluit: <http://data.vlaanderen.be/ns/besluit#> .
@prefix regorg: <http://www.w3.org/ns/regorg#> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix org: <http://www.w3.org/ns/org#> .
<http://data.lblod.info/id/besturenVanDeEredienst/578bf96f86056e2260dc21cee91aa519> a ere:BestuurVanDeEredienst, besluit:Bestuurseenheid ;
ere:typeEredienst <http://lblod.data.gift/concepts/b13d1d623626bc1ee75c7d20bc60e3c0> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> ;
mu:uuid "578bf96f86056e2260dc21cee91aa519" ;
skos:prefLabel "Kerkfabriek St.-Baafs van Gent" ;
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> .

View File

@@ -0,0 +1,18 @@
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DELETE {
GRAPH ?g {
?subject skos:prefLabel ?label.
}
}
INSERT {
GRAPH ?g {
?subject skos:prefLabel """Kerkfabriek Vredegem""".
}
}
WHERE {
BIND(<http://data.lblod.info/id/besturenVanDeEredienst/578bf96f86056e2260dc21cee91aa519> as ?subject)
GRAPH ?g {
?subject skos:prefLabel ?label.
}
}

View File

@@ -0,0 +1,41 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?representatieveOrgaan <http://www.w3.org/ns/org#linkedTo> ?bestuur .
?bestuur ?pbestuur ?obestuur .
?primarySite ?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?contactPoint ?pcontactPoint ?ocontactPoint .
?identifier ?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?bestuur {
<http://data.lblod.info/id/besturenVanDeEredienst/63638B718DE5818A7C9F4358> # OP-1909 :: Ensar
<http://data.lblod.info/id/besturenVanDeEredienst/6374E1604B5FEAF28DEDE73C> # OP-1913 :: Attaqwa
<http://data.lblod.info/id/besturenVanDeEredienst/6374E0034B5FEAF28DEDE730> # OP-1914 :: Imam-i Buhari
<http://data.lblod.info/id/besturenVanDeEredienst/62C2DB1AD7779543F7779588> # OP-1926 :: Orthodoxe Parochie van de Heilige Nino
<http://data.lblod.info/id/besturenVanDeEredienst/625E764BFEE49A5CF118EE5C> # OP-1924 :: Islamitisch en cultureel centrum Al Umma Linkeroever
<http://data.lblod.info/id/besturenVanDeEredienst/62E8C415D7779543F77796A7> # OP-1922 :: Essalaam
}
?representatieveOrgaan <http://www.w3.org/ns/org#linkedTo> ?bestuur .
?bestuur <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite ;
<http://www.w3.org/ns/adms#identifier> ?identifier ;
?pbestuur ?obestuur .
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?address ;
<http://www.w3.org/ns/org#siteAddress> ?contactPoint ;
?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?contactPoint ?pcontactPoint ?ocontactPoint .
?identifier <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?structuredIdentifier ;
?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
}

View File

@@ -0,0 +1,15 @@
PREFIX dct: <http://purl.org/dc/terms/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/6375D6B34B5FEAF28DEDE7CA> dct:date "2001-01-01"^^xsd:date .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/6375D6B34B5FEAF28DEDE7CA> dct:date "2008-01-01"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/6375D6B34B5FEAF28DEDE7CA> dct:date "2001-01-01"^^xsd:date .
}
}

View File

@@ -0,0 +1,26 @@
DELETE {
GRAPH ?g {
?role <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> .
}
} INSERT {
GRAPH ?g {
?role <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7> .
}
} WHERE {
GRAPH ?g {
VALUES ?bedienaar {
<http://data.lblod.info/id/rollenBedienaar/6332F3D4036B579F0A26FF25>
<http://data.lblod.info/id/rollenBedienaar/6363D2938DE5818A7C9F43F1>
<http://data.lblod.info/id/rollenBedienaar/63568F678DE5818A7C9F4253>
<http://data.lblod.info/id/rollenBedienaar/6363D6068DE5818A7C9F4408>
<http://data.lblod.info/id/rollenBedienaar/63568E2B8DE5818A7C9F424C>
<http://data.lblod.info/id/rollenBedienaar/636A5E368DE5818A7C9F447C>
<http://data.lblod.info/id/rollenBedienaar/636A5D1B8DE5818A7C9F4478>
<http://data.lblod.info/id/rollenBedienaar/63330740036B579F0A26FF43>
<http://data.lblod.info/id/rollenBedienaar/63330552036B579F0A26FF3E>
}
?bedienaar <http://www.w3.org/ns/org#holds> ?role .
?role <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> .
}
}

View File

@@ -0,0 +1,83 @@
# OP-1928 : Remove worship members in "Kerkfabriek St.-Franciscus van Glabbeek"
# Delete duplicate persons
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/personen/635BD6EC8DE5818A7C9F4310> ?pm ?om .
<http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313> ?pj ?oj .
<http://data.lblod.info/id/mandatarissen/635BD7148DE5818A7C9F4312> ?pd ?od .
<http://data.lblod.info/id/mandatarissen/635BD76D8DE5818A7C9F4314> ?pt ?ot .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/personen/635BD6EC8DE5818A7C9F4310> ?pm ?om .
<http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313> ?pj ?oj .
<http://data.lblod.info/id/mandatarissen/635BD7148DE5818A7C9F4312> ?pd ?od .
<http://data.lblod.info/id/mandatarissen/635BD76D8DE5818A7C9F4314> ?pt ?ot .
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
<http://data.lblod.info/id/personen/635BD6EC8DE5818A7C9F4310> ?pm ?om .
<http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313> ?pj ?oj .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
<http://data.lblod.info/id/personen/635BD6EC8DE5818A7C9F4310> ?pm ?om .
<http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313> ?pj ?oj .
}
}
;
# Change Start Date
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/mandatarissen/6368DBCB8DE5818A7C9F441F> <http://data.vlaanderen.be/ns/mandaat#start> "2022-05-04"^^xsd:date .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/mandatarissen/6368DBCB8DE5818A7C9F441F> <http://data.vlaanderen.be/ns/mandaat#start> "2022-01-28"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/mandatarissen/6368DBCB8DE5818A7C9F441F> <http://data.vlaanderen.be/ns/mandaat#start> "2022-05-04"^^xsd:date .
}
}
;
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/mandatarissen/6368DB2F8DE5818A7C9F441A> <http://data.vlaanderen.be/ns/mandaat#start> "2022-05-04"^^xsd:date .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/mandatarissen/6368DB2F8DE5818A7C9F441A> <http://data.vlaanderen.be/ns/mandaat#start> "2022-01-28"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/mandatarissen/6368DB2F8DE5818A7C9F441A> <http://data.vlaanderen.be/ns/mandaat#start> "2022-05-04"^^xsd:date .
}
}
# The associated call to trigger a reindex is :
# curl --location --request POST '172.19.0.23/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/635BD6EC8DE5818A7C9F4310" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "635BD6EC8DE5818A7C9F4310" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "635BD7518DE5818A7C9F4313" }
# }
# ],
# "inserts": []
# }
# ]'

View File

@@ -0,0 +1,79 @@
# OP-1929 : Delete duplicated members from worship service
# Delete wrong peson and mandatarissen
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> { ?s ?p ?o . }
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?s {
<http://data.lblod.info/id/personen/74c5800e8489c825f318acc9dcb031d0>
<http://data.lblod.info/id/mandatarissen/6380A02F4B5FEAF28DEDE975>
<http://data.lblod.info/id/mandatarissen/6380BBB04B5FEAF28DEDE97E>
<http://data.lblod.info/id/mandatarissen/63809FC24B5FEAF28DEDE974>
<http://data.lblod.info/id/mandatarissen/63809F414B5FEAF28DEDE972>
<http://data.lblod.info/id/mandatarissen/63809F804B5FEAF28DEDE973>
<http://data.lblod.info/id/mandatarissen/6380D0854B5FEAF28DEDE97F>
}
?s ?p ?o .
}
}
;
# Delete sensitive data
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
<http://data.lblod.info/id/personen/74c5800e8489c825f318acc9dcb031d0> ?pp ?op .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
<http://data.lblod.info/id/personen/74c5800e8489c825f318acc9dcb031d0> ?pp ?op .
}
}
# The associated call to trigger a reindex is :
# curl --location --request POST '172.20.0.26/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/74c5800e8489c825f318acc9dcb031d0" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "74c5800e8489c825f318acc9dcb031d0" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/6380A02F4B5FEAF28DEDE975" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" },
# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/6380BBB04B5FEAF28DEDE97E" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" },
# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/63809FC24B5FEAF28DEDE974" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" },
# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/63809F414B5FEAF28DEDE972" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" },
# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/63809F804B5FEAF28DEDE973" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" },
# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/6380D0854B5FEAF28DEDE97F" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" },
# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" }
# }
# ],
# "inserts": []
# }
# ]'

View File

@@ -0,0 +1 @@
http://mu.semte.ch/graphs/organisatieportaal

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
DELETE {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> . # Priester
}
} INSERT {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> . # Rector
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/rollenBedienaar/6332B4D3036B579F0A26FF1D> org:holds ?role .
?role ere:functie <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> .
}
}

View File

@@ -0,0 +1,17 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
DELETE {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> . # Priester
}
} INSERT {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> . # Rector
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/rollenBedienaar/6371F9448DE5818A7C9F44AC> org:holds ?role .
?role ere:functie <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> .
}
}

View File

@@ -0,0 +1,80 @@
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/c5908a253d1aa2fccb75e6fff439c93a CKB Kruisem --> Stays
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/64dcf0eaafd13dea75717d9014982106 CKB Kruishoutem --> DELETE KBO +
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/6d4226a920cc47e4d4bbfddb451f4883 CKB Aalter NIET actief --> Change to "0535.589.755" +
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/e08a8bc5828bd44e735724a79b588b13 CKB Aalter actief --> Stays
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/9e0e8f060ca954da6263243642433f44 CKB De Pinte --> Stays
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/fa51c0cd4530f0db4caea031f75305d3 CKB Sint-Martens-Latem --> DELETE KBO +
# http://data.lblod.info/id/besturenVanDeEredienst/619a5721094b28807dca8d04de69e3e0 Islamitische geloofsgemeenschap Yunus Emre van Genk --> Stays
# http://data.lblod.info/id/centraleBesturenVanDeEredienst/e17dabfaf8f562ad181f422006c42e97 CB van de Islamitische gemeenschappen in Limburg --> Delete KBO +
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX schema: <http://schema.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
DELETE {
GRAPH ?g {
?bestuur
adms:identifier
?identifier_kbo.
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/6d4226a920cc47e4d4bbfddb451f4883>
adms:identifier
<http://data.lblod.info/id/identificatoren/d029ebdf899249f2b3d1ae88be0ebf65>.
<http://data.lblod.info/id/identificatoren/d029ebdf899249f2b3d1ae88be0ebf65>
a adms:Identifier;
mu:uuid "d029ebdf899249f2b3d1ae88be0ebf65";
skos:notation
"KBO nummer";
generiek:gestructureerdeIdentificator
<http://data.lblod.info/id/gestructureerdeIdentificatoren/6a197d71a59d41ca900009ef84c72002>.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/6a197d71a59d41ca900009ef84c72002>
a generiek:GestructureerdeIdentificator;
mu:uuid "6a197d71a59d41ca900009ef84c72002";
generiek:lokaleIdentificator
"0535589755".
}
} WHERE {
GRAPH ?g {
VALUES ?bestuur {
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/64dcf0eaafd13dea75717d9014982106>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/fa51c0cd4530f0db4caea031f75305d3>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/e17dabfaf8f562ad181f422006c42e97>
<http://data.lblod.info/id/centraleBesturenVanDeEredienst/6d4226a920cc47e4d4bbfddb451f4883>
}
?bestuur
adms:identifier
?identifier_kbo.
?identifier_kbo
skos:notation
"KBO nummer".
}
}

View File

@@ -0,0 +1,17 @@
PREFIX dct: <http://purl.org/dc/terms/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/63A1BE5026577078270F82DA> dct:date "2022-12-21"^^xsd:date .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/63A1BE5026577078270F82DA> dct:date "2022-12-20"^^xsd:date .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/63A1BE5026577078270F82DA> dct:date "2022-12-21"^^xsd:date .
}
}
# OP-1981

View File

@@ -0,0 +1,65 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person ?ppPerson ?ooPerson.
?heeftGeboorte ?p ?o.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?person a <http://www.w3.org/ns/person#Person>.
FILTER((NOT EXISTS { ?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person. })
&& (NOT EXISTS { ?ministers <http://www.w3.org/ns/org#heldBy> ?person. }))
}
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
optional {?person ?ppPerson ?ooPerson.}
optional {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
optional {
?person persoon:registratie ?registration.
?registration ?t ?j.
}
optional {
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?person ?pPerson ?oPerson.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?person a <http://www.w3.org/ns/person#Person>;
?pPerson ?oPerson.
FILTER((NOT EXISTS { ?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person. }) && (NOT EXISTS { ?ministers <http://www.w3.org/ns/org#heldBy> ?person. }))
}
}

View File

@@ -0,0 +1,147 @@
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?representatieveOrgaan <http://www.w3.org/ns/org#linkedTo> ?bestuur .
?bestuur ?pbestuur ?obestuur .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?bestuur {
<http://data.lblod.info/id/besturenVanDeEredienst/999b011fe6b90b3b546612c25db4b607> # OP-1980
<http://data.lblod.info/id/besturenVanDeEredienst/da2184c3dca9eb7c4828a50c0e9f5af4> # OP-1978
<http://data.lblod.info/id/besturenVanDeEredienst/a6b5c5db3a261ca024a42fe9489496a9> # OP-1979
<http://data.lblod.info/id/besturenVanDeEredienst/260312c07d8e00358064a362dee3506f> # OP-1977
}
OPTIONAL { ?representatieveOrgaan <http://www.w3.org/ns/org#linkedTo> ?bestuur }
?bestuur ?pbestuur ?obestuur .
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite ?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?contactPoint ?pcontactPoint ?ocontactPoint .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?bestuur {
<http://data.lblod.info/id/besturenVanDeEredienst/999b011fe6b90b3b546612c25db4b607> # OP-1980
<http://data.lblod.info/id/besturenVanDeEredienst/da2184c3dca9eb7c4828a50c0e9f5af4> # OP-1978
<http://data.lblod.info/id/besturenVanDeEredienst/a6b5c5db3a261ca024a42fe9489496a9> # OP-1979
<http://data.lblod.info/id/besturenVanDeEredienst/260312c07d8e00358064a362dee3506f> # OP-1977
}
OPTIONAL {
?bestuur <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite.
?primarySite ?pprimarySite ?oprimarySite .
OPTIONAL {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?address.
?address ?paddress ?oaddress .
}
OPTIONAL {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?contactPoint .
?contactPoint ?pcontactPoint ?ocontactPoint .
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?identifier ?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?bestuur {
<http://data.lblod.info/id/besturenVanDeEredienst/999b011fe6b90b3b546612c25db4b607> # OP-1980
<http://data.lblod.info/id/besturenVanDeEredienst/da2184c3dca9eb7c4828a50c0e9f5af4> # OP-1978
<http://data.lblod.info/id/besturenVanDeEredienst/a6b5c5db3a261ca024a42fe9489496a9> # OP-1979
<http://data.lblod.info/id/besturenVanDeEredienst/260312c07d8e00358064a362dee3506f> # OP-1977
}
OPTIONAL {
?bestuur <http://www.w3.org/ns/adms#identifier> ?identifier .
?identifier ?pidentifier ?oidentifier .
OPTIONAL {
?identifier <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?structuredIdentifier.
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
}
}
}
;
# Clean reminiscences
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?o {
<http://data.lblod.info/id/besturenVanDeEredienst/999b011fe6b90b3b546612c25db4b607> # OP-1980
<http://data.lblod.info/id/besturenVanDeEredienst/da2184c3dca9eb7c4828a50c0e9f5af4> # OP-1978
<http://data.lblod.info/id/besturenVanDeEredienst/a6b5c5db3a261ca024a42fe9489496a9> # OP-1979
<http://data.lblod.info/id/besturenVanDeEredienst/260312c07d8e00358064a362dee3506f> # OP-1977
}
OPTIONAL{ ?s ?p ?o }
}
}
# The associated call to trigger a reindex is :
# curl --location --request POST '172.20.0.15/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/besturenVanDeEredienst/999b011fe6b90b3b546612c25db4b607" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "999b011fe6b90b3b546612c25db4b607" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/besturenVanDeEredienst/da2184c3dca9eb7c4828a50c0e9f5af4" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "da2184c3dca9eb7c4828a50c0e9f5af4" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/besturenVanDeEredienst/a6b5c5db3a261ca024a42fe9489496a9" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "a6b5c5db3a261ca024a42fe9489496a9" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/besturenVanDeEredienst/260312c07d8e00358064a362dee3506f" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "260312c07d8e00358064a362dee3506f" }
# }
# ],
# "inserts": []
# }
# ]'

View File

@@ -0,0 +1,34 @@
PREFIX nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX prov: <http://www.w3.org/ns/prov#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
?sub
dct:subject <http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump> ;
dcat:distribution ?distribution.
?distribution
dct:subject ?file ;
dct:created ?created .
?phyiscalFile
nie:dataSource ?file
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
?sub
dct:subject <http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump> ;
dcat:distribution ?distribution.
FILTER NOT EXISTS {
?revision
prov:wasRevisionOf ?sub
}
?distribution
dct:subject ?file ;
dct:created ?created .
?phyiscalFile
nie:dataSource ?file
}
}

View File

@@ -0,0 +1,16 @@
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/accounts/deltas> {
<http://data.lblod.info/foaf/account/id/8df6f1e4-869f-4223-9834-961b01a7bd48>
a foaf:OnlineAccount.
<http://data.lblod.info/foaf/agent/id/3d204ad9-3f20-407a-ab40-81a3268d5594>
a foaf:Agent;
foaf:account <http://data.lblod.info/foaf/account/id/8df6f1e4-869f-4223-9834-961b01a7bd48>.
<http://data.lblod.info/foaf/group/id/44a6640d-b24d-43e2-a23d-7462f77e0adc>
a foaf:Group;
foaf:member <http://data.lblod.info/foaf/agent/id/3d204ad9-3f20-407a-ab40-81a3268d5594>;
foaf:name "organizations".
}
}

View File

@@ -0,0 +1,92 @@
delete {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://xmlns.com/foaf/0.1/givenName> ?givenName.
}
}
insert {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://xmlns.com/foaf/0.1/givenName> "André".
}
}
where {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://xmlns.com/foaf/0.1/givenName> ?givenName.
FILTER (?s in(
<http://data.lblod.info/id/personen/6246DD30D5CA8D65E42B3030>,
<http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313>,
<http://data.lblod.info/id/personen/6246DDA3D5CA8D65E42B3031>,
<http://data.lblod.info/id/personen/62384F97B72F9F4B33508056>,
<http://data.lblod.info/id/personen/623993F1B72F9F4B3350808E>
))
}
}
# The associated call to trigger a reindex is :
# curl --location --request POST '172.19.0.23/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/6246DD30D5CA8D65E42B3030" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "6246DD30D5CA8D65E42B3030" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "635BD7518DE5818A7C9F4313" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/6246DDA3D5CA8D65E42B3031" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "6246DDA3D5CA8D65E42B3031" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/62384F97B72F9F4B33508056" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "62384F97B72F9F4B33508056" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/623993F1B72F9F4B3350808E" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "623993F1B72F9F4B3350808E" }
# }
#
# ],
# "inserts": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/6246DD30D5CA8D65E42B3030" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "6246DD30D5CA8D65E42B3030" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/635BD7518DE5818A7C9F4313" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "635BD7518DE5818A7C9F4313" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/6246DDA3D5CA8D65E42B3031" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "6246DDA3D5CA8D65E42B3031" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/62384F97B72F9F4B33508056" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "62384F97B72F9F4B33508056" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/personen/623993F1B72F9F4B3350808E" },
# "predicate": { "type": "uri", "value": "http://mu.semte.ch/vocabularies/core/uuid" },
# "object": { "type": "string", "value": "623993F1B72F9F4B3350808E" }
# }
#
#
# ]
# }
# ]'

View File

@@ -0,0 +1,10 @@
DELETE {
GRAPH ?g {
?s ?p "".
}
}
WHERE {
GRAPH ?g {
?s ?p "".
}
}

View File

@@ -0,0 +1,129 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
DELETE {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> . # Eerste Imam in rang
}
} INSERT {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7> . # Derde Imam in rang
}
} WHERE {
GRAPH ?g {
VALUES ?rolBedienaar {
<http://data.lblod.info/id/rollenBedienaar/6332F95A036B579F0A26FF39> # OP-2045
<http://data.lblod.info/id/rollenBedienaar/63515D0E8DE5818A7C9F41B6> # OP-2046
}
?rolBedienaar org:holds ?role .
?role ere:functie <http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> .
}
}
;
DELETE {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355> . # Tweede Imam in rang
}
} INSERT {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7> . # Derde Imam in rang
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/rollenBedienaar/63515DDE8DE5818A7C9F41BB> org:holds ?role . # OP-2046
?role ere:functie <http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355> .
}
}
;
DELETE {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> . # Priester
}
} INSERT {
GRAPH ?g {
?role ere:functie <http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254> . # Rector
}
} WHERE {
GRAPH ?g {
VALUES ?rolBedienaar {
<http://data.lblod.info/id/rollenBedienaar/633309B8036B579F0A26FF4D> # OP-2056
<http://data.lblod.info/id/rollenBedienaar/6308BA29BB4106FB970C4D15> # OP-2057
<http://data.lblod.info/id/rollenBedienaar/633308FD036B579F0A26FF48> # OP-2060
}
?rolBedienaar org:holds ?role .
?role ere:functie <http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2> .
}
}
# The associated call to trigger a reindex is :
# curl --location --request POST '172.26.0.28/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/63515D0E8DE5818A7C9F41B5" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/6332F959036B579F0A26FF38" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/63515DDE8DE5818A7C9F41BA" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/6308BA29BB4106FB970C4D14" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/633308FC036B579F0A26FF47" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/633309B8036B579F0A26FF4C" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/efbf2ff50b5c4f693f129ac03319c4f2" }
# }
# ],
# "inserts": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/63515D0E8DE5818A7C9F41B5" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/6332F959036B579F0A26FF38" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/63515DDE8DE5818A7C9F41BA" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/6308BA29BB4106FB970C4D14" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/633308FC036B579F0A26FF47" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/positiesBedienaar/633309B8036B579F0A26FF4C" },
# "predicate": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/functie" },
# "object": { "type": "uri", "value": "http://lblod.data.gift/concepts/04d3b5325f2ebc5eaf96849519af4254" }
# }
# ]
# }
# ]'

View File

@@ -0,0 +1,19 @@
# We already had betrokken lokale besturen entered for some CB.
# Too keep data aligned with the other applications (Loket, CVP etc), we first flush them
# before re-adding only the necessary ones
DELETE {
GRAPH ?g {
?localInvolvement ?plocalInvolvement ?olocalInvolvement .
?bestuur <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?localInvolvement .
}
} WHERE {
GRAPH ?g {
?centraalBestuur a <http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst> .
?localInvolvement <http://www.w3.org/ns/org#organization> ?centraalBestuur ;
?plocalInvolvement ?olocalInvolvement .
?bestuur <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?localInvolvement .
}
}

View File

@@ -0,0 +1 @@
http://mu.semte.ch/graphs/organisatieportaal

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
# MOVE SILENT <http://redpencil.data.gift/id/deltas/producer/organizationsdeltas> <http://redpencil.data.gift/id/deltas/producer/organizations-deltas>
DELETE { GRAPH <http://redpencil.data.gift/id/deltas/producer/organizationsdeltas> { ?s ?p ?o } }
INSERT { GRAPH <http://redpencil.data.gift/id/deltas/producer/organizations-deltas> { ?s ?p ?o } }
WHERE { GRAPH <http://redpencil.data.gift/id/deltas/producer/organizationsdeltas> { ?s ?p ?o } }

View File

@@ -0,0 +1,67 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?rolBedienaar ?pRolBedienaar ?oRolBedienaar .
?contactPoint ?pContactPoint ?ocontactPoint .
?address ?pAddress ?oAddress .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?rolBedienaar {
<http://data.lblod.info/id/rollenBedienaar/6332F770036B579F0A26FF2F> # OP-2043
<http://data.lblod.info/id/rollenBedienaar/6332F6C9036B579F0A26FF2A> # OP-2043
<http://data.lblod.info/id/rollenBedienaar/6332F7FB036B579F0A26FF34> # OP-2043
<http://data.lblod.info/id/rollenBedienaar/638F083FA742F4FD4AB55907> # OP-2047
}
?rolBedienaar rdf:type ere:RolBedienaar ;
schema:contactPoint ?contactPoint ;
?pRolBedienaar ?oRolBedienaar .
?contactPoint locn:address ?address ;
?pContactPoint ?ocontactPoint .
?address ?pAddress ?oAddress .
}
}
# The associated call to trigger a reindex is :
# curl --location --request POST '172.22.0.30/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/rollenBedienaar/6332F770036B579F0A26FF2F" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/ns/org#heldBy" },
# "object": { "type": "uri", "value": "http://data.lblod.info/id/personen/6332F6FD036B579F0A26FF2B" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/rollenBedienaar/6332F6C9036B579F0A26FF2A" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/ns/org#heldBy" },
# "object": { "type": "uri", "value": "http://data.lblod.info/id/personen/6332F648036B579F0A26FF26" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/rollenBedienaar/6332F7FB036B579F0A26FF34" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/ns/org#heldBy" },
# "object": { "type": "uri", "value": "http://data.lblod.info/id/personen/6332F7AF036B579F0A26FF30" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/rollenBedienaar/638F083FA742F4FD4AB55907" },
# "predicate": { "type": "uri", "value": "http://www.w3.org/ns/org#heldBy" },
# "object": { "type": "uri", "value": "http://data.lblod.info/id/personen/638F07A6A742F4FD4AB55903" }
# }
# ],
# "inserts": []
# }
# ]'

View File

@@ -0,0 +1,59 @@
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX schema: <http://schema.org/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?mandatarissen ?pMandatarissen ?oMandatarissen .
?mandaat ?pMandaat ?oMandaat .
?person ?pPerson ?oPerson .
?contactPoint ?pContactPoint ?oContactPoint .
?address ?pAddress ?oAddress .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?mandatarissen {
<http://data.lblod.info/id/mandatarissen/807a3e07c95fe40962d64695069af946> #1
<http://data.lblod.info/id/mandatarissen/40ed3cb19f9fa33e47b39016780dce1d> #2
}
?mandatarissen org:holds ?mandaat ;
mandaat:isBestuurlijkeAliasVan ?person ;
?pMandatarissen ?oMandatarissen .
OPTIONAL {
?mandatarissen schema:contactPoint ?contactPoint .
OPTIONAL {
?contactPoint locn:address ?address ;
?pContactPoint ?oContactPoint .
?address ?pAddress ?oAddress .
}
}
?person ?pPerson ?oPerson .
?mandaat ?pMandaat ?oMandaat .
}
}
# An associated call to trigger a reindex is:
# curl --location --request POST '172.32.0.21/update' \
# --header 'Content-Type: application/vnd.api+json' \
# --data-raw ' [
# {
# "deletes": [
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/807a3e07c95fe40962d64695069af946" },
# "predicate": { "type": "uri", "value": "http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan" },
# "object": { "type": "uri", "value": "http://data.lblod.info/id/personen/620523C451BFC225E4ECFA97" }
# },
# {
# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/40ed3cb19f9fa33e47b39016780dce1d" },
# "predicate": { "type": "uri", "value": "http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan" },
# "object": { "type": "uri", "value": "http://data.lblod.info/id/personen/620523C451BFC225E4ECFA97" }
# }
# ],
# "inserts": []
# }
# ]'

View File

@@ -0,0 +1,35 @@
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
# OP-2070
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/bestuursorganen/56c71a29-bff0-4b67-804d-2c98fd4bd10f> a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>;
mu:uuid "56c71a29-bff0-4b67-804d-2c98fd4bd10f";
besluit:bestuurt <http://data.lblod.info/id/besturenVanDeEredienst/6232329df9377210c3576b17e116de8b>;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b475fa47e17a8a05ae04a9e1fb9c9258>.
<http://data.lblod.info/id/bestuursorganen/54f16d44-2f2c-45df-83c1-5a9fbe4756ca> a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>;
mu:uuid "54f16d44-2f2c-45df-83c1-5a9fbe4756ca";
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/56c71a29-bff0-4b67-804d-2c98fd4bd10f> .
}
}
;
# OP-2084
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.lblod.info/id/bestuursorganen/1179426b-69d4-4974-8aa2-c4d46a22c9cc> a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>;
mu:uuid "1179426b-69d4-4974-8aa2-c4d46a22c9cc";
besluit:bestuurt <http://data.lblod.info/id/besturenVanDeEredienst/88cc9ab83a5a94caeb2f4b04615b20f2>;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b475fa47e17a8a05ae04a9e1fb9c9258>.
<http://data.lblod.info/id/bestuursorganen/b3db6a8d-d6cb-4b78-af87-b80dfda580c7> a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>;
mu:uuid "b3db6a8d-d6cb-4b78-af87-b80dfda580c7";
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/1179426b-69d4-4974-8aa2-c4d46a22c9cc> .
}
}

View File

@@ -0,0 +1,26 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/0b2f1b62-a15d-11ed-a8fc-0242ac120002>
rdf:type code:VeranderingsgebeurtenisResultaat;
mu:uuid "0b2f1b62-a15d-11ed-a8fc-0242ac120002" ;
code:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> ;
ext:resultingOrganization <http://data.lblod.info/id/bestuurseenheden/25b05f670144f166a485a1d0ac37faca672b36642cf1647d846010d6fe9cabb5> .
<http://data.lblod.info/id/veranderingsgebeurtenissen/63D7E7E07A8167ED439EC88E>
rdf:type org:ChangeEvent ;
mu:uuid "63D7E7E07A8167ED439EC88E" ;
ch:typeWijziging <http://lblod.data.gift/concepts/e4c3d1ef-a34d-43b0-a18c-f4e60e2c8af3> ;
org:resultingOrganization <http://data.lblod.info/id/bestuurseenheden/25b05f670144f166a485a1d0ac37faca672b36642cf1647d846010d6fe9cabb5> ;
org:originalOrganization <http://data.lblod.info/id/bestuurseenheden/25b05f670144f166a485a1d0ac37faca672b36642cf1647d846010d6fe9cabb5> ;
code:veranderingsgebeurtenisResultaat <http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/0b2f1b62-a15d-11ed-a8fc-0242ac120002> .
}
}

View File

@@ -0,0 +1,25 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?werkingsgebied geo:sfWithin ?locatie .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
VALUES ?bestuurseenheid {
<http://data.lblod.info/id/bestuurseenheden/9b93ff5308590c7d03c97c3b892910f912e695ad45c82465934996fb04dac859> # OP-2033
<http://data.lblod.info/id/bestuurseenheden/25b05f670144f166a485a1d0ac37faca672b36642cf1647d846010d6fe9cabb5> # OP-1994
}
?bestuurseenheid rdf:type besluit:Bestuurseenheid ;
besluit:werkingsgebied ?werkingsgebied .
?werkingsgebied geo:sfWithin ?locatie .
}
}

View File

@@ -0,0 +1,18 @@
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/gestructureerdeIdentificatoren/b4af7f119ea6a0b012e01ef8494c5f72>
generiek:lokaleIdentificator ?kbo .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/gestructureerdeIdentificatoren/b4af7f119ea6a0b012e01ef8494c5f72>
generiek:lokaleIdentificator "0655698422" .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/gestructureerdeIdentificatoren/b4af7f119ea6a0b012e01ef8494c5f72>
generiek:lokaleIdentificator ?kbo .
}
}

View File

@@ -0,0 +1,20 @@
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Centraal bestuur van de eredienst"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Gemeente"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Provincie"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Bestuur van de eredienst"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Autonoom gemeentebedrijf"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cc4e2d67-603b-4784-9b61-e50bac1ec089> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #OCMW vereniging"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/ea446861-2c51-45fa-afd3-4e4a37b71562> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Hulpverleningszone"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Politiezone"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Projectvereniging"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Opdrachthoudende vereniging"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Dienstverlenende vereniging"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #District"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #OCMW"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Autonoom provinciebedrijf"
}
}

View File

@@ -0,0 +1,33 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Inverse properties
{
?s org:holds ?o.
} => {
?o org:heldBy ?s.
}.
{
?s org:heldBy ?o.
} => {
?o org:holds ?s.
}.

View File

@@ -0,0 +1,150 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
# Hence the mapping is in two steps.
# The first step maps the DL persoon:gebruikteVoornaam to the OP counterpart
# and drops the DL persoon:gebruikteVoornaam statements with e:becomes
# A second reasoning will map DL foaf:name to OP persoon:gebruikteVoornaam
# Doing both at once would lead all DL foaf:names to incorrectly become foaf:givennames
# in OP
# First name
# persoon:gebruikteVoornaam => foaf:givenName
# Alternatieve voornaam
# foaf:name => persoon:gebruikteVoornaam
# Test Mock DL
# <http://example.org/person> persoon_loket:gebruikteVoornaam "Didier".
{
{
?s persoon_loket:gebruikteVoornaam ?o
} e:becomes {
?s foaf:givenName ?o
}
} => {
?s foaf:givenName ?o
}.
# First name
# persoon:gebruikteVoornaam => foaf:givenName (done in pre-processing)
# Alternatieve voornaam
# foaf:name => persoon:gebruikteVoornaam
# Test Mock LLB
# <http://example.org/person> foaf:name "Didier".
{
{
?s foaf:name ?o
} e:becomes {
?s persoon:gebruikteVoornaam ?o
}
} => {
?s persoon:gebruikteVoornaam ?o
}.
# Test
# ex:s <http://data.vlaanderen.be/ns/mandaat#start> "2019-01-01T19:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:start ?startDateTime.
# use backward arrow rule defined below
?startDateTime :dateFromDateTime ?startDate.
{
?s mandaat:start ?startDateTime
} e:becomes {
?s mandaat:start ?startDate
}.
} => {
?s mandaat:start ?startDate
}.
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:einde ?eindeDateTime.
# use backward arrow rule defined below
?eindeDateTime :dateFromDateTime ?eindeDate.
{
?s mandaat:einde ?eindeDateTime
} e:becomes {
?s mandaat:einde ?eindeDate
}.
} => {
?s mandaat:einde ?eindeDate
}.
# Backward arrow rule is like a function call.
# Removes time info in the returned date
# The user in DL selects a date via the UI.
# These dates are persisted as midnight dateTimes in UTC.
# Meaning that 1st of July is stored as
# "2022-06-30T22:00:00Z"^^xsd:dateTime
# and 1 December
# "2022-11-30T23:00:00Z"^^xsd:dateTime
# So, the following rule adds 2 hours to the datetime, and then takes the date part of the UTC date time
# to come to the date that the DL user selected (in CE(S)T)
{
?dateTime :dateFromDateTime ?date
} <= {
(?dateTimeLiteral xsd:dateTime) log:dtlit ?dateTime.
(?dateTime "PT2H"^^xsd:dayTimeDuration) func:add-dayTimeDuration-to-dateTime ?localDateTime.
(?localDateTimeLiteral xsd:dateTime) log:dtlit ?localDateTime.
(?localDateTimeLiteral 0 11) func:substring ?dateLiteral.
(?dateLiteral xsd:date) log:dtlit ?date.
}.
# ex:orgA besluit:classificatie <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
{
{
?s besluit:classificatie ?o
} e:becomes {
?s org:classification ?o
}
} => {
?s org:classification ?o
}.
# fix typo V -> v
# <http://data.lblod.info/id/adressen/606D972BC20E70000900001C> <https://data.vlaanderen.be/ns/adres#AdresVoorstelling.huisnummer> "1" .
{
{
?s adres:AdresVoorstelling.huisnummer ?o
} e:becomes {
?s adres:Adresvoorstelling.huisnummer ?o
}
} => {
?s adres:Adresvoorstelling.huisnummer ?o
}.
# Tijdspecialisatie
{
{
?s mandaat:isTijdspecialisatieVan ?o.
} e:becomes {
?s generiek:isTijdspecialisatieVan ?o.
}
} => {
?s generiek:isTijdspecialisatieVan ?o.
}.

View File

@@ -0,0 +1,534 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Map from http persoon to https persoon namespace.
## classes:
{
{
?s a persoon_loket:Afstamming
} e:becomes {
?s a persoon:Afstamming
}
} => {
?s a persoon:Afstamming
}.
{
{
?s a persoon_loket:BurgerlijkeStaat
} e:becomes {
?s a persoon:BurgerlijkeStaat
}
} => {
?s a persoon:BurgerlijkeStaat
}.
{
{
?s a persoon_loket:Domicilie
} e:becomes {
?s a persoon:Domicilie
}
} => {
?s a persoon:Domicilie
}.
{
{
?s a persoon_loket:Geboorte
} e:becomes {
?s a persoon:Geboorte
}
} => {
?s a persoon:Geboorte
}.
{
{
?s a persoon_loket:GeenInwoner
} e:becomes {
?s a persoon:GeenInwoner
}
} => {
?s a persoon:GeenInwoner
}.
{
{
?s a persoon_loket:GeregistreerdPersoon
} e:becomes {
?s a persoon:GeregistreerdPersoon
}
} => {
?s a persoon:GeregistreerdPersoon
}.
{
{
?s a persoon_loket:Gezin
} e:becomes {
?s a persoon:Gezin
}
} => {
?s a persoon:Gezin
}.
{
{
?s a persoon_loket:Gezinsrelatie
} e:becomes {
?s a persoon:Gezinsrelatie
}
} => {
?s a persoon:Gezinsrelatie
}.
{
{
?s a persoon_loket:Huwelijk
} e:becomes {
?s a persoon:Huwelijk
}
} => {
?s a persoon:Huwelijk
}.
{
{
?s a persoon_loket:Inwoner
} e:becomes {
?s a persoon:Inwoner
}
} => {
?s a persoon:Inwoner
}.
{
{
?s a persoon_loket:Inwonerschap
} e:becomes {
?s a persoon:Inwonerschap
}
} => {
?s a persoon:Inwonerschap
}.
{
{
?s a persoon_loket:Nationaliteit
} e:becomes {
?s a persoon:Nationaliteit
}
} => {
?s a persoon:Nationaliteit
}.
{
{
?s a persoon_loket:Overlijden
} e:becomes {
?s a persoon:Overlijden
}
} => {
?s a persoon:Overlijden
}.
{
{
?s a persoon_loket:PermanentInwoner
} e:becomes {
?s a persoon:PermanentInwoner
}
} => {
?s a persoon:PermanentInwoner
}.
{
{
?s a persoon_loket:Persoonsgebeurtenis
} e:becomes {
?s a persoon:Persoonsgebeurtenis
}
} => {
?s a persoon:Persoonsgebeurtenis
}.
{
{
?s a persoon_loket:Persoonsrelatie
} e:becomes {
?s a persoon:Persoonsrelatie
}
} => {
?s a persoon:Persoonsrelatie
}.
{
{
?s a persoon_loket:Samenwonen
} e:becomes {
?s a persoon:Samenwonen
}
} => {
?s a persoon:Samenwonen
}.
{
{
?s a persoon_loket:Staatsburger
} e:becomes {
?s a persoon:Staatsburger
}
} => {
?s a persoon:Staatsburger
}.
{
{
?s a persoon_loket:Staatsburgerschap
} e:becomes {
?s a persoon:Staatsburgerschap
}
} => {
?s a persoon:Staatsburgerschap
}.
{
{
?s a persoon_loket:TijdelijkInwoner
} e:becomes {
?s a persoon:TijdelijkInwoner
}
} => {
?s a persoon:TijdelijkInwoner
}.
{
{
?s a persoon_loket:Verblijfplaats
} e:becomes {
?s a persoon:Verblijfplaats
}
} => {
?s a persoon:Verblijfplaats
}.
{
{
?s a persoon_loket:Voogdij
} e:becomes {
?s a persoon:Voogdij
}
} => {
?s a persoon:Voogdij
}.
{
{
?s a persoon_loket:Vreemdeling
} e:becomes {
?s a persoon:Vreemdeling
}
} => {
?s a persoon:Vreemdeling
}.
## properties
{
{
?s persoon_loket:afstammingsType ?o
} e:becomes {
?s persoon:afstammingsType ?o
}
} => {
?s persoon:afstammingsType ?o
}.
{
{
?s persoon_loket:alternatieveNaam ?o
} e:becomes {
?s persoon:alternatieveNaam ?o
}
} => {
?s persoon:alternatieveNaam ?o
}.
{
{
?s persoon_loket:datum ?o
} e:becomes {
?s persoon:datum ?o
}
} => {
?s persoon:datum ?o
}.
{
{
?s persoon_loket:datumVanAfstamming ?o
} e:becomes {
?s persoon:datumVanAfstamming ?o
}
} => {
?s persoon:datumVanAfstamming ?o
}.
{
{
?s persoon_loket:gebruikteVoornaam ?o
} e:becomes {
?s persoon:gebruikteVoornaam ?o
}
} => {
?s persoon:gebruikteVoornaam ?o
}.
{
{
?s persoon_loket:geslacht ?o
} e:becomes {
?s persoon:geslacht ?o
}
} => {
?s persoon:geslacht ?o
}.
{
{
?s persoon_loket:gezinsadres ?o
} e:becomes {
?s persoon:gezinsadres ?o
}
} => {
?s persoon:gezinsadres ?o
}.
{
{
?s persoon_loket:gezinsrelatietype ?o
} e:becomes {
?s persoon:gezinsrelatietype ?o
}
} => {
?s persoon:gezinsrelatietype ?o
}.
{
{
?s persoon_loket:heeftBurgerlijkeStaat ?o
} e:becomes {
?s persoon:heeftBurgerlijkeStaat ?o
}
} => {
?s persoon:heeftBurgerlijkeStaat ?o
}.
{
{
?s persoon_loket:heeftGeboorte ?o
} e:becomes {
?s persoon:heeftGeboorte ?o
}
} => {
?s persoon:heeftGeboorte ?o
}.
{
{
?s persoon_loket:heeftInwonerschap ?o
} e:becomes {
?s persoon:heeftInwonerschap ?o
}
} => {
?s persoon:heeftInwonerschap ?o
}.
{
{
?s persoon_loket:heeftNationaliteit ?o
} e:becomes {
?s persoon:heeftNationaliteit ?o
}
} => {
?s persoon:heeftNationaliteit ?o
}.
{
{
?s persoon_loket:heeftOverlijden ?o
} e:becomes {
?s persoon:heeftOverlijden ?o
}
} => {
?s persoon:heeftOverlijden ?o
}.
{
{
?s persoon_loket:heeftPersoonsrelatie ?o
} e:becomes {
?s persoon:heeftPersoonsrelatie ?o
}
} => {
?s persoon:heeftPersoonsrelatie ?o
}.
{
{
?s persoon_loket:heeftStaatsburgerschap ?o
} e:becomes {
?s persoon:heeftStaatsburgerschap ?o
}
} => {
?s persoon:heeftStaatsburgerschap ?o
}.
{
{
?s persoon_loket:heeftVerblijfplaats ?o
} e:becomes {
?s persoon:heeftVerblijfplaats ?o
}
} => {
?s persoon:heeftVerblijfplaats ?o
}.
{
{
?s persoon_loket:Inwonerschap.binnenJurisdictie ?o
} e:becomes {
?s persoon:Inwonerschap.binnenJurisdictie ?o
}
} => {
?s persoon:Inwonerschap.binnenJurisdictie ?o
}.
{
{
?s persoon_loket:isHoofdVan ?o
} e:becomes {
?s persoon:isHoofdVan ?o
}
} => {
?s persoon:isHoofdVan ?o
}.
{
{
?s persoon_loket:isLidVan ?o
} e:becomes {
?s persoon:isLidVan ?o
}
} => {
?s persoon:isLidVan ?o
}.
{
{
?s persoon_loket:isRelatieMet ?o
} e:becomes {
?s persoon:isRelatieMet ?o
}
} => {
?s persoon:isRelatieMet ?o
}.
{
{
?s persoon_loket:land ?o
} e:becomes {
?s persoon:land ?o
}
} => {
?s persoon:land ?o
}.
{
{
?s persoon_loket:nationaliteit ?o
} e:becomes {
?s persoon:nationaliteit ?o
}
} => {
?s persoon:nationaliteit ?o
}.
{
{
?s persoon_loket:plaats ?o
} e:becomes {
?s persoon:plaats ?o
}
} => {
?s persoon:plaats ?o
}.
{
{
?s persoon_loket:registratie ?o
} e:becomes {
?s persoon:registratie ?o
}
} => {
?s persoon:registratie ?o
}.
{
{
?s persoon_loket:Staatsburgerschap.binnenJurisdictie ?o
} e:becomes {
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
}
} => {
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
}.
{
{
?s persoon_loket:type ?o
} e:becomes {
?s persoon:type ?o
}
} => {
?s persoon:type ?o
}.
{
{
?s persoon_loket:verblijfsadres ?o
} e:becomes {
?s persoon:verblijfsadres ?o
}
} => {
?s persoon:verblijfsadres ?o
}.
{
{
?s persoon_loket:volledigeNaam ?o
} e:becomes {
?s persoon:volledigeNaam ?o
}
} => {
?s persoon:volledigeNaam ?o
}.

View File

@@ -0,0 +1,538 @@
# Generated by producer-config-to-query.ipynb
## CLASSES
{
?s a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie>
} => {
?s a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie>
}.
{
?s a <http://data.lblod.info/vocabularies/erediensten/EredienstMandataris>
} => {
?s a <http://data.lblod.info/vocabularies/erediensten/EredienstMandataris>
}.
{
?s a <http://data.lblod.info/vocabularies/erediensten/RolBedienaar>
} => {
?s a <http://data.lblod.info/vocabularies/erediensten/RolBedienaar>
}.
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie>
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie>
}.
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris>
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris>
}.
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>
}.
{
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>
} => {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>
}.
{
?s a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>
} => {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>
}.
{
?s a <http://data.vlaanderen.be/ns/mandaat#Fractie>
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Fractie>
}.
{
?s a <http://data.vlaanderen.be/ns/mandaat#Mandaat>
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandaat>
}.
{
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris>
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris>
}.
# {
# ?s a <https://data.vlaanderen.be/ns/persoon#Geboorte>
# } => {
# ?s a <https://data.vlaanderen.be/ns/persoon#Geboorte>
# }.
{
?s a <http://mu.semte.ch/vocabularies/ext/BeleidsdomeinCode>
} => {
?s a <http://mu.semte.ch/vocabularies/ext/BeleidsdomeinCode>
}.
{
?s a <http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode>
} => {
?s a <http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode>
}.
{
?s a <http://mu.semte.ch/vocabularies/ext/BestuursfunctieCode>
} => {
?s a <http://mu.semte.ch/vocabularies/ext/BestuursfunctieCode>
}.
{
?s a <http://mu.semte.ch/vocabularies/ext/BestuursorgaanClassificatieCode>
} => {
?s a <http://mu.semte.ch/vocabularies/ext/BestuursorgaanClassificatieCode>
}.
{
?s a <http://mu.semte.ch/vocabularies/ext/MandatarisStatusCode>
} => {
?s a <http://mu.semte.ch/vocabularies/ext/MandatarisStatusCode>
}.
{
?s a <http://schema.org/ContactPoint>
} => {
?s a <http://schema.org/ContactPoint>
}.
# {
# ?s a <http://www.w3.org/ns/adms#Identifier>
# } => {
# ?s a <http://www.w3.org/ns/adms#Identifier>
# }.
{
?s a <http://www.w3.org/ns/locn#Address>
} => {
?s a <http://www.w3.org/ns/locn#Address>
}.
{
?s a <http://www.w3.org/ns/org#Membership>
} => {
?s a <http://www.w3.org/ns/org#Membership>
}.
{
?s a <http://www.w3.org/ns/person#Person>
} => {
?s a <http://www.w3.org/ns/person#Person>
}.
{
?s a <http://www.w3.org/ns/prov#Location>
} => {
?s a <http://www.w3.org/ns/prov#Location>
}.
## PROPERTIES
{
?s <http://data.lblod.info/vocabularies/contacthub/eindedatum> ?o
} => {
?s <http://data.lblod.info/vocabularies/contacthub/eindedatum> ?o
}.
{
?s <http://data.lblod.info/vocabularies/contacthub/startdatum> ?o
} => {
?s <http://data.lblod.info/vocabularies/contacthub/startdatum> ?o
}.
{
?s <http://data.lblod.info/vocabularies/erediensten/geplandeEinddatumAanstelling> ?o
} => {
?s <http://data.lblod.info/vocabularies/erediensten/geplandeEinddatumAanstelling> ?o
}.
{
?s <http://data.lblod.info/vocabularies/leidinggevenden/adresRegisterId> ?o
} => {
?s <http://data.lblod.info/vocabularies/leidinggevenden/adresRegisterId> ?o
}.
{
?s <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?o
} => {
?s <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?o
}.
{
?s <http://data.vlaanderen.be/ns/besluit#bestuurt> ?o
} => {
?s <http://data.vlaanderen.be/ns/besluit#bestuurt> ?o
}.
{
?s <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ?o
} => {
?s <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#aantalHouders> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#aantalHouders> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#beleidsdomein> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#beleidsdomein> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#bindingEinde> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#bindingEinde> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#bindingStart> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#bindingStart> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#einde> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#einde> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#isTijdelijkVervangenDoor> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#isTijdelijkVervangenDoor> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#rangorde> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#rangorde> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#start> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#start> ?o
}.
{
?s <http://data.vlaanderen.be/ns/mandaat#status> ?o
} => {
?s <http://data.vlaanderen.be/ns/mandaat#status> ?o
}.
{
?s <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?o
} => {
?s <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?o
}.
# {
# ?s <https://data.vlaanderen.be/ns/persoon#datum> ?o
# } => {
# ?s <https://data.vlaanderen.be/ns/persoon#datum> ?o
# }.
{
?s <https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam> ?o
} => {
?s <https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam> ?o
}.
# {
# ?s <https://data.vlaanderen.be/ns/persoon#geslacht> ?o
# } => {
# ?s <https://data.vlaanderen.be/ns/persoon#geslacht> ?o
# }.
# {
# ?s <https://data.vlaanderen.be/ns/persoon#heeftGeboorte> ?o
# } => {
# ?s <https://data.vlaanderen.be/ns/persoon#heeftGeboorte> ?o
# }.
# {
# ?s <https://data.vlaanderen.be/ns/persoon#heeftNationaliteit> ?o
# } => {
# ?s <https://data.vlaanderen.be/ns/persoon#heeftNationaliteit> ?o
# }.
{
?s <http://mu.semte.ch/vocabularies/core/uuid> ?o
} => {
?s <http://mu.semte.ch/vocabularies/core/uuid> ?o
}.
{
?s <http://mu.semte.ch/vocabularies/ext/secondaryContactPoint> ?o
} => {
?s <http://mu.semte.ch/vocabularies/ext/secondaryContactPoint> ?o
}.
{
?s <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ?o
} => {
?s <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ?o
}.
{
?s <http://schema.org/contactPoint> ?o
} => {
?s <http://schema.org/contactPoint> ?o
}.
{
?s <http://schema.org/contactType> ?o
} => {
?s <http://schema.org/contactType> ?o
}.
{
?s <http://schema.org/email> ?o
} => {
?s <http://schema.org/email> ?o
}.
{
?s <http://schema.org/faxNumber> ?o
} => {
?s <http://schema.org/faxNumber> ?o
}.
{
?s <http://schema.org/telephone> ?o
} => {
?s <http://schema.org/telephone> ?o
}.
{
?s <http://schema.org/url> ?o
} => {
?s <http://schema.org/url> ?o
}.
# {
# ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o
# } => {
# ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o
# }.
{
?s <http://www.w3.org/2000/01/rdf-schema#label> ?o
} => {
?s <http://www.w3.org/2000/01/rdf-schema#label> ?o
}.
# {
# ?s <http://www.w3.org/2002/07/owl#sameAs> ?o
# } => {
# ?s <http://www.w3.org/2002/07/owl#sameAs> ?o
# }.
{
?s <http://www.w3.org/2004/02/skos/core#altLabel> ?o
} => {
?s <http://www.w3.org/2004/02/skos/core#altLabel> ?o
}.
# {
# ?s <http://www.w3.org/2004/02/skos/core#notation> ?o
# } => {
# ?s <http://www.w3.org/2004/02/skos/core#notation> ?o
# }.
{
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?o
} => {
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?o
}.
{
?s <http://www.w3.org/2004/02/skos/core#scopeNote> ?o
} => {
?s <http://www.w3.org/2004/02/skos/core#scopeNote> ?o
}.
# {
# ?s <http://www.w3.org/ns/adms#identifier> ?o
# } => {
# ?s <http://www.w3.org/ns/adms#identifier> ?o
# }.
{
?s <http://www.w3.org/ns/locn#address> ?o
} => {
?s <http://www.w3.org/ns/locn#address> ?o
}.
{
?s <http://www.w3.org/ns/locn#addressArea> ?o
} => {
?s <http://www.w3.org/ns/locn#addressArea> ?o
}.
{
?s <http://www.w3.org/ns/locn#adminUnit1> ?o
} => {
?s <http://www.w3.org/ns/locn#adminUnit1> ?o
}.
{
?s <http://www.w3.org/ns/locn#adminUnit2> ?o
} => {
?s <http://www.w3.org/ns/locn#adminUnit2> ?o
}.
{
?s <http://www.w3.org/ns/locn#adminUnitL2> ?o
} => {
?s <http://www.w3.org/ns/locn#adminUnitL2> ?o
}.
{
?s <http://www.w3.org/ns/locn#fullAddress> ?o
} => {
?s <http://www.w3.org/ns/locn#fullAddress> ?o
}.
{
?s <http://www.w3.org/ns/locn#postCode> ?o
} => {
?s <http://www.w3.org/ns/locn#postCode> ?o
}.
{
?s <http://www.w3.org/ns/locn#thoroughfare> ?o
} => {
?s <http://www.w3.org/ns/locn#thoroughfare> ?o
}.
{
?s <http://www.w3.org/ns/org#classification> ?o
} => {
?s <http://www.w3.org/ns/org#classification> ?o
}.
{
?s <http://www.w3.org/ns/org#hasMembership> ?o
} => {
?s <http://www.w3.org/ns/org#hasMembership> ?o
}.
{
?s <http://www.w3.org/ns/org#hasPost> ?o
} => {
?s <http://www.w3.org/ns/org#hasPost> ?o
}.
{
?s <http://www.w3.org/ns/org#heldBy> ?o
} => {
?s <http://www.w3.org/ns/org#heldBy> ?o
}.
{
?s <http://www.w3.org/ns/org#holds> ?o
} => {
?s <http://www.w3.org/ns/org#holds> ?o
}.
{
?s <http://www.w3.org/ns/org#linkedTo> ?o
} => {
?s <http://www.w3.org/ns/org#linkedTo> ?o
}.
{
?s <http://www.w3.org/ns/org#memberOf> ?o
} => {
?s <http://www.w3.org/ns/org#memberOf> ?o
}.
{
?s <http://www.w3.org/ns/org#organisation> ?o
} => {
?s <http://www.w3.org/ns/org#organisation> ?o
}.
{
?s <http://www.w3.org/ns/org#role> ?o
} => {
?s <http://www.w3.org/ns/org#role> ?o
}.
{
?s <http://xmlns.com/foaf/0.1/familyName> ?o
} => {
?s <http://xmlns.com/foaf/0.1/familyName> ?o
}.
{
?s <http://xmlns.com/foaf/0.1/givenName> ?o
} => {
?s <http://xmlns.com/foaf/0.1/givenName> ?o
}.
{
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer> ?o
} => {
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer> ?o
}.
{
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer> ?o
} => {
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer> ?o
}.
{
?s <https://data.vlaanderen.be/ns/adres#gemeentenaam> ?o
} => {
?s <https://data.vlaanderen.be/ns/adres#gemeentenaam> ?o
}.
{
?s <https://data.vlaanderen.be/ns/adres#land> ?o
} => {
?s <https://data.vlaanderen.be/ns/adres#land> ?o
}.
{
?s <https://data.vlaanderen.be/ns/adres#postcode> ?o
} => {
?s <https://data.vlaanderen.be/ns/adres#postcode> ?o
}.
{
?s <https://data.vlaanderen.be/ns/adres#verwijstNaar> ?o
} => {
?s <https://data.vlaanderen.be/ns/adres#verwijstNaar> ?o
}.
{
?s <https://www.w3.org/ns/regorg#legalName> ?o
} => {
?s <https://www.w3.org/ns/regorg#legalName> ?o
}.

View File

@@ -0,0 +1,27 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Retract empty strings
{
{
?s ?p ""
} e:becomes {}.
} => {}.

View File

@@ -0,0 +1,62 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Rijksregisternummer
# Extend identifiers to match OP's model
# <http://example.org/tst#subject> skos:notation "00010100105".
{
?identifier skos:notation ?notation.
?notation string:notEqualIgnoringCase "Rijksregisternummer".
?identifier log:uri ?identifierString.
(?identifierString "STRUCTURED_IDENTIFIER") string:concatenation ?hashInput.
?hashInput crypto:md5 ?uuid.
("http://data.lblod.info/id/gestructureerdeIdentificatoren/" ?uuid) string:concatenation ?structuredIdString.
?structuredIdentifier log:uri ?structuredIdString.
{
?identifier skos:notation ?notation.
} e:becomes {
?identifier
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
skos:notation "Rijksregisternummer" .
}.
} => {
?identifier
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
skos:notation "Rijksregisternummer" .
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
mu:uuid ?uuid ;
generiek:lokaleIdentificator ?notation
}.
# identifier property in the export is only used for RRN.
{
{
?s adms:identifier ?o
} e:becomes {
?s persoon:registratie ?o
}
} => {
?s persoon:registratie ?o
}.

View File

@@ -0,0 +1,33 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Inverse properties
{
?s org:holds ?o.
} => {
?o org:heldBy ?s.
}.
{
?s org:heldBy ?o.
} => {
?o org:holds ?s.
}.

View File

@@ -0,0 +1,150 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
# Hence the mapping is in two steps.
# The first step maps the DL persoon:gebruikteVoornaam to the OP counterpart
# and drops the DL persoon:gebruikteVoornaam statements with e:becomes
# A second reasoning will map DL foaf:name to OP persoon:gebruikteVoornaam
# Doing both at once would lead all DL foaf:names to incorrectly become foaf:givennames
# in OP
# First name
# persoon:gebruikteVoornaam => foaf:givenName
# Alternatieve voornaam
# foaf:name => persoon:gebruikteVoornaam
# Test Mock DL
# <http://example.org/person> persoon_loket:gebruikteVoornaam "Didier".
{
{
?s persoon_loket:gebruikteVoornaam ?o
} e:becomes {
?s foaf:givenName ?o
}
} => {
?s foaf:givenName ?o
}.
# First name
# persoon:gebruikteVoornaam => foaf:givenName (done in pre-processing)
# Alternatieve voornaam
# foaf:name => persoon:gebruikteVoornaam
# Test Mock LLB
# <http://example.org/person> foaf:name "Didier".
{
{
?s foaf:name ?o
} e:becomes {
?s persoon:gebruikteVoornaam ?o
}
} => {
?s persoon:gebruikteVoornaam ?o
}.
# Test
# ex:s <http://data.vlaanderen.be/ns/mandaat#start> "2019-01-01T19:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:start ?startDateTime.
# use backward arrow rule defined below
?startDateTime :dateFromDateTime ?startDate.
{
?s mandaat:start ?startDateTime
} e:becomes {
?s mandaat:start ?startDate
}.
} => {
?s mandaat:start ?startDate
}.
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:einde ?eindeDateTime.
# use backward arrow rule defined below
?eindeDateTime :dateFromDateTime ?eindeDate.
{
?s mandaat:einde ?eindeDateTime
} e:becomes {
?s mandaat:einde ?eindeDate
}.
} => {
?s mandaat:einde ?eindeDate
}.
# Backward arrow rule is like a function call.
# Removes time info in the returned date
# The user in DL selects a date via the UI.
# These dates are persisted as midnight dateTimes in UTC.
# Meaning that 1st of July is stored as
# "2022-06-30T22:00:00Z"^^xsd:dateTime
# and 1 December
# "2022-11-30T23:00:00Z"^^xsd:dateTime
# So, the following rule adds 2 hours to the datetime, and then takes the date part of the UTC date time
# to come to the date that the DL user selected (in CE(S)T)
{
?dateTime :dateFromDateTime ?date
} <= {
(?dateTimeLiteral xsd:dateTime) log:dtlit ?dateTime.
(?dateTime "PT2H"^^xsd:dayTimeDuration) func:add-dayTimeDuration-to-dateTime ?localDateTime.
(?localDateTimeLiteral xsd:dateTime) log:dtlit ?localDateTime.
(?localDateTimeLiteral 0 11) func:substring ?dateLiteral.
(?dateLiteral xsd:date) log:dtlit ?date.
}.
# ex:orgA besluit:classificatie <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
{
{
?s besluit:classificatie ?o
} e:becomes {
?s org:classification ?o
}
} => {
?s org:classification ?o
}.
# fix typo V -> v
# <http://data.lblod.info/id/adressen/606D972BC20E70000900001C> <https://data.vlaanderen.be/ns/adres#AdresVoorstelling.huisnummer> "1" .
{
{
?s adres:AdresVoorstelling.huisnummer ?o
} e:becomes {
?s adres:Adresvoorstelling.huisnummer ?o
}
} => {
?s adres:Adresvoorstelling.huisnummer ?o
}.
# Tijdspecialisatie
{
{
?s mandaat:isTijdspecialisatieVan ?o.
} e:becomes {
?s generiek:isTijdspecialisatieVan ?o.
}
} => {
?s generiek:isTijdspecialisatieVan ?o.
}.

View File

@@ -0,0 +1,534 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Map from http persoon to https persoon namespace.
## classes:
{
{
?s a persoon_loket:Afstamming
} e:becomes {
?s a persoon:Afstamming
}
} => {
?s a persoon:Afstamming
}.
{
{
?s a persoon_loket:BurgerlijkeStaat
} e:becomes {
?s a persoon:BurgerlijkeStaat
}
} => {
?s a persoon:BurgerlijkeStaat
}.
{
{
?s a persoon_loket:Domicilie
} e:becomes {
?s a persoon:Domicilie
}
} => {
?s a persoon:Domicilie
}.
{
{
?s a persoon_loket:Geboorte
} e:becomes {
?s a persoon:Geboorte
}
} => {
?s a persoon:Geboorte
}.
{
{
?s a persoon_loket:GeenInwoner
} e:becomes {
?s a persoon:GeenInwoner
}
} => {
?s a persoon:GeenInwoner
}.
{
{
?s a persoon_loket:GeregistreerdPersoon
} e:becomes {
?s a persoon:GeregistreerdPersoon
}
} => {
?s a persoon:GeregistreerdPersoon
}.
{
{
?s a persoon_loket:Gezin
} e:becomes {
?s a persoon:Gezin
}
} => {
?s a persoon:Gezin
}.
{
{
?s a persoon_loket:Gezinsrelatie
} e:becomes {
?s a persoon:Gezinsrelatie
}
} => {
?s a persoon:Gezinsrelatie
}.
{
{
?s a persoon_loket:Huwelijk
} e:becomes {
?s a persoon:Huwelijk
}
} => {
?s a persoon:Huwelijk
}.
{
{
?s a persoon_loket:Inwoner
} e:becomes {
?s a persoon:Inwoner
}
} => {
?s a persoon:Inwoner
}.
{
{
?s a persoon_loket:Inwonerschap
} e:becomes {
?s a persoon:Inwonerschap
}
} => {
?s a persoon:Inwonerschap
}.
{
{
?s a persoon_loket:Nationaliteit
} e:becomes {
?s a persoon:Nationaliteit
}
} => {
?s a persoon:Nationaliteit
}.
{
{
?s a persoon_loket:Overlijden
} e:becomes {
?s a persoon:Overlijden
}
} => {
?s a persoon:Overlijden
}.
{
{
?s a persoon_loket:PermanentInwoner
} e:becomes {
?s a persoon:PermanentInwoner
}
} => {
?s a persoon:PermanentInwoner
}.
{
{
?s a persoon_loket:Persoonsgebeurtenis
} e:becomes {
?s a persoon:Persoonsgebeurtenis
}
} => {
?s a persoon:Persoonsgebeurtenis
}.
{
{
?s a persoon_loket:Persoonsrelatie
} e:becomes {
?s a persoon:Persoonsrelatie
}
} => {
?s a persoon:Persoonsrelatie
}.
{
{
?s a persoon_loket:Samenwonen
} e:becomes {
?s a persoon:Samenwonen
}
} => {
?s a persoon:Samenwonen
}.
{
{
?s a persoon_loket:Staatsburger
} e:becomes {
?s a persoon:Staatsburger
}
} => {
?s a persoon:Staatsburger
}.
{
{
?s a persoon_loket:Staatsburgerschap
} e:becomes {
?s a persoon:Staatsburgerschap
}
} => {
?s a persoon:Staatsburgerschap
}.
{
{
?s a persoon_loket:TijdelijkInwoner
} e:becomes {
?s a persoon:TijdelijkInwoner
}
} => {
?s a persoon:TijdelijkInwoner
}.
{
{
?s a persoon_loket:Verblijfplaats
} e:becomes {
?s a persoon:Verblijfplaats
}
} => {
?s a persoon:Verblijfplaats
}.
{
{
?s a persoon_loket:Voogdij
} e:becomes {
?s a persoon:Voogdij
}
} => {
?s a persoon:Voogdij
}.
{
{
?s a persoon_loket:Vreemdeling
} e:becomes {
?s a persoon:Vreemdeling
}
} => {
?s a persoon:Vreemdeling
}.
## properties
{
{
?s persoon_loket:afstammingsType ?o
} e:becomes {
?s persoon:afstammingsType ?o
}
} => {
?s persoon:afstammingsType ?o
}.
{
{
?s persoon_loket:alternatieveNaam ?o
} e:becomes {
?s persoon:alternatieveNaam ?o
}
} => {
?s persoon:alternatieveNaam ?o
}.
{
{
?s persoon_loket:datum ?o
} e:becomes {
?s persoon:datum ?o
}
} => {
?s persoon:datum ?o
}.
{
{
?s persoon_loket:datumVanAfstamming ?o
} e:becomes {
?s persoon:datumVanAfstamming ?o
}
} => {
?s persoon:datumVanAfstamming ?o
}.
{
{
?s persoon_loket:gebruikteVoornaam ?o
} e:becomes {
?s persoon:gebruikteVoornaam ?o
}
} => {
?s persoon:gebruikteVoornaam ?o
}.
{
{
?s persoon_loket:geslacht ?o
} e:becomes {
?s persoon:geslacht ?o
}
} => {
?s persoon:geslacht ?o
}.
{
{
?s persoon_loket:gezinsadres ?o
} e:becomes {
?s persoon:gezinsadres ?o
}
} => {
?s persoon:gezinsadres ?o
}.
{
{
?s persoon_loket:gezinsrelatietype ?o
} e:becomes {
?s persoon:gezinsrelatietype ?o
}
} => {
?s persoon:gezinsrelatietype ?o
}.
{
{
?s persoon_loket:heeftBurgerlijkeStaat ?o
} e:becomes {
?s persoon:heeftBurgerlijkeStaat ?o
}
} => {
?s persoon:heeftBurgerlijkeStaat ?o
}.
{
{
?s persoon_loket:heeftGeboorte ?o
} e:becomes {
?s persoon:heeftGeboorte ?o
}
} => {
?s persoon:heeftGeboorte ?o
}.
{
{
?s persoon_loket:heeftInwonerschap ?o
} e:becomes {
?s persoon:heeftInwonerschap ?o
}
} => {
?s persoon:heeftInwonerschap ?o
}.
{
{
?s persoon_loket:heeftNationaliteit ?o
} e:becomes {
?s persoon:heeftNationaliteit ?o
}
} => {
?s persoon:heeftNationaliteit ?o
}.
{
{
?s persoon_loket:heeftOverlijden ?o
} e:becomes {
?s persoon:heeftOverlijden ?o
}
} => {
?s persoon:heeftOverlijden ?o
}.
{
{
?s persoon_loket:heeftPersoonsrelatie ?o
} e:becomes {
?s persoon:heeftPersoonsrelatie ?o
}
} => {
?s persoon:heeftPersoonsrelatie ?o
}.
{
{
?s persoon_loket:heeftStaatsburgerschap ?o
} e:becomes {
?s persoon:heeftStaatsburgerschap ?o
}
} => {
?s persoon:heeftStaatsburgerschap ?o
}.
{
{
?s persoon_loket:heeftVerblijfplaats ?o
} e:becomes {
?s persoon:heeftVerblijfplaats ?o
}
} => {
?s persoon:heeftVerblijfplaats ?o
}.
{
{
?s persoon_loket:Inwonerschap.binnenJurisdictie ?o
} e:becomes {
?s persoon:Inwonerschap.binnenJurisdictie ?o
}
} => {
?s persoon:Inwonerschap.binnenJurisdictie ?o
}.
{
{
?s persoon_loket:isHoofdVan ?o
} e:becomes {
?s persoon:isHoofdVan ?o
}
} => {
?s persoon:isHoofdVan ?o
}.
{
{
?s persoon_loket:isLidVan ?o
} e:becomes {
?s persoon:isLidVan ?o
}
} => {
?s persoon:isLidVan ?o
}.
{
{
?s persoon_loket:isRelatieMet ?o
} e:becomes {
?s persoon:isRelatieMet ?o
}
} => {
?s persoon:isRelatieMet ?o
}.
{
{
?s persoon_loket:land ?o
} e:becomes {
?s persoon:land ?o
}
} => {
?s persoon:land ?o
}.
{
{
?s persoon_loket:nationaliteit ?o
} e:becomes {
?s persoon:nationaliteit ?o
}
} => {
?s persoon:nationaliteit ?o
}.
{
{
?s persoon_loket:plaats ?o
} e:becomes {
?s persoon:plaats ?o
}
} => {
?s persoon:plaats ?o
}.
{
{
?s persoon_loket:registratie ?o
} e:becomes {
?s persoon:registratie ?o
}
} => {
?s persoon:registratie ?o
}.
{
{
?s persoon_loket:Staatsburgerschap.binnenJurisdictie ?o
} e:becomes {
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
}
} => {
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
}.
{
{
?s persoon_loket:type ?o
} e:becomes {
?s persoon:type ?o
}
} => {
?s persoon:type ?o
}.
{
{
?s persoon_loket:verblijfsadres ?o
} e:becomes {
?s persoon:verblijfsadres ?o
}
} => {
?s persoon:verblijfsadres ?o
}.
{
{
?s persoon_loket:volledigeNaam ?o
} e:becomes {
?s persoon:volledigeNaam ?o
}
} => {
?s persoon:volledigeNaam ?o
}.

View File

@@ -0,0 +1,27 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Retract empty strings
{
{
?s ?p ""
} e:becomes {}.
} => {}.

View File

@@ -0,0 +1,62 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Rijksregisternummer
# Extend identifiers to match OP's model
# <http://example.org/tst#subject> skos:notation "00010100105".
{
?identifier skos:notation ?notation.
?notation string:notEqualIgnoringCase "Rijksregisternummer".
?identifier log:uri ?identifierString.
(?identifierString "STRUCTURED_IDENTIFIER") string:concatenation ?hashInput.
?hashInput crypto:md5 ?uuid.
("http://data.lblod.info/id/gestructureerdeIdentificatoren/" ?uuid) string:concatenation ?structuredIdString.
?structuredIdentifier log:uri ?structuredIdString.
{
?identifier skos:notation ?notation.
} e:becomes {
?identifier
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
skos:notation "Rijksregisternummer" .
}.
} => {
?identifier
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
skos:notation "Rijksregisternummer" .
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
mu:uuid ?uuid ;
generiek:lokaleIdentificator ?notation
}.
# identifier property in the export is only used for RRN.
{
{
?s adms:identifier ?o
} e:becomes {
?s persoon:registratie ?o
}
} => {
?s persoon:registratie ?o
}.

View File

@@ -0,0 +1,33 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Inverse properties
{
?s org:holds ?o.
} => {
?o org:heldBy ?s.
}.
{
?s org:heldBy ?o.
} => {
?o org:holds ?s.
}.

View File

@@ -0,0 +1,150 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
# Hence the mapping is in two steps.
# The first step maps the DL persoon:gebruikteVoornaam to the OP counterpart
# and drops the DL persoon:gebruikteVoornaam statements with e:becomes
# A second reasoning will map DL foaf:name to OP persoon:gebruikteVoornaam
# Doing both at once would lead all DL foaf:names to incorrectly become foaf:givennames
# in OP
# First name
# persoon:gebruikteVoornaam => foaf:givenName
# Alternatieve voornaam
# foaf:name => persoon:gebruikteVoornaam
# Test Mock DL
# <http://example.org/person> persoon_loket:gebruikteVoornaam "Didier".
{
{
?s persoon_loket:gebruikteVoornaam ?o
} e:becomes {
?s foaf:givenName ?o
}
} => {
?s foaf:givenName ?o
}.
# First name
# persoon:gebruikteVoornaam => foaf:givenName (done in pre-processing)
# Alternatieve voornaam
# foaf:name => persoon:gebruikteVoornaam
# Test Mock LLB
# <http://example.org/person> foaf:name "Didier".
{
{
?s foaf:name ?o
} e:becomes {
?s persoon:gebruikteVoornaam ?o
}
} => {
?s persoon:gebruikteVoornaam ?o
}.
# Test
# ex:s <http://data.vlaanderen.be/ns/mandaat#start> "2019-01-01T19:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:start ?startDateTime.
# use backward arrow rule defined below
?startDateTime :dateFromDateTime ?startDate.
{
?s mandaat:start ?startDateTime
} e:becomes {
?s mandaat:start ?startDate
}.
} => {
?s mandaat:start ?startDate
}.
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:einde ?eindeDateTime.
# use backward arrow rule defined below
?eindeDateTime :dateFromDateTime ?eindeDate.
{
?s mandaat:einde ?eindeDateTime
} e:becomes {
?s mandaat:einde ?eindeDate
}.
} => {
?s mandaat:einde ?eindeDate
}.
# Backward arrow rule is like a function call.
# Removes time info in the returned date
# The user in DL selects a date via the UI.
# These dates are persisted as midnight dateTimes in UTC.
# Meaning that 1st of July is stored as
# "2022-06-30T22:00:00Z"^^xsd:dateTime
# and 1 December
# "2022-11-30T23:00:00Z"^^xsd:dateTime
# So, the following rule adds 2 hours to the datetime, and then takes the date part of the UTC date time
# to come to the date that the DL user selected (in CE(S)T)
{
?dateTime :dateFromDateTime ?date
} <= {
(?dateTimeLiteral xsd:dateTime) log:dtlit ?dateTime.
(?dateTime "PT2H"^^xsd:dayTimeDuration) func:add-dayTimeDuration-to-dateTime ?localDateTime.
(?localDateTimeLiteral xsd:dateTime) log:dtlit ?localDateTime.
(?localDateTimeLiteral 0 11) func:substring ?dateLiteral.
(?dateLiteral xsd:date) log:dtlit ?date.
}.
# ex:orgA besluit:classificatie <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
{
{
?s besluit:classificatie ?o
} e:becomes {
?s org:classification ?o
}
} => {
?s org:classification ?o
}.
# fix typo V -> v
# <http://data.lblod.info/id/adressen/606D972BC20E70000900001C> <https://data.vlaanderen.be/ns/adres#AdresVoorstelling.huisnummer> "1" .
{
{
?s adres:AdresVoorstelling.huisnummer ?o
} e:becomes {
?s adres:Adresvoorstelling.huisnummer ?o
}
} => {
?s adres:Adresvoorstelling.huisnummer ?o
}.
# Tijdspecialisatie
{
{
?s mandaat:isTijdspecialisatieVan ?o.
} e:becomes {
?s generiek:isTijdspecialisatieVan ?o.
}
} => {
?s generiek:isTijdspecialisatieVan ?o.
}.

View File

@@ -0,0 +1,534 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Map from http persoon to https persoon namespace.
## classes:
{
{
?s a persoon_loket:Afstamming
} e:becomes {
?s a persoon:Afstamming
}
} => {
?s a persoon:Afstamming
}.
{
{
?s a persoon_loket:BurgerlijkeStaat
} e:becomes {
?s a persoon:BurgerlijkeStaat
}
} => {
?s a persoon:BurgerlijkeStaat
}.
{
{
?s a persoon_loket:Domicilie
} e:becomes {
?s a persoon:Domicilie
}
} => {
?s a persoon:Domicilie
}.
{
{
?s a persoon_loket:Geboorte
} e:becomes {
?s a persoon:Geboorte
}
} => {
?s a persoon:Geboorte
}.
{
{
?s a persoon_loket:GeenInwoner
} e:becomes {
?s a persoon:GeenInwoner
}
} => {
?s a persoon:GeenInwoner
}.
{
{
?s a persoon_loket:GeregistreerdPersoon
} e:becomes {
?s a persoon:GeregistreerdPersoon
}
} => {
?s a persoon:GeregistreerdPersoon
}.
{
{
?s a persoon_loket:Gezin
} e:becomes {
?s a persoon:Gezin
}
} => {
?s a persoon:Gezin
}.
{
{
?s a persoon_loket:Gezinsrelatie
} e:becomes {
?s a persoon:Gezinsrelatie
}
} => {
?s a persoon:Gezinsrelatie
}.
{
{
?s a persoon_loket:Huwelijk
} e:becomes {
?s a persoon:Huwelijk
}
} => {
?s a persoon:Huwelijk
}.
{
{
?s a persoon_loket:Inwoner
} e:becomes {
?s a persoon:Inwoner
}
} => {
?s a persoon:Inwoner
}.
{
{
?s a persoon_loket:Inwonerschap
} e:becomes {
?s a persoon:Inwonerschap
}
} => {
?s a persoon:Inwonerschap
}.
{
{
?s a persoon_loket:Nationaliteit
} e:becomes {
?s a persoon:Nationaliteit
}
} => {
?s a persoon:Nationaliteit
}.
{
{
?s a persoon_loket:Overlijden
} e:becomes {
?s a persoon:Overlijden
}
} => {
?s a persoon:Overlijden
}.
{
{
?s a persoon_loket:PermanentInwoner
} e:becomes {
?s a persoon:PermanentInwoner
}
} => {
?s a persoon:PermanentInwoner
}.
{
{
?s a persoon_loket:Persoonsgebeurtenis
} e:becomes {
?s a persoon:Persoonsgebeurtenis
}
} => {
?s a persoon:Persoonsgebeurtenis
}.
{
{
?s a persoon_loket:Persoonsrelatie
} e:becomes {
?s a persoon:Persoonsrelatie
}
} => {
?s a persoon:Persoonsrelatie
}.
{
{
?s a persoon_loket:Samenwonen
} e:becomes {
?s a persoon:Samenwonen
}
} => {
?s a persoon:Samenwonen
}.
{
{
?s a persoon_loket:Staatsburger
} e:becomes {
?s a persoon:Staatsburger
}
} => {
?s a persoon:Staatsburger
}.
{
{
?s a persoon_loket:Staatsburgerschap
} e:becomes {
?s a persoon:Staatsburgerschap
}
} => {
?s a persoon:Staatsburgerschap
}.
{
{
?s a persoon_loket:TijdelijkInwoner
} e:becomes {
?s a persoon:TijdelijkInwoner
}
} => {
?s a persoon:TijdelijkInwoner
}.
{
{
?s a persoon_loket:Verblijfplaats
} e:becomes {
?s a persoon:Verblijfplaats
}
} => {
?s a persoon:Verblijfplaats
}.
{
{
?s a persoon_loket:Voogdij
} e:becomes {
?s a persoon:Voogdij
}
} => {
?s a persoon:Voogdij
}.
{
{
?s a persoon_loket:Vreemdeling
} e:becomes {
?s a persoon:Vreemdeling
}
} => {
?s a persoon:Vreemdeling
}.
## properties
{
{
?s persoon_loket:afstammingsType ?o
} e:becomes {
?s persoon:afstammingsType ?o
}
} => {
?s persoon:afstammingsType ?o
}.
{
{
?s persoon_loket:alternatieveNaam ?o
} e:becomes {
?s persoon:alternatieveNaam ?o
}
} => {
?s persoon:alternatieveNaam ?o
}.
{
{
?s persoon_loket:datum ?o
} e:becomes {
?s persoon:datum ?o
}
} => {
?s persoon:datum ?o
}.
{
{
?s persoon_loket:datumVanAfstamming ?o
} e:becomes {
?s persoon:datumVanAfstamming ?o
}
} => {
?s persoon:datumVanAfstamming ?o
}.
{
{
?s persoon_loket:gebruikteVoornaam ?o
} e:becomes {
?s persoon:gebruikteVoornaam ?o
}
} => {
?s persoon:gebruikteVoornaam ?o
}.
{
{
?s persoon_loket:geslacht ?o
} e:becomes {
?s persoon:geslacht ?o
}
} => {
?s persoon:geslacht ?o
}.
{
{
?s persoon_loket:gezinsadres ?o
} e:becomes {
?s persoon:gezinsadres ?o
}
} => {
?s persoon:gezinsadres ?o
}.
{
{
?s persoon_loket:gezinsrelatietype ?o
} e:becomes {
?s persoon:gezinsrelatietype ?o
}
} => {
?s persoon:gezinsrelatietype ?o
}.
{
{
?s persoon_loket:heeftBurgerlijkeStaat ?o
} e:becomes {
?s persoon:heeftBurgerlijkeStaat ?o
}
} => {
?s persoon:heeftBurgerlijkeStaat ?o
}.
{
{
?s persoon_loket:heeftGeboorte ?o
} e:becomes {
?s persoon:heeftGeboorte ?o
}
} => {
?s persoon:heeftGeboorte ?o
}.
{
{
?s persoon_loket:heeftInwonerschap ?o
} e:becomes {
?s persoon:heeftInwonerschap ?o
}
} => {
?s persoon:heeftInwonerschap ?o
}.
{
{
?s persoon_loket:heeftNationaliteit ?o
} e:becomes {
?s persoon:heeftNationaliteit ?o
}
} => {
?s persoon:heeftNationaliteit ?o
}.
{
{
?s persoon_loket:heeftOverlijden ?o
} e:becomes {
?s persoon:heeftOverlijden ?o
}
} => {
?s persoon:heeftOverlijden ?o
}.
{
{
?s persoon_loket:heeftPersoonsrelatie ?o
} e:becomes {
?s persoon:heeftPersoonsrelatie ?o
}
} => {
?s persoon:heeftPersoonsrelatie ?o
}.
{
{
?s persoon_loket:heeftStaatsburgerschap ?o
} e:becomes {
?s persoon:heeftStaatsburgerschap ?o
}
} => {
?s persoon:heeftStaatsburgerschap ?o
}.
{
{
?s persoon_loket:heeftVerblijfplaats ?o
} e:becomes {
?s persoon:heeftVerblijfplaats ?o
}
} => {
?s persoon:heeftVerblijfplaats ?o
}.
{
{
?s persoon_loket:Inwonerschap.binnenJurisdictie ?o
} e:becomes {
?s persoon:Inwonerschap.binnenJurisdictie ?o
}
} => {
?s persoon:Inwonerschap.binnenJurisdictie ?o
}.
{
{
?s persoon_loket:isHoofdVan ?o
} e:becomes {
?s persoon:isHoofdVan ?o
}
} => {
?s persoon:isHoofdVan ?o
}.
{
{
?s persoon_loket:isLidVan ?o
} e:becomes {
?s persoon:isLidVan ?o
}
} => {
?s persoon:isLidVan ?o
}.
{
{
?s persoon_loket:isRelatieMet ?o
} e:becomes {
?s persoon:isRelatieMet ?o
}
} => {
?s persoon:isRelatieMet ?o
}.
{
{
?s persoon_loket:land ?o
} e:becomes {
?s persoon:land ?o
}
} => {
?s persoon:land ?o
}.
{
{
?s persoon_loket:nationaliteit ?o
} e:becomes {
?s persoon:nationaliteit ?o
}
} => {
?s persoon:nationaliteit ?o
}.
{
{
?s persoon_loket:plaats ?o
} e:becomes {
?s persoon:plaats ?o
}
} => {
?s persoon:plaats ?o
}.
{
{
?s persoon_loket:registratie ?o
} e:becomes {
?s persoon:registratie ?o
}
} => {
?s persoon:registratie ?o
}.
{
{
?s persoon_loket:Staatsburgerschap.binnenJurisdictie ?o
} e:becomes {
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
}
} => {
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
}.
{
{
?s persoon_loket:type ?o
} e:becomes {
?s persoon:type ?o
}
} => {
?s persoon:type ?o
}.
{
{
?s persoon_loket:verblijfsadres ?o
} e:becomes {
?s persoon:verblijfsadres ?o
}
} => {
?s persoon:verblijfsadres ?o
}.
{
{
?s persoon_loket:volledigeNaam ?o
} e:becomes {
?s persoon:volledigeNaam ?o
}
} => {
?s persoon:volledigeNaam ?o
}.

View File

@@ -0,0 +1,90 @@
PREFIX : <#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
PREFIX ex: <http://example.org/test#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Rijksregisternummer
# Extend identifiers to match OP's model
# <http://example.org/tst#subject> skos:notation "00010100105".
{
?identifier
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
skos:notation "Rijksregisternummer" .
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
mu:uuid ?uuid ;
generiek:lokaleIdentificator ?notation
} => {
?identifier
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
skos:notation "Rijksregisternummer" .
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
mu:uuid ?uuid ;
generiek:lokaleIdentificator ?notation
}.
# identifier property in the export is only used for RRN.
{
?s persoon:registratie ?o
} => {
?s persoon:registratie ?o
}.
{
?s a <http://www.w3.org/ns/adms#Identifier>
} => {
?s a <http://www.w3.org/ns/adms#Identifier>
}.
# Nationality
{
?s persoon:heeftNationaliteit ?o
} => {
?s persoon:heeftNationaliteit ?o
}.
# Birth and related attributes
{
?s a persoon:Geboorte;
?p ?o.
} => {
?s a persoon:Geboorte;
?p ?o.
}.
{
?s persoon:heeftGeboorte ?o
} => {
?s persoon:heeftGeboorte ?o
}.
{
?s persoon:datum ?o
} => {
?s persoon:datum ?o
}.
# Gender
{
?s persoon:geslacht ?o
} => {
?s persoon:geslacht ?o
}.

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