Compare commits

...

194 Commits

Author SHA1 Message Date
Claire Lovisa
61924d37d9 Import contact info of AGBs and APBs (#315) 2023-08-04 11:01:58 +02:00
Claire Lovisa
43caffdce8 Merge pull request #314 from lblod/fix/add-missing-organen-and-functies-to-agbs-and-apbs
Fix date format and missing data on AGBs/APBs
2023-08-02 10:04:40 +02:00
Claire Lovisa
0d3ba99048 Fix date format and missing data on AGBs/APBs 2023-08-01 20:53:52 +02:00
Claire Lovisa
8b40cf597f Split too big migrations 2023-07-31 18:04:48 +02:00
Claire Lovisa
f78e7ad99a Bump frontend 2023-07-31 17:22:40 +02:00
Claire Lovisa
8fb0bd245a Merge branch 'development' 2023-07-31 17:14:41 +02:00
Claire Lovisa
cdfe850b47 Link admin units with OVO uris (#312) 2023-07-31 16:14:01 +02:00
Claire Lovisa
ab6da30578 Remove outdated mandatarissen data (#311) 2023-07-31 11:28:27 +02:00
Claire Lovisa
33740d1749 Remove torii redirect dispatching (#309)
* Remove torii redirect dispatching

* Add Caddy dev config
2023-07-31 10:44:09 +02:00
Claire Lovisa
245786a94a Add worship editor to dev search index 2023-07-27 12:05:38 +02:00
Claire Lovisa
5d30fa368d Merge pull request #310 from lblod/feature/import-agb-apb-addresses
Import agb/apb addresses
2023-07-27 11:45:17 +02:00
Oscar
8bc16f1551 changed to correct uris 2023-07-27 11:35:55 +02:00
Oscar
412ebf3220 fix agb names, and match first on kbo 2023-07-27 11:35:50 +02:00
Oscar
46da33334a change casing of provinces and fix missing data 2023-07-27 11:35:43 +02:00
Oscar
d27a99cdee changed to primary site, and changed wrong uuid of agb brugge 2023-07-27 11:35:37 +02:00
Oscar
04b689b9d2 fix migration 2023-07-27 11:35:30 +02:00
Oscar
29d0203311 Add agb brugge and the address of other agbs 2023-07-27 11:35:07 +02:00
Claire Lovisa
af56734cde Merge branch 'hotfix/v1.17.x' 2023-07-26 14:51:26 +02:00
Claire Lovisa
e948aea401 Merge pull request #308 from lblod/fix/variable-name-worship-consumer
Variable name worship consumer
2023-07-26 14:23:58 +02:00
Claire Lovisa
e89aba8d53 Fix wrong variable name in consumer config 2023-07-26 14:22:28 +02:00
Claire Lovisa
43948054aa Merge pull request #307 from lblod/feature/import-ovo-districts-eb-cb
Import OVO codes for districts, worship and central worship services
2023-07-25 10:26:08 +02:00
Elena Poelman
024a090453 Merge pull request #302 from lblod/feature/ldes-data-pusher-include-identifiers
Include local-identifier and label for each identifier of organizations sent to ldes feed
2023-07-20 10:44:55 +02:00
Claire Lovisa
f34672d697 Import OVO codes for districts, worship and central worship services 2023-07-20 10:11:59 +02:00
Elena Poelman
14f18793e7 Merge pull request #305 from lblod/internal/update-ldes-backend
Update ldes-backend image to 0.4.0
2023-07-17 19:06:39 +02:00
b7f70202bd add BASE_URL env var to docker-compose dev 2023-07-14 10:30:20 +02:00
1aa950a521 update ldes-backend image to 0.4.0 2023-07-14 10:28:45 +02:00
Claire Lovisa
f81e591238 Merge branch 'hotfix/v1.17.x' 2023-07-13 14:16:34 +02:00
Claire Lovisa
c82317e2bb Bump frontend 2023-07-13 14:15:10 +02:00
Claire Lovisa
e38769fb1f Merge pull request #303 from lblod/hotfix/1.17.x
Hotfix/1.17.x
2023-07-13 14:12:17 +02:00
Boris De Vloed
f4ea1e7307 Merge branch 'master' into hotfix/1.17.x 2023-07-13 10:17:04 +02:00
Boris De Vloed
cc49c6c5b7 Merge pull request #301 from lblod/hotfix-1.17.3
Hotfix 1.17.3
2023-07-13 10:07:58 +02:00
4581fd0b61 include local-identifier and label for each identifier of organizations sent to ldes feed 2023-07-13 09:04:19 +02:00
Elena Poelman
a8d16d966f Merge pull request #299 from lblod/internal/update-ldes-backend
Update ldes-backend image to 0.3.3
2023-07-12 06:41:46 +02:00
e34561f4e7 update ldes-backend image to 0.3.3 2023-07-11 14:04:04 +02:00
Claire Lovisa
9f4ec2f3d9 Bump construct-administrative-unit-relationships-service 2023-07-07 14:40:41 +02:00
Claire Lovisa
90c4105c10 Add missing links between concept schemes for agb and apb positions (#297) 2023-07-07 11:05:02 +02:00
Nordine Bittich
35a11c917d AGB/APB: import organen from loket (#293) 2023-07-06 11:39:13 +02:00
Boris De Vloed
996be3625c add country to addresses (#291)
* added country

* Bump adressenregister

---------

Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2023-07-04 14:41:37 +02:00
Claire Lovisa
5b742e1161 Add migration updating RO status (#294) 2023-07-04 14:04:38 +02:00
Nordine Bittich
4b92e0a9a6 agb apb migration (#292) 2023-06-29 13:03:15 +02:00
Boris De Vloed
768b1bc5df add missing fulladdress 2023-06-27 10:57:27 +02:00
Boris De Vloed
8083deffe3 add missing fulladdress 2023-06-23 10:43:03 +02:00
Boris De Vloed
8c869af7f1 uuid 2023-06-23 10:11:36 +02:00
Boris De Vloed
7c5ab8ec4f added moslimraad 2023-06-23 10:11:26 +02:00
Nordine Bittich
91e06501d3 remove municipality for Kerkfabriek St.-Martinus van Lievegem (Zomergem) (#285) 2023-06-23 09:04:59 +02:00
Boris De Vloed
aa06ae84c5 Merge pull request #289 from lblod/fix/add-moslimraad
added moslimraad
2023-06-23 09:04:09 +02:00
Nordine Bittich
ba802bfaf6 bump mu search 2023-06-23 08:54:02 +02:00
Boris De Vloed
496f52512a uuid 2023-06-22 17:03:15 +02:00
Boris De Vloed
8f14716eb4 added moslimraad 2023-06-22 16:14:34 +02:00
Boris De Vloed
1a1b0937c2 Merge pull request #286 from lblod/fix/street-and-bus-number-concatination
add missing space
2023-06-16 12:58:14 +02:00
Boris De Vloed
523247b4da add missing space 2023-06-16 10:11:43 +00:00
Nordine Bittich
ba14cdf1e8 bump mu search 2023-06-16 10:00:45 +02:00
Nordine Bittich
08f3424e11 remove municipality for Kerkfabriek St.-Martinus van Lievegem (Zomergem) (#285) 2023-06-15 17:31:04 +02:00
Nordine Bittich
a9efd0564a add founded by / is founder of (#283) 2023-06-13 11:05:49 +02:00
Nordine Bittich
9fa3e6e30d sharepoint id for district, municipality, province & ocmw (#282) 2023-06-07 16:11:10 +02:00
Nordine Bittich
2662c962f9 rename concept (#281) 2023-05-31 11:59:34 +02:00
Nordine Bittich
313c13e28c bump frontend 2023-05-25 09:56:29 +02:00
Nordine Bittich
5948f3ece6 bump frontend 2023-05-25 09:47:13 +02:00
Nordine Bittich
da4bece141 bump construct-administrative-unit-relationships 2023-05-24 10:26:59 +02:00
Nordine Bittich
0c0a644225 Feat/onboarding agb apb (#255) 2023-05-24 10:20:08 +02:00
Nordine Bittich
80b72fe09d bump frontend prerelease 2023-05-24 09:46:51 +02:00
Claire Lovisa
b7b6d2bc40 Add dev profile to ldes feed (#279)
* Add dev profile to ldes feed

* Comment out ldes rules from main delta config
2023-05-22 14:40:51 +02:00
Nordine Bittich
fc22377b28 adjust change event (#280) 2023-05-22 14:21:32 +02:00
Nordine Bittich
b13d6f7b03 adjust change event (#280) 2023-05-22 14:20:55 +02:00
Nordine Bittich
4078f8149d bump mu-cl-resource 2023-05-22 13:48:29 +02:00
Nordine Bittich
4c356113aa bump mu-cl-resource 2023-05-22 13:47:58 +02:00
Claire Lovisa
e617b471c4 Merge branch 'master' into development 2023-05-22 09:46:33 +02:00
Nordine Bittich
3a23aa3c2d Fix/limit positions to types we already onboarded rebased (#278)
* rebased

* Fix n3q query for mandatarissen

---------

Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2023-05-15 18:21:05 +02:00
Nordine Bittich
7c136c5494 Fix/limit positions to types we already onboarded rebased (#278)
* rebased

* Fix n3q query for mandatarissen

---------

Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2023-05-15 18:20:54 +02:00
Nordine Bittich
68b5c67a16 Fix/limit positions to types we already onboarded rebased (#278)
* rebased

* Fix n3q query for mandatarissen

---------

Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2023-05-15 18:16:54 +02:00
Nordine Bittich
21532f17c0 autocommit 2023-05-14 12:44:38 +02:00
Nordine Bittich
ae53746323 bump frontend 2023-05-14 12:43:40 +02:00
Nordine Bittich
73ff073540 bump mu-cl-resource 2023-05-12 14:20:13 +02:00
Nordine Bittich
2dbc29adeb bump mu-cl-resource 2023-05-12 14:19:44 +02:00
Nordine Bittich
22cc8ad09e bump resource 2023-05-10 16:29:13 +02:00
Nordine Bittich
622dae7969 bump resource 2023-05-10 16:28:45 +02:00
Nordine Bittich
47a2ca5072 bump front 2023-05-10 12:14:16 +02:00
Nordine Bittich
a4098a5b84 feat/delete-dup-change-events (#275) 2023-05-10 12:11:03 +02:00
Nordine Bittich
dfb7bbd7dc adjust change event (#276) 2023-05-10 12:10:32 +02:00
Elena Poelman
70d6add28d Merge pull request #269 from lblod/feature/ldes-service
Addition of ldes services to publish organization contact information
2023-05-10 11:39:26 +02:00
Claire Lovisa
cc4a842281 Remove deprecated delta-producer-json-diff-file-publisher service (#274) 2023-05-10 11:15:27 +02:00
Nordine Bittich
d01168989f feat/delete-dup-change-events (#275) 2023-05-10 11:12:22 +02:00
Nordine Bittich
b518a5ea79 adjust change event (#276) 2023-05-09 16:08:24 +02:00
c62c0aa4a9 add migration to add org:Organization type to all existing organizations 2023-05-08 11:50:37 +02:00
8a779c5d9f remove unnecessary spaces from compose file 2023-05-08 10:25:58 +02:00
a7334e161d limit pushes to ldes-feed to 3 main graphs 2023-05-08 10:12:56 +02:00
Nordine Bittich
6293b77492 bump front 2023-05-08 10:00:23 +02:00
Claire Lovisa
12bacd7391 Remove wrong organen labels (#266)
* Remove wrong organen labels

* Only remove necessary data, and add correct label
2023-05-04 16:18:44 +02:00
Claire Lovisa
627b4950dd Merge branch 'master' into development 2023-05-04 16:16:43 +02:00
Claire Lovisa
1fbe0f2fda Fix migration removing too much data (#272) 2023-05-04 14:59:09 +02:00
Claire Lovisa
d1925167b3 Remove imported fracties and update reasoner config (#273) 2023-05-04 14:57:54 +02:00
Claire Lovisa
f7df3a3cb0 Ensure organen dates are datetimes (#271) 2023-05-04 14:57:31 +02:00
539e88f604 Merge branch 'development' into feature/ldes-service 2023-05-04 09:49:47 +02:00
ed321540ba update fragmentation-producer to 0.3.2 2023-05-04 09:11:04 +02:00
Claire Lovisa
b32930f4bb Produce public data as done in prod (#270) 2023-05-03 18:52:08 +02:00
Nordine Bittich
4454a95137 updating end date bestuursorgaan triggers too many deletes (#268) 2023-05-03 09:10:47 +02:00
a94ddafb98 add organization name to data to be pushed to ldes feed 2023-05-03 09:09:55 +02:00
e887c6ffeb add gracePeriod to ldes-delta-pusher rule 2023-05-03 09:09:26 +02:00
96175d3de2 update ldes-backend image to 0.3.1 2023-05-03 09:08:56 +02:00
Nordine Bittich
4ed997dabd change date change event (#267) 2023-05-02 12:01:30 +02:00
Claire Lovisa
02de06921e Remove conflicting rule
If the prefix rule applies before the rule fixing the difference between
Loket and OP's names first/last names models, it breaks the flow
2023-04-21 16:33:54 +02:00
Boris De Vloed
fefb103cb5 Consume mandatarissen, leidinggevenden and worship positions from Loket (#239)
* loket filter

* cleanup previously migrated data before sync

* increase mu-auth timouts

* split up deletion migration to avoid timouts

* identical utls added catch statements

* deletes before inserts

* Adapt migrations to splitted graphs

* Adapt consumers to the delta-consumer with contexts

* Bump consumers and cache

* Resolve cache not getting cleared

* Flush ministers of non active worship services too

---------

Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2023-04-21 11:57:15 +02:00
Nordine Bittich
3aadf0960e bump role service 2023-04-21 07:43:06 +02:00
Boris De Vloed
666945f077 Merge pull request #265 from lblod/feature/bump-adressenregister-search-service
Bump adressenregister fuzzy search service version
2023-04-19 13:46:38 +02:00
Boris De Vloed
e3883db087 0.6.2 -> 0.6.3 2023-04-19 11:13:42 +00:00
Nordine Bittich
86e4304b7e reset elastic script (#264) 2023-04-19 09:26:04 +02:00
Nordine Bittich
64a2c22afc change date change event (#263) 2023-04-18 16:03:04 +02:00
Boris De Vloed
8d0686926e Merge pull request #262 from lblod/fix/add-org-post-type
Add missing post type
2023-04-18 12:03:07 +02:00
Boris De Vloed
d08c88f312 Add missing post type 2023-04-18 08:14:48 +00:00
Claire Lovisa
9486643214 Export identifiers of ROs in public producer (#261) 2023-04-13 13:52:44 +02:00
Nordine Bittich
dc0aeec0dc ignore virtuoso.ini 2023-04-11 15:42:54 +02:00
Nordine Bittich
53c449f08d Merge branch 'development' 2023-04-10 10:32:12 +02:00
Nordine Bittich
f43ae9f642 migration from in rang to waarneemende (#260) 2023-04-03 10:05:37 +02:00
Claire Lovisa
4858aa51f3 Enable new period for organen and create missing data (#259) 2023-03-29 09:33:01 +02:00
Claire Lovisa
6e4c5a45ed Merge pull request #258 from lblod/hotfix/update-bestuur-status-and-orgaan
Fix status and add missing orgaan
2023-03-27 11:39:53 +02:00
Claire Lovisa
42dc3af86a Fix status and add missing orgaan
I also had to bump mu-search, I was getting HTTP 500 errors otherwise
(NoMethodError - undefined method `each' for nil:NilClass)

About the mandates creation:
 - LidVanRechtswege : shared mandate for all the organen in time
 - Bestuursleden big half : shared with 2023-2026 because 2020 was the start of a big half
 - Bestuursleden small half : new mandate (should have been shared with 2017-2020, but we don't have this time period)
 - Voorzitter : new mandate
 - Secretaris : new mandate
 - Penningmeester : new mandate
2023-03-24 15:34:35 +01:00
Claire Lovisa
99fe30d2ef Bump dump file publisher 2023-03-24 13:47:36 +01:00
Nordine Bittich
b05f69a615 bump frontend 2023-03-24 13:47:24 +01:00
Claire Lovisa
9eea11c2e0 Merge pull request #256 from lblod/feature/adapt-public-producer-to-hardsplit
Adapt public producer to hardsplit
2023-03-22 11:12:28 +01:00
Claire Lovisa
211708754c Adapting query for QA and DEV deploy
On QA and DEV, the hardsplit has already been deployed, so we need to
adjust the migration. On prod, the migration has already run, so there
is no risk of missing data.
2023-03-22 10:35:48 +01:00
Claire Lovisa
8d5c4958ea Fix auth config 2023-03-22 08:20:01 +01:00
Claire Lovisa
86d30c2b37 Merge branch 'master' into feature/adapt-public-producer-to-hardsplit 2023-03-21 17:19:56 +01:00
Claire Lovisa
be12f3587a Adapt producer to hardsplit graphs 2023-03-21 11:30:03 +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
Nordine Bittich
7b2b577cc1 bump frontend 2023-03-15 16:27:00 +01:00
Nordine Bittich
49ea6b3743 bump frontend 2023-03-13 10:14:53 +01:00
Nordine Bittich
4bf0f6274e optimize for timeouts 2023-03-10 09:45:55 +01:00
Nordine Bittich
dcbc032fa8 split query even more 2023-03-10 09:34:17 +01:00
Nordine Bittich
1624bf84fc fix privacy graph (#253) 2023-03-10 09:15:08 +01:00
Claire Lovisa
e36c923f5e Merge pull request #254 from lblod/fix/cache-messing-with-consumer-getting-files
Remove cache from dcat resources
2023-03-09 15:17:05 +01:00
Claire Lovisa
38e2c76fd8 Remove cache from dcat resources 2023-03-09 14:39:32 +01:00
Claire Lovisa
2a518169c7 Bump posts producer 2023-03-08 18:02:27 +01:00
Claire Lovisa
928106c53c Fix posts producer 2023-03-08 17:40:51 +01:00
Boris De Vloed
a61d6bed35 fix query adding all bestuurseenheden 2023-03-08 14:10:43 +00:00
Claire Lovisa
8f311f7b98 Bump posts producer 2023-03-08 09:42:49 +01:00
Claire Lovisa
046ff4f9fb Fix posts producer 2023-03-07 16:21:23 +01:00
Nordine Bittich
fc443fa19b move kbo to worships (#252) 2023-03-07 13:28:56 +01:00
Nordine Bittich
0c9024b7c6 Incident/move change event (#251) 2023-03-07 10:58:05 +01:00
Claire Lovisa
7cb0b744c5 Merge pull request #250 from lblod/feature/remove-unused-delta-config
Remove config of previously deleted producer
2023-03-07 09:49:41 +01:00
Claire Lovisa
8c52365b81 Remove config of previously deleted producer 2023-03-07 09:38:57 +01:00
Nordine Bittich
eff38a71de fix orgaan wrong graph (#249) 2023-03-06 17:22:31 +01:00
Claire Lovisa
e6ee6e439e Merge pull request #248 from lblod/fix/missing-link-classifications
Add missing appliesWithin link for worship services
2023-03-06 12:44:48 +01:00
Claire Lovisa
2ae1c9228e Add missing appliesWithin link for worship services 2023-03-06 12:39:46 +01:00
Nordine Bittich
b38e2ce816 disable cache because of a bug with local involvements (#246) 2023-03-06 09:08:27 +01:00
Claire Lovisa
8d1e434e5d Fixing producer not dumping betrokkenBestuur
A Bestuurseenheid can now have triples in multiple graphs in OP :
worship graph, admin unit graph, shared graph. But when there is an
additional filter on top, it expects all the triples to be in the same graph, causing triples in the worship graph not to be exported. Moving them to a separate block allows them to be safely exported :)
2023-03-03 16:00:04 +01:00
Boris De Vloed
50a3ff2929 publish delta files 2023-03-02 10:17:41 +00:00
Nordine Bittich
5274f2e66c bump construct unit service 2023-03-02 09:40:48 +01:00
Nordine Bittich
c5dc809d50 cache not triggered for related organization (#245) 2023-03-01 10:45:42 +01:00
Nordine Bittich
f7f654df2f Feat/remove beheerder (#243) 2023-02-28 17:19:08 +01:00
Boris De Vloed
b5fbf09c08 extend public producer 2023-02-28 15:07:27 +00:00
Nordine Bittich
160c355d1c Kerkfabriek St.-Antonius van Padua van Gent (Heirnis)” with status “Niet actief” from OP (#241) 2023-02-27 16:13:22 +01:00
Nordine Bittich
c842e3a286 Delete a "veranderingsgebeurtenis" in worship service Tevhid (#242) 2023-02-27 16:00:16 +01:00
Nordine Bittich
acaca124c2 hard split (#223) 2023-02-27 15:28:18 +01:00
Claire Lovisa
157fe4f374 Fix producer not exporting all worship admin units
Apparently the producer doesn't take into account inheritance when
constructing the queries, so we have to explicitely define the necessary
types
2023-02-22 20:30:52 +01:00
Claire Lovisa
db24aa267a Merge pull request #240 from lblod/fix/files-wrongly-cached
Dispatch files to resource directly
2023-02-20 17:37:25 +01:00
Claire Lovisa
eb99aab77b Dispatch files to resource directly 2023-02-20 17:31:43 +01:00
Claire Lovisa
64ea0ce900 Merge pull request #237 from lblod/feature/remove-unused-admin-unit-producer
Remove unused admin unit producer
2023-02-20 11:20:32 +01:00
Claire Lovisa
f110f1c7b1 Add missing property in worship posts export 2023-02-17 16:11:23 +01:00
Claire Lovisa
f33f563abb Merge pull request #238 from lblod/feature/extend-posts-producer
Extend worship posts producer's export config
2023-02-16 14:06:31 +01:00
Claire Lovisa
fcf4627383 Extend worship posts producer's export config 2023-02-16 09:20:35 +01:00
Claire Lovisa
d756113dcf Remove admin unit producer's data 2023-02-16 09:19:22 +01:00
Nordine Bittich
f4b24b10d8 add new codelist (#236) 2023-02-15 10:46:45 +01:00
Claire Lovisa
9b4fe1c76e Remove unused admin unit producer 2023-02-14 16:44:24 +01:00
7774283905 update LDES dispatch query to take contact info into account 2023-02-14 12:57:32 +01:00
335501ede6 use custom dispatch method to send organization details to ldes endpoint 2023-02-14 12:34:57 +01:00
a538b42abd add initial ldes services 2023-02-14 11:40:17 +01: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
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
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
179 changed files with 96372 additions and 1305 deletions

4
.gitignore vendored
View File

@@ -1,6 +1,7 @@
# Virtuoso files /data/db
/data/db.bck/**
/data/db/*
!/data/db/virtuoso.ini
/data/db/virtuoso.ini
!/data/db/toLoad
!/data/db/toLoad/*
/data/files/*
@@ -10,6 +11,7 @@ docker-compose.override.yml
*.iml
/data/elasticsearch/**
/data/ldes-feed/*
/tmp
.DS_STORE
.env

View File

@@ -8,69 +8,86 @@ alias Acl.GroupSpec.GraphCleanup, as: GraphCleanup
defmodule Acl.UserGroups.Config do
@error_type [
"https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#Error"
]
@error_type [
"https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#Error"
]
@protected_resource_type [
"http://www.w3.org/ns/org#Organization",
"http://data.vlaanderen.be/ns/besluit#Besluit",
"https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
@worship_type [
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
"http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"https://data.vlaanderen.be/ns/persoon#Geboorte",
"http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"http://www.w3.org/ns/adms#Identifier",
"https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"http://www.w3.org/ns/org#ChangeEvent",
"http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
"http://www.w3.org/ns/prov#Location",
"http://www.w3.org/ns/org#Site",
"http://www.w3.org/ns/locn#Address",
"http://www.w3.org/ns/person#Person",
"http://data.vlaanderen.be/ns/mandaat#Mandaat",
"http://data.vlaanderen.be/ns/mandaat#Mandataris",
"http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
"http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"http://schema.org/ContactPoint",
"http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
]
@public_type [
"http://www.w3.org/ns/org#Role",
"http://www.w3.org/ns/org#Post",
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie",
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"http://xmlns.com/foaf/0.1/Person",
"http://xmlns.com/foaf/0.1/OnlineAccount",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
"http://www.w3.org/ns/dcat#Dataset",
"http://www.w3.org/ns/dcat#Distribution",
"http://www.w3.org/ns/dcat#Catalog",
"http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
"http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"http://www.w3.org/2004/02/skos/core#ConceptScheme",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"http://www.w3.org/2004/02/skos/core#Concept",
"http://publications.europa.eu/ontology/euvoc#Country",
"http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype",
"http://www.w3.org/2004/02/skos/core#ConceptScheme",
"http://www.w3.org/2004/02/skos/core#Concept",
"http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype"
]
@org_type [
"http://www.w3.org/ns/org#Organization",
"http://data.vlaanderen.be/ns/besluit#Besluit",
"https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
"http://www.w3.org/ns/org#Site",
"http://www.w3.org/ns/locn#Address",
"http://www.w3.org/ns/person#Person",
"http://schema.org/ContactPoint",
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"http://www.w3.org/ns/adms#Identifier",
"https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"http://data.vlaanderen.be/ns/mandaat#Mandaat",
"http://data.vlaanderen.be/ns/mandaat#Mandataris",
"http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
"http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
"http://www.w3.org/ns/org#Post",
"http://www.w3.org/ns/org#ChangeEvent",
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie"
]
@shared_protected_type [
"http://www.w3.org/ns/prov#Location",
"http://xmlns.com/foaf/0.1/Image",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
"http://publications.europa.eu/ontology/euvoc#Country"
]
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
defp access_by_role( group_string ) do
%AccessByQuery{
# vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
vars: [],
vars: [],
query: sparql_query_for_access_role( group_string ) }
end
@@ -79,48 +96,88 @@ defmodule Acl.UserGroups.Config do
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
SELECT distinct ?session_group ?session_role WHERE {
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
ext:sessionRole ?session_role.
ext:activeSessionRole ?session_role.
FILTER( ?session_role = \"#{group_string}\" )
}"
end
def user_groups do
[
%GroupSpec{
%GroupSpec{
name: "acmidm-lezer",
useage: [:read],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-lezer" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/organisatieportaal",
graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
resource_types: @protected_resource_type
resource_types: @org_type
}
}
]
},
%GroupSpec{
%GroupSpec{
name: "acmidm-editeerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-editeerder" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/organisatieportaal",
graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
resource_types: @protected_resource_type ++ @error_type
resource_types: @org_type ++ @error_type
}
}
]
},
%GroupSpec{
%GroupSpec{
name: "acmidm-beheerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-beheerder" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/organisatieportaal",
graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
resource_types: @protected_resource_type ++ @error_type
resource_types: @org_type ++ @error_type
}
}
]
},
%GroupSpec{
name: "acmidm-worship-lezer",
useage: [:read],
access: access_by_role( "ABBOrganisatiePortaalErediensten-lezer" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @worship_type
}
}
]
},
%GroupSpec{
name: "acmidm-worship-editeerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalErediensten-editeerder" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type ++ @worship_type
}
}
]
},
%GroupSpec{
name: "acmidm-worship-beheerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalErediensten-beheerder" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type ++ @worship_type
}
}
]
@@ -129,19 +186,21 @@ defmodule Acl.UserGroups.Config do
name: "public",
useage: [:read],
access: %AlwaysAccessible{},
graphs: [ %GraphSpec{
graph: "http://mu.semte.ch/graphs/public", # mock login only
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/public",
constraint: %ResourceConstraint{
resource_types: [
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"http://xmlns.com/foaf/0.1/Person",
"http://xmlns.com/foaf/0.1/OnlineAccount",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
"http://www.w3.org/ns/dcat#Dataset",
"http://www.w3.org/ns/dcat#Distribution",
"http://www.w3.org/ns/dcat#Catalog"
]
} }]},
resource_types: @public_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/shared",
constraint: %ResourceConstraint{
resource_types: @shared_protected_type ++ @org_type
}
}
]},
# // CLEANUP
#

View File

@@ -1,54 +0,0 @@
{
"export": [
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"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/2004/02/skos/core#scopeNote"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"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/2004/02/skos/core#altLabel",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.w3.org/ns/org#classification"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"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://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"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/2004/02/skos/core#scopeNote"
]
}
]
}

View File

@@ -1,20 +1,4 @@
{
"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",
"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": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units",
"fileBaseName": "dump-administrative-units",
"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": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
@@ -47,7 +31,7 @@
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts" : {
"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",
@@ -55,7 +39,7 @@
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts" : {
"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",

View File

@@ -3,9 +3,11 @@
{
"type": "http://www.w3.org/ns/person#Person",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"properties": [
"http://xmlns.com/foaf/0.1/givenName",
"http://xmlns.com/foaf/0.1/familyName",
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam",
@@ -16,7 +18,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -26,7 +28,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -46,7 +49,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -55,7 +58,8 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://schema.org/email",
@@ -67,7 +71,9 @@
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -78,7 +84,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -87,7 +93,7 @@
{
"type": "http://www.w3.org/ns/org#Role",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -96,7 +102,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -105,7 +111,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -115,7 +121,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
@@ -142,7 +149,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
@@ -166,7 +174,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
@@ -187,7 +196,9 @@
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
@@ -201,7 +212,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -210,7 +221,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage",
@@ -221,7 +233,9 @@
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#notation",
@@ -231,7 +245,9 @@
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
@@ -240,7 +256,9 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
@@ -258,7 +276,8 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://www.w3.org/ns/org#siteAddress",
@@ -269,7 +288,8 @@
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://purl.org/dc/terms/date",
@@ -282,7 +302,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -291,7 +311,7 @@
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -300,7 +320,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -309,16 +329,17 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -333,26 +354,30 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/voldaan",
"http://data.lblod.info/vocabularies/erediensten/criterium",
"http://data.lblod.info/vocabularies/erediensten/criteriumbewijsstuktype"
]
},{
},
{
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2000/01/rdf-schema#label"
]
},{
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -364,7 +389,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -373,7 +398,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -382,7 +407,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -391,7 +416,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -400,7 +425,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"

View File

@@ -5,13 +5,15 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"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://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 +26,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",
@@ -36,13 +36,15 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"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://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,23 +57,98 @@
"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/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"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/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"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/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"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/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"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": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#siteAddress",
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"http://data.lblod.info/vocabularies/erediensten/vestigingstype"
@@ -80,16 +157,18 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"^http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer",
"http://www.w3.org/ns/locn#thoroughfare",
@@ -105,7 +184,9 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#siteAddress",
@@ -122,13 +203,14 @@
"http://xmlns.com/foaf/0.1/page",
"http://schema.org/email",
"http://schema.org/telephone"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/adms#identifier",
@@ -136,14 +218,29 @@
"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"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator",
@@ -152,73 +249,91 @@
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
]
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier>/<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"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"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan"
]
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
],
"additionalFilter": "?subject (<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://www.w3.org/ns/org#classification>/<http://www.w3.org/2004/02/skos/core#inScheme>)|(<http://www.w3.org/ns/org#classification>/<http://www.w3.org/2004/02/skos/core#inScheme>) <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
"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",
@@ -233,36 +348,76 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#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/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"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

@@ -3,7 +3,8 @@
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -12,36 +13,282 @@
"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",
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor"
"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/regorg#orgStatus",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/adms#identifier",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur"
],
"additionalFilter": "?subject <http://www.w3.org/ns/org#classification> ?bestuurClassification . FILTER (?bestuurClassification IN (<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>))"
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"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/regorg#orgStatus",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"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/regorg#orgStatus",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"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>))"
"additionalFilter": "?subject (<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt>/<http://www.w3.org/ns/org#classification>)|(<http://data.vlaanderen.be/ns/besluit#bestuurt>/<http://www.w3.org/ns/org#classification>) ?bestuurClassification . FILTER (?bestuurClassification IN (<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>))"
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/typebetrokkenheid",
"http://www.w3.org/ns/org#organization"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"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/regorg#orgStatus",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?subject <http://www.w3.org/2004/02/skos/core#notation> \"KBO nummer\" ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?subject ^<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator>/<http://www.w3.org/2004/02/skos/core#notation> \"KBO nummer\" ."
},
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"http://data.lblod.info/vocabularies/erediensten/vestigingstype"
]
},
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer",
"http://www.w3.org/ns/locn#thoroughfare",
"http://www.w3.org/ns/locn#postCode",
"https://data.vlaanderen.be/ns/adres#gemeentenaam",
"http://www.w3.org/ns/locn#adminUnitL2",
"http://www.w3.org/ns/locn#fullAddress"
],
"additionalFilter": "?subject ^<https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?site. ?site a <http://www.w3.org/ns/org#Site>."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"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#scopeNote"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"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#scopeNote"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2000/01/rdf-schema#label",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
}
]
}

View File

@@ -3,7 +3,7 @@ export default [
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/organisatieportaal"
value: "http://mu.semte.ch/graphs/administrative-unit"
}
},
callback: {
@@ -20,7 +20,25 @@ export default [
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/organisatieportaal"
value: "http://mu.semte.ch/graphs/worship-service"
}
},
callback: {
url: 'http://search/update',
method: 'POST'
},
options: {
resourceFormat: "v0.0.1",
gracePeriod: 10000,
ignoreFromSelf: true
}
},
{
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/administrative-unit"
}
},
callback: {
@@ -33,6 +51,25 @@ export default [
ignoreFromSelf: true
}
},
{
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/worship-service"
}
},
callback: {
url: 'http://resource/.mu/delta',
method: 'POST'
},
options: {
resourceFormat: "v0.0.1",
gracePeriod: 250,
ignoreFromSelf: true
}
},
{
match: {
predicate: {
@@ -48,42 +85,7 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-administrative-units/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: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/administrative-units'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-administrative-units/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
{
@@ -98,27 +100,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/organizations'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-organizations/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/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
@@ -133,27 +117,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/public'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-public/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/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
@@ -169,9 +135,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
@@ -193,7 +159,58 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
/*
Commenting ldes rules until ready to go to qa/prod. In the meantime, we override the configuration on dev.
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/shared',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/worship-service',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/administrative-unit',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
}
*/
]

View File

@@ -0,0 +1,4 @@
{$SITE_ADDRESS}:443 {
reverse_proxy identifier:80
tls internal
}

View File

@@ -77,7 +77,7 @@ defmodule Dispatcher do
end
match "/administrative-units/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/administrative-units/"
Proxy.forward conn, path, "http://resource/administrative-units/"
end
match "/administrative-unit-classification-codes/*path", %{ accept: [:json], layer: :api} do
@@ -85,7 +85,7 @@ defmodule Dispatcher do
end
match "/worship-administrative-units/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/worship-administrative-units/"
Proxy.forward conn, path, "http://resource/worship-administrative-units/"
end
match "/worship-services/*path", %{ accept: [:json], layer: :api} do
@@ -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
@@ -220,11 +220,14 @@ defmodule Dispatcher do
###############
match "/accounts", %{ accept: [:json], layer: :api} do
Proxy.forward conn, [], "http://resource/accounts/"
Proxy.forward conn, [], "http://resource/accounts/"
end
match "/accounts/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://accountdetail/accounts/"
end
match "/active-role/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://roles/"
end
match "/groups/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://resource/groups/"
end
@@ -242,7 +245,7 @@ defmodule Dispatcher do
###############################################################
match "/search/*path", %{ accept: %{ json: true }, layer: :api_services} do
IO.puts("hey")
IO.puts("hey")
Proxy.forward conn, path, "http://search/"
end
@@ -262,20 +265,36 @@ defmodule Dispatcher do
forward conn, path, "http://adressenregister/"
end
match "/worship/person-information-updates/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-updates"
end
match "/worship/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-requests"
end
match "/worship/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-ask/"
end
match "/worship/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-validate-ssn/"
end
match "/person-information-updates/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-updates"
forward conn, path, "http://privacy-unit/person-information-updates"
end
match "/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-requests"
forward conn, path, "http://privacy-unit/person-information-requests"
end
match "/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-ask/"
forward conn, path, "http://privacy-unit/person-information-ask/"
end
match "/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-validate-ssn/"
forward conn, path, "http://privacy-unit/person-information-validate-ssn/"
end
get "/uri-info/*path", %{ layer: :api_services, accept: %{ json: true } } do
@@ -286,6 +305,10 @@ defmodule Dispatcher do
forward conn, path, "http://construct-administrative-unit-relationships/create-relationships/"
end
get "/ldes/*path", %{ layer: :api_services } do
forward conn, path, "http://ldes-backend/"
end
#################################################################
# ERROR REPORT
#################################################################
@@ -303,7 +326,7 @@ defmodule Dispatcher do
end
get "/files/*path" , %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://cache/files/"
Proxy.forward conn, path, "http://resource/files/"
end
#################################################################
@@ -311,20 +334,11 @@ defmodule Dispatcher do
#################################################################
get "/datasets/*path", %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://cache/datasets/"
Proxy.forward conn, path, "http://resource/datasets/"
end
get "/distributions/*path", %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://cache/distributions/"
end
#################################################################
# DELTA: administrative-units
#################################################################
get "/sync/administrative-units/files/*path" do
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-administrative-units/files/"
Proxy.forward conn, path, "http://resource/distributions/"
end
#################################################################
@@ -332,7 +346,15 @@ defmodule Dispatcher do
#################################################################
get "/sync/organizations/files/*path" do
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-organizations/files/"
Proxy.forward conn, path, "http://delta-producer-pub-graph-maintainer-organizations/files/"
end
#################################################################
# DELTA: public
#################################################################
get "/sync/public/files/*path" do
Proxy.forward conn, path, "http://delta-producer-pub-graph-maintainer-public/files/"
end
#################################################################
@@ -347,10 +369,6 @@ defmodule Dispatcher do
# frontend layer
###############################################################
match "/authorization/callback/*_path", %{ accept: [:html], layer: :api } do
Proxy.forward conn, [], "http://frontend/torii/redirect.html"
end
match "/assets/*path", %{ layer: :api } do
Proxy.forward conn, path, "http://frontend/assets/"
end

View File

@@ -0,0 +1,73 @@
import { moveTriples } from "../support";
import { Changeset } from "../types";
import { query, sparqlEscapeUri } from 'mu';
export default async function dispatch(changesets: Changeset[]) {
for (const changeset of changesets) {
const subjects = new Set(changeset.inserts.map((insert) => insert.subject.value));
for (const subject of subjects) {
const { results: { bindings } } = await query(`
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX code: <http://telegraphis.net/ontology/measurement/code#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
CONSTRUCT {
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
} WHERE {
{
VALUES ?organization { ${sparqlEscapeUri(subject)} }
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
} UNION {
VALUES ?site { ${sparqlEscapeUri(subject)} }
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
} UNION {
VALUES ?siteAddress { ${sparqlEscapeUri(subject)} }
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
}
}
`);
if(bindings.length){
console.log('SUCCESS')
await moveTriples([
{
inserts: bindings.map(({ s, p, o}) => { return { subject: s, predicate: p, object: o} }),
}
])
}
}
}
}

View File

@@ -1,18 +1,20 @@
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 DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://triplestore: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`;
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
@@ -24,6 +26,7 @@ module.exports = {
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
};
LANDING_ZONE_GRAPH,
TARGET_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
};

View File

@@ -0,0 +1,72 @@
const PREFIXES = `
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>`
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: [
// Case Leidnggevenden
// They can be triggered when being inserted or when their link to a bestuursfunctie is added
{
trigger: { // subjectType or predicateValue
subjectType: "lblodlg:Functionaris"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/leidinggevenden> {
VALUES ?functionaris { ${subject} }
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
},
{
trigger: {
predicateValue: "org:holds"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/leidinggevenden> {
VALUES ?functionaris { ${subject} }
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
}
]
}
module.exports = {
contextConfig,
PREFIXES
};

View File

@@ -1,14 +1,8 @@
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');
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
} = require('./util');
/**
* Dispatch the fetched information to a target graph.
@@ -26,51 +20,66 @@ const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = 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}.`);
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
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,
);
}
)
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
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"
);
}
)
if (originalDeletes.length) {
// Map deletes from DL to OP model
const transformedDeletes = await transformStatements(fetch, deletesWithContext);
if (!transformedDeletes.length) {
console.log(`Warn: Delete statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedDeletes);
}
}
if (originalInserts.length) {
// Map inserts from DL to OP model
const transformedInserts = await transformStatements(fetch, insertsWithContext);
if (!transformedInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedInserts);
}
}
}
}
module.exports = {
dispatch
};
};

View File

@@ -1,14 +1,17 @@
const { transformStatements, batchedDbUpdate, partition } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
const { batchedDbUpdate, transformLandingZoneGraph } = 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
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
@@ -25,35 +28,58 @@ const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
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}.`)
const 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
)
}
)
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedInsertTriples = await transformLandingZoneGraph(fetch, endpoint);
console.log(`Transformed ${transformedInsertTriples.length} triples`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_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
};
dispatch,
onFinishInitialIngest
};

View File

@@ -1,9 +1,16 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE,
} = require('./config');
async function batchedDbUpdate(muUpdate,
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
@@ -37,39 +44,6 @@ ${batch}
}
}
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,
@@ -110,18 +84,16 @@ function partition(arr, fn) {
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
function transformTriples(fetch, triples) {
return operationWithRetry(mainConversion(fetch, triples), 0,
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
function mainConversion(fetch, triples) {
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
@@ -131,23 +103,66 @@ function mainConversion(fetch, triples) {
redirect: 'follow'
};
return fetch("http://reasoner/reason/dl2op/main", requestOptions)
.then(response => response.text());
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await 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
}
)
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements
};
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph
};

View File

@@ -1,18 +1,20 @@
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 DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://triplestore: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`;
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
@@ -24,6 +26,8 @@ module.exports = {
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
};
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
TARGET_GRAPH
};

View File

@@ -0,0 +1,72 @@
const PREFIXES = `
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>`
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: [
// Case Mandatarissen
// They can be triggered when being inserted or when their link to a mandate is added
{
trigger: { // subjectType or predicateValue
subjectType: "mandaat:Mandataris"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
VALUES ?mandataris { ${subject} }
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
},
{
trigger: {
predicateValue: "org:holds"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
VALUES ?mandataris { ${subject} }
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
}
]
}
module.exports = {
contextConfig,
PREFIXES
};

View File

@@ -0,0 +1,85 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
} = require('./util');
/**
* 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, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map deletes from DL to OP model
const transformedDeletes = await transformStatements(fetch, deletesWithContext);
if (!transformedDeletes.length) {
console.log(`Warn: Delete statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedDeletes);
}
}
if (originalInserts.length) {
// Map inserts from DL to OP model
const transformedInserts = await transformStatements(fetch, insertsWithContext);
if (!transformedInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,85 @@
const { batchedDbUpdate, transformLandingZoneGraph } = 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,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
} = 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 } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
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) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedInsertTriples = await transformLandingZoneGraph(fetch, endpoint);
console.log(`Transformed ${transformedInsertTriples.length} triples`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_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,
onFinishInitialIngest
};

View File

@@ -1,9 +1,16 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE
} = require('./config');
async function batchedDbUpdate(muUpdate,
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
@@ -37,39 +44,6 @@ ${batch}
}
}
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,
@@ -110,18 +84,16 @@ function partition(arr, fn) {
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
function transformTriples(fetch, triples) {
return operationWithRetry(mainConversion(fetch, triples), 0,
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
function mainConversion(fetch, triples) {
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
@@ -131,23 +103,66 @@ function mainConversion(fetch, triples) {
redirect: 'follow'
};
return fetch("http://reasoner/reason/dl2op/main", requestOptions)
.then(response => response.text());
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await 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
}
)
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements
};
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph
};

View File

@@ -1,76 +0,0 @@
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

@@ -1,59 +0,0 @@
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

@@ -1,88 +0,0 @@
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

@@ -1,80 +0,0 @@
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

@@ -1,154 +0,0 @@
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

@@ -1,22 +1,25 @@
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 DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://triplestore: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';
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/worship-service`;
const PRIVACY_SENSITIVE_GRAPH = process.env.PRIVACY_SENSITIVE_GRAPH || `http://mu.semte.ch/graphs/worship-privacy-centric-graph`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
// Mappings
const MAIN_INFO_MAPPING = "main-info";
const PRIVATE_INFO_MAPPING = "private-info";
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
@@ -28,9 +31,10 @@ module.exports = {
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
UNFILTERED_MAPPING,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING,
};
PRIVATE_INFO_MAPPING
};

View File

@@ -0,0 +1,11 @@
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: []
}
module.exports = {
contextConfig
};

View File

@@ -0,0 +1,114 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
deleteFromPrivateGraph,
insertIntoPrivateGraph
} = require('./util');
const {
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, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map main deletes from DL to OP model
const transformedMainDeletes = await transformStatements(fetch, deletesWithContext, MAIN_INFO_MAPPING);
if (!transformedMainDeletes.length) {
console.log(`Warn: Delete main statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedMainDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedMainDeletes);
}
// Map private deletes from DL to OP model
const transformedPrivateDeletes = await transformStatements(fetch, deletesWithContext, PRIVATE_INFO_MAPPING);
if (!transformedPrivateDeletes.length) {
console.log(`Warn: Delete private statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedPrivateDeletes}`);
} else {
await deleteFromPrivateGraph(lib, transformedPrivateDeletes);
}
}
if (originalInserts.length) {
// Map main inserts from DL to OP model
const transformedMainInserts = await transformStatements(fetch, insertsWithContext, MAIN_INFO_MAPPING);
if (!transformedMainInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedMainInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedMainInserts);
}
// Map private inserts from DL to OP model
const transformedPrivateInserts = await transformStatements(fetch, insertsWithContext, PRIVATE_INFO_MAPPING);
if (!transformedPrivateInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedPrivateInserts}`);
} else {
await insertIntoPrivateGraph(lib, transformedPrivateInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,106 @@
const { batchedDbUpdate, transformLandingZoneGraph } = 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,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
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 } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
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) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedMainInsertTriples = await transformLandingZoneGraph(fetch, endpoint, MAIN_INFO_MAPPING);
console.log(`Transformed ${transformedMainInsertTriples.length} main triples`);
if (transformedMainInsertTriples.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_GRAPH,
transformedMainInsertTriples,
{ '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
);
}
const transformedPrivateInsertTriples = await transformLandingZoneGraph(fetch, endpoint, PRIVATE_INFO_MAPPING);
console.log(`Transformed ${transformedPrivateInsertTriples.length} private triples`);
if (transformedPrivateInsertTriples.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
transformedPrivateInsertTriples,
{ '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,
onFinishInitialIngest
};

View File

@@ -0,0 +1,204 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE
} = 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 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
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function deleteFromPrivateGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function insertIntoPrivateGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph,
deleteFromPrivateGraph,
insertIntoPrivateGraph
};

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,46 @@
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/besturenVanDeEredienst/d640003a744edbe1a0597ab57243ab5e>
<http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/besturenVanDeEredienst/d640003a744edbe1a0597ab57243ab5e>
<http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> .
<http://data.lblod.info/id/eredienstbestuursorganen/18d843d47e223409b9bb6e7af8a4d8a8>
a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> "18d843d47e223409b9bb6e7af8a4d8a8" ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> <http://data.lblod.info/id/eredienstbestuursorganen/520e20dd93d0eb546ee2402f124b499e> ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> "2020-04-01T00:00:00"^^xsd:dateTime ;
<http://data.vlaanderen.be/ns/mandaat#bindingEinde> "2023-03-31T00:00:00"^^xsd:dateTime ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/c6d754b17be9634e629f7d751753bb27> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/37fc68e584d93a8c165a2b9b5b0f183a> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/daac7f53-b020-443d-92a7-9d47be6cb186> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/3618fc2a-83f7-45dd-969f-06afd0c3277b> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/e4b05858-c66d-4098-9c43-59af0359e603> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/5147f880-b0a5-4145-ac01-db8323a5410d> .
<http://data.lblod.info/id/mandaten/daac7f53-b020-443d-92a7-9d47be6cb186>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "daac7f53-b020-443d-92a7-9d47be6cb186" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f> .
<http://data.lblod.info/id/mandaten/3618fc2a-83f7-45dd-969f-06afd0c3277b>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "3618fc2a-83f7-45dd-969f-06afd0c3277b" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
<http://data.lblod.info/id/mandaten/e4b05858-c66d-4098-9c43-59af0359e603>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "e4b05858-c66d-4098-9c43-59af0359e603" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
<http://data.lblod.info/id/mandaten/5147f880-b0a5-4145-ac01-db8323a5410d>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "5147f880-b0a5-4145-ac01-db8323a5410d" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
}
}

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,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,18 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT DATA {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
<http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> a <http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen>;
mu:uuid "7d8e0c15-7726-4196-9416-6dc40ed858bb";
skos:prefLabel "Waarnemende Imam";
<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,61 @@
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://www.w3.org/ns/dcat#Dataset> ;
<http://purl.org/dc/terms/subject> <http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://vocab.deri.ie/cogs#Job> ;
<http://redpencil.data.gift/vocabularies/tasks/operation> <http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/administrative-units> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://vocab.deri.ie/cogs#Job> ;
<http://redpencil.data.gift/vocabularies/tasks/operation> <http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/administrative-units> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://vocab.deri.ie/cogs#Job> ;
<http://redpencil.data.gift/vocabularies/tasks/operation> <http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/administrative-units> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject> ;
<http://purl.org/dc/terms/publisher> <http://data.lblod.info/services/delta-production-json-diff-file-manager/administrative-units> ;
?p ?o .
}
}
;
CLEAR GRAPH <http://redpencil.data.gift/id/deltas/producer/administrative-units>

View File

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

View File

@@ -0,0 +1,613 @@
@prefix ns0: <http://data.lblod.info/vocabularies/erediensten/> .
@prefix ns1: <http://data.lblod.info/id/positiesBedienaar/> .
@prefix ns2: <http://data.lblod.info/id/besturenVanDeEredienst/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns4: <http://www.w3.org/ns/org#> .
@prefix ns5: <http://mu.semte.ch/vocabularies/core/> .
<http://data.lblod.info/id/besturenVanDeEredienst/634801148DE5818A7C9F40E7>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/72c14871c7a0f28cd52ebeb73d6d0fee> .
<http://data.lblod.info/id/besturenVanDeEredienst/635153998DE5818A7C9F4191>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/203b6f9c7e6eec3f62860b378e8371b0> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B7984B5FEAF28DEDE6D1>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/79a1d65018cd0f86fa5757f9594ed52b> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374C18E4B5FEAF28DEDE708>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/6436abc14a9615cfaa26f4dc7609bef8> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E23A4B5FEAF28DEDE752>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/116c6e00577975a5f41d4789166549d4> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374FF364B5FEAF28DEDE7AD>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/4a0c024fae6dcfb732006eeacf926c1c> .
<http://data.lblod.info/id/besturenVanDeEredienst/637503DA4B5FEAF28DEDE7C3>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0cde683248e90e543936deea015ec7f8> .
<http://data.lblod.info/id/besturenVanDeEredienst/63761DB14B5FEAF28DEDE877>
ns0:wordtBediendDoor ns1:e06b3e3d005d25e4a23459dd5773c00e .
<http://data.lblod.info/id/besturenVanDeEredienst/63761F764B5FEAF28DEDE899>
ns0:wordtBediendDoor ns1:a3d7cda7f4acad34682b8086d13ea397 .
<http://data.lblod.info/id/besturenVanDeEredienst/63232FE42F583C7A1CD0DC12>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/16c09cdc3608605b3ee88bf9ab9c7dac> .
<http://data.lblod.info/id/besturenVanDeEredienst/6363D12E8DE5818A7C9F43E2>
ns0:wordtBediendDoor ns1:a6735a9f75e9f30f8d31198e18e39192 .
<http://data.lblod.info/id/besturenVanDeEredienst/6363D3668DE5818A7C9F43FA>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0351db31503375a8fb31b7089c65ec83> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B61D4B5FEAF28DEDE6BB>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/85d28128b4cc9476fef4eeeffa2530a2> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374BD644B5FEAF28DEDE6FD>
ns0:wordtBediendDoor ns1:e39958a6e2d38e23b5669a3b9ae1e719 .
<http://data.lblod.info/id/besturenVanDeEredienst/6374C2514B5FEAF28DEDE713>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/594841e8ec952d28ee1f09bbe1d3890a> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F5414B5FEAF28DEDE80B>
ns0:wordtBediendDoor ns1:c1efedae090d2c4be97d529c73b5ae87 .
<http://data.lblod.info/id/besturenVanDeEredienst/6375FA014B5FEAF28DEDE82C>
ns0:wordtBediendDoor ns1:ef9ebb3d9429b24c87a6576bfe302d85 .
<http://data.lblod.info/id/besturenVanDeEredienst/63761E9B4B5FEAF28DEDE888>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/569b7a4720c5d44269ab96663f3f5021> .
ns2:ef77bb3094fdc4a7ed7e09551500acfe
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/453521f31bee624be96caa2f1a2e7048> .
ns2:a8faa182c59167da7551f40979dc5022
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/87db8210da3911674adf40d01076fd81> .
<http://data.lblod.info/id/besturenVanDeEredienst/934cb872a84a86ceb9a9e10abb1d08fa>
ns0:wordtBediendDoor ns1:c924a44f9163ec6c946505f5f687708d .
ns2:ca0daee18a29e187017bf236e26f1ec2
ns0:wordtBediendDoor ns1:cb4bf613bd82f99785df7aedb65b3367 .
ns2:f95b761af55091b491fd62bd6bed11dc
ns0:wordtBediendDoor ns1:d1dd10ca84303e547546f7e7a502dc6c .
<http://data.lblod.info/id/besturenVanDeEredienst/7e3fb673922f9495c48251f316c5c4ff>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/95222f20d3ff233e0623dc8c811375e4> .
ns2:c1c334a2cc56ac501badce5e879aec65
ns0:wordtBediendDoor ns1:b74b9e77b49bbe8f5be5766be677c9bb .
<http://data.lblod.info/id/besturenVanDeEredienst/6232329df9377210c3576b17e116de8b>
ns0:wordtBediendDoor ns1:bfe1868d6a41e073f114dd2efdcf51a5 .
<http://data.lblod.info/id/besturenVanDeEredienst/24ff08070bc1e47b498ab8139b9d3792>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/59b02bc348ce9c8b26fd2eb6b6a9bd86> .
ns2:a6e0531c6c4b5885552604163cfabfbc
ns0:wordtBediendDoor ns1:cdb151adeceb026fc5e81ea80d729391 .
<http://data.lblod.info/id/besturenVanDeEredienst/619a5721094b28807dca8d04de69e3e0>
ns0:wordtBediendDoor ns1:c94d252366917f598a19df33680bbb29 .
ns2:cd7d4208e8e6291d75b33d89e3a0a439
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5a87bfd76cc6d2f582ef1272116c863a> .
ns2:a8d9f1a45c11c6761306bdf680349593
ns0:wordtBediendDoor ns1:fad9626cd2ab433ce884ef75d06e840b .
<http://data.lblod.info/id/besturenVanDeEredienst/4fd6da5f1e1ea6e60f611abc4df28456>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/9cea42c28a90ce1ac0cdf3bdb01199b8> .
<http://data.lblod.info/id/besturenVanDeEredienst/2732db1f6bf8eec96c093105fc4e199d>
ns0:wordtBediendDoor ns1:d5ef4ca7efebfdafc4d28d2d8ab019b1 .
<http://data.lblod.info/id/besturenVanDeEredienst/8f37ce5f576a898f5b281fa118a7d9a4>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8ef8c30c7e682a8c56af185c91c898ad> .
<http://data.lblod.info/id/besturenVanDeEredienst/08fe04ba8cb033d7d1d59f85c31f9ee0>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/1903dde5ac84bece6238f20175ba583e> .
<http://data.lblod.info/id/besturenVanDeEredienst/8c46fc84fb7a11cca44bde007a0c081c>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/1bb5f658bd511ed2752ae4ad57ef8528> .
<http://data.lblod.info/id/besturenVanDeEredienst/104a6b6eabd0192afdeb70d3b517aef1>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/57bce94d3031b52f361a3c043b1678d9> .
ns2:a8880f3d8b482788c5f3adbf58f01b4f
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/776bc597d74bba0ad0c60c81b4c22529> .
ns2:adeaab8a02815bf2c5816165a45ad4c5
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/259b382ef9f0a8eaaf84954bc09e3f38> .
<http://data.lblod.info/id/besturenVanDeEredienst/7b0d877894765abf5052e12c7bed553e>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/09ee3daf174b1069b4ae66e31f5b8728> .
ns2:c7d6827eb88cd977146e72583461071b
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/77e3e5bcb167367015c391dfa91cb01f> .
<http://data.lblod.info/id/besturenVanDeEredienst/88cc9ab83a5a94caeb2f4b04615b20f2>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8b98c482cb67f55c2fb7174a00cdf09d> .
<http://data.lblod.info/id/besturenVanDeEredienst/0f2a4604a962926d67518bb3846af1c9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5963146dc30cba248bb24e29b5002b78> .
ns2:b81199eddd02f291bd4c1a0e29e5b9c8
ns0:wordtBediendDoor ns1:cf320c8fb2e9db3a488b0ac016440f33 .
ns2:db46915e77fbf8f083e9861c802b2b13
ns0:wordtBediendDoor ns1:b6c9aeea4bf9daa1520156b9fe5a49e5 .
ns2:fd4ae252fffca29852354b12ef37b086
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8eab113defa6ac21fd87c0828292e926> .
<http://data.lblod.info/id/besturenVanDeEredienst/7343155a8b9a107bdbd4b65cc6318d50>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0aaf20e1103fec92356373dd7de19887> .
<http://data.lblod.info/id/besturenVanDeEredienst/58d6bea16bd86c7df65caa9625af97aa>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/46cac4be99a8036f729ddd2df0cbc3c4> .
<http://data.lblod.info/id/besturenVanDeEredienst/928335b5a7b1cb7850c7cc98574e9ec9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8c2ab509b1e9cfa3dba90f9a4cb3037d> .
ns2:b540096ac8be2c9c72dafd59e61080c5
ns0:wordtBediendDoor ns1:f9a134e17b7ac4a42a66b7b66d86d00b .
<http://data.lblod.info/id/besturenVanDeEredienst/6324158D2F583C7A1CD0DC1D>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0a46fb4249e6a218b943a8f6fe1ac090> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375EA424B5FEAF28DEDE7DE>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/19838c3b991ad9f816ef491d96a721d3> .
<http://data.lblod.info/id/besturenVanDeEredienst/6363B53D8DE5818A7C9F43BC>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/76419a6001ca12e313e13bde8840e405> .
<http://data.lblod.info/id/besturenVanDeEredienst/6363CCA78DE5818A7C9F43D2>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/60ae1e4b56e80af0b81a20b96d4187b1> .
<http://data.lblod.info/id/besturenVanDeEredienst/6364F1728DE5818A7C9F4413>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/1c1d1fd0c40ffe62076203d7ea2060a6> .
<http://data.lblod.info/id/besturenVanDeEredienst/636B7EE88DE5818A7C9F4485>
ns0:wordtBediendDoor ns1:d4505963c15a4dd1cc77b34977b727c0 .
<http://data.lblod.info/id/besturenVanDeEredienst/637227668DE5818A7C9F44B5>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0a69b193cce1416d4d6366fff46add3f> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C5879BD7779543F77795D5>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/41ae97e88af106e5c9ee3588adc9e2ba> .
<http://data.lblod.info/id/besturenVanDeEredienst/63515BEE8DE5818A7C9F41AB>
ns0:wordtBediendDoor ns1:f90bc6678d032b1203c3e003b05a903e .
<http://data.lblod.info/id/besturenVanDeEredienst/636391B88DE5818A7C9F437A>
ns0:wordtBediendDoor ns1:a1a4364ce6767907e600d8025c2f8cb9 .
<http://data.lblod.info/id/besturenVanDeEredienst/636393FC8DE5818A7C9F438A>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5687522854e85ab6f4c324b273467ce4> .
<http://data.lblod.info/id/besturenVanDeEredienst/63761BDD4B5FEAF28DEDE86C>
ns0:wordtBediendDoor ns1:baa288870012628b450bd134175cb91a .
<http://data.lblod.info/id/besturenVanDeEredienst/6368FEE98DE5818A7C9F443C>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/031e9b8845e50e0f2484ed7eac94324e> .
<http://data.lblod.info/id/besturenVanDeEredienst/636917658DE5818A7C9F444C>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/233a795834c4f862342250b0c8647d15> .
<http://data.lblod.info/id/besturenVanDeEredienst/627D20211D2B7BB5B2CB04DB>
ns0:wordtBediendDoor ns1:f1ac3ad7a3cf88917b6ff453bcdae693 .
<http://data.lblod.info/id/besturenVanDeEredienst/62C43248D7779543F77795B4>
ns0:wordtBediendDoor ns1:e3c51e910902a9b4087f9d2dfe8629a2 .
<http://data.lblod.info/id/besturenVanDeEredienst/63563B398DE5818A7C9F423E>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/02c677db7c013653e475984bebf59b58> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B6774B5FEAF28DEDE6C6>
ns0:wordtBediendDoor ns1:ad8e06f595ccd82c799c81e7838db45e .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E2344B5FEAF28DEDE747>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/57fdb71d4feb243e727005e16d31d98a> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E3B44B5FEAF28DEDE75E>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/2a425d7fa4022573cb4824e91e2f5264> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E3B94B5FEAF28DEDE769>
ns0:wordtBediendDoor ns1:e32bf54030b9a31d84249386a289287a .
<http://data.lblod.info/id/besturenVanDeEredienst/6374F3664B5FEAF28DEDE786>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0315bd04919b2884af8f3c0a8b820ba0> .
<http://data.lblod.info/id/besturenVanDeEredienst/637618584B5FEAF28DEDE85B>
ns0:wordtBediendDoor ns1:cf701aabf06d091083135506f7d8b785 .
<http://data.lblod.info/id/besturenVanDeEredienst/63639DA88DE5818A7C9F439E>
ns0:wordtBediendDoor ns1:f484ae309f3f981489724334f7a9e90b .
<http://data.lblod.info/id/besturenVanDeEredienst/6363A3E88DE5818A7C9F43B1>
ns0:wordtBediendDoor ns1:ebfd92d4fa2fb375fb407070e5275bc1 .
<http://data.lblod.info/id/besturenVanDeEredienst/6363C5998DE5818A7C9F43C7>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/638c32d8700a7c8891e7ae2ed1f86dfc> .
<http://data.lblod.info/id/besturenVanDeEredienst/6368FBF28DE5818A7C9F442C>
ns0:wordtBediendDoor ns1:d82546b18b55081cc9c8e46aff579c75 .
<http://data.lblod.info/id/besturenVanDeEredienst/636A5AAE8DE5818A7C9F446D>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/87e2496b12c3a58672970e4db4a013ed> .
<http://data.lblod.info/id/besturenVanDeEredienst/636A57CB8DE5818A7C9F445B>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/6c177d4df98c1ae795146245e1b8ded3> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C427EBD7779543F777959E>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/41ee849be721d50f1012987ec14cf4d5> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C42D98D7779543F77795A9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/36357858aff9e011120ce12a4c9a735d> .
<http://data.lblod.info/id/positiesBedienaar/72c14871c7a0f28cd52ebeb73d6d0fee>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "72c14871c7a0f28cd52ebeb73d6d0fee" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/203b6f9c7e6eec3f62860b378e8371b0>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "203b6f9c7e6eec3f62860b378e8371b0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/79a1d65018cd0f86fa5757f9594ed52b>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "79a1d65018cd0f86fa5757f9594ed52b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/6436abc14a9615cfaa26f4dc7609bef8>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "6436abc14a9615cfaa26f4dc7609bef8" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/116c6e00577975a5f41d4789166549d4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "116c6e00577975a5f41d4789166549d4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/4a0c024fae6dcfb732006eeacf926c1c>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "4a0c024fae6dcfb732006eeacf926c1c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0cde683248e90e543936deea015ec7f8>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0cde683248e90e543936deea015ec7f8" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e06b3e3d005d25e4a23459dd5773c00e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e06b3e3d005d25e4a23459dd5773c00e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:a3d7cda7f4acad34682b8086d13ea397
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "a3d7cda7f4acad34682b8086d13ea397" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/16c09cdc3608605b3ee88bf9ab9c7dac>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "16c09cdc3608605b3ee88bf9ab9c7dac" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:a6735a9f75e9f30f8d31198e18e39192
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "a6735a9f75e9f30f8d31198e18e39192" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0351db31503375a8fb31b7089c65ec83>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0351db31503375a8fb31b7089c65ec83" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/85d28128b4cc9476fef4eeeffa2530a2>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "85d28128b4cc9476fef4eeeffa2530a2" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e39958a6e2d38e23b5669a3b9ae1e719
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e39958a6e2d38e23b5669a3b9ae1e719" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/594841e8ec952d28ee1f09bbe1d3890a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "594841e8ec952d28ee1f09bbe1d3890a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c1efedae090d2c4be97d529c73b5ae87
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c1efedae090d2c4be97d529c73b5ae87" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:ef9ebb3d9429b24c87a6576bfe302d85
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "ef9ebb3d9429b24c87a6576bfe302d85" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/569b7a4720c5d44269ab96663f3f5021>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "569b7a4720c5d44269ab96663f3f5021" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/453521f31bee624be96caa2f1a2e7048>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "453521f31bee624be96caa2f1a2e7048" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/87db8210da3911674adf40d01076fd81>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "87db8210da3911674adf40d01076fd81" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c924a44f9163ec6c946505f5f687708d
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c924a44f9163ec6c946505f5f687708d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cb4bf613bd82f99785df7aedb65b3367
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cb4bf613bd82f99785df7aedb65b3367" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d1dd10ca84303e547546f7e7a502dc6c
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d1dd10ca84303e547546f7e7a502dc6c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/95222f20d3ff233e0623dc8c811375e4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "95222f20d3ff233e0623dc8c811375e4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:b74b9e77b49bbe8f5be5766be677c9bb
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "b74b9e77b49bbe8f5be5766be677c9bb" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:bfe1868d6a41e073f114dd2efdcf51a5
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "bfe1868d6a41e073f114dd2efdcf51a5" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/59b02bc348ce9c8b26fd2eb6b6a9bd86>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "59b02bc348ce9c8b26fd2eb6b6a9bd86" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cdb151adeceb026fc5e81ea80d729391
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cdb151adeceb026fc5e81ea80d729391" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c94d252366917f598a19df33680bbb29
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c94d252366917f598a19df33680bbb29" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5a87bfd76cc6d2f582ef1272116c863a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5a87bfd76cc6d2f582ef1272116c863a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:fad9626cd2ab433ce884ef75d06e840b
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "fad9626cd2ab433ce884ef75d06e840b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/9cea42c28a90ce1ac0cdf3bdb01199b8>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "9cea42c28a90ce1ac0cdf3bdb01199b8" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d5ef4ca7efebfdafc4d28d2d8ab019b1
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d5ef4ca7efebfdafc4d28d2d8ab019b1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8ef8c30c7e682a8c56af185c91c898ad>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8ef8c30c7e682a8c56af185c91c898ad" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/1903dde5ac84bece6238f20175ba583e>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "1903dde5ac84bece6238f20175ba583e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/1bb5f658bd511ed2752ae4ad57ef8528>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "1bb5f658bd511ed2752ae4ad57ef8528" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/57bce94d3031b52f361a3c043b1678d9>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "57bce94d3031b52f361a3c043b1678d9" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/776bc597d74bba0ad0c60c81b4c22529>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "776bc597d74bba0ad0c60c81b4c22529" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/259b382ef9f0a8eaaf84954bc09e3f38>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "259b382ef9f0a8eaaf84954bc09e3f38" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/09ee3daf174b1069b4ae66e31f5b8728>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "09ee3daf174b1069b4ae66e31f5b8728" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/77e3e5bcb167367015c391dfa91cb01f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "77e3e5bcb167367015c391dfa91cb01f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8b98c482cb67f55c2fb7174a00cdf09d>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8b98c482cb67f55c2fb7174a00cdf09d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5963146dc30cba248bb24e29b5002b78>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5963146dc30cba248bb24e29b5002b78" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cf320c8fb2e9db3a488b0ac016440f33
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cf320c8fb2e9db3a488b0ac016440f33" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:b6c9aeea4bf9daa1520156b9fe5a49e5
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "b6c9aeea4bf9daa1520156b9fe5a49e5" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8eab113defa6ac21fd87c0828292e926>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8eab113defa6ac21fd87c0828292e926" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0aaf20e1103fec92356373dd7de19887>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0aaf20e1103fec92356373dd7de19887" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/46cac4be99a8036f729ddd2df0cbc3c4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "46cac4be99a8036f729ddd2df0cbc3c4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8c2ab509b1e9cfa3dba90f9a4cb3037d>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8c2ab509b1e9cfa3dba90f9a4cb3037d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f9a134e17b7ac4a42a66b7b66d86d00b
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f9a134e17b7ac4a42a66b7b66d86d00b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0a46fb4249e6a218b943a8f6fe1ac090>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0a46fb4249e6a218b943a8f6fe1ac090" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/19838c3b991ad9f816ef491d96a721d3>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "19838c3b991ad9f816ef491d96a721d3" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/76419a6001ca12e313e13bde8840e405>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "76419a6001ca12e313e13bde8840e405" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/60ae1e4b56e80af0b81a20b96d4187b1>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "60ae1e4b56e80af0b81a20b96d4187b1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/1c1d1fd0c40ffe62076203d7ea2060a6>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "1c1d1fd0c40ffe62076203d7ea2060a6" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d4505963c15a4dd1cc77b34977b727c0
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d4505963c15a4dd1cc77b34977b727c0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0a69b193cce1416d4d6366fff46add3f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0a69b193cce1416d4d6366fff46add3f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/41ae97e88af106e5c9ee3588adc9e2ba>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "41ae97e88af106e5c9ee3588adc9e2ba" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f90bc6678d032b1203c3e003b05a903e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f90bc6678d032b1203c3e003b05a903e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:a1a4364ce6767907e600d8025c2f8cb9
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "a1a4364ce6767907e600d8025c2f8cb9" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5687522854e85ab6f4c324b273467ce4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5687522854e85ab6f4c324b273467ce4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:baa288870012628b450bd134175cb91a
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "baa288870012628b450bd134175cb91a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/031e9b8845e50e0f2484ed7eac94324e>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "031e9b8845e50e0f2484ed7eac94324e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/233a795834c4f862342250b0c8647d15>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "233a795834c4f862342250b0c8647d15" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f1ac3ad7a3cf88917b6ff453bcdae693
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f1ac3ad7a3cf88917b6ff453bcdae693" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e3c51e910902a9b4087f9d2dfe8629a2
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e3c51e910902a9b4087f9d2dfe8629a2" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/02c677db7c013653e475984bebf59b58>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "02c677db7c013653e475984bebf59b58" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:ad8e06f595ccd82c799c81e7838db45e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "ad8e06f595ccd82c799c81e7838db45e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/57fdb71d4feb243e727005e16d31d98a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "57fdb71d4feb243e727005e16d31d98a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/2a425d7fa4022573cb4824e91e2f5264>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "2a425d7fa4022573cb4824e91e2f5264" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e32bf54030b9a31d84249386a289287a
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e32bf54030b9a31d84249386a289287a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0315bd04919b2884af8f3c0a8b820ba0>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0315bd04919b2884af8f3c0a8b820ba0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cf701aabf06d091083135506f7d8b785
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cf701aabf06d091083135506f7d8b785" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f484ae309f3f981489724334f7a9e90b
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f484ae309f3f981489724334f7a9e90b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:ebfd92d4fa2fb375fb407070e5275bc1
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "ebfd92d4fa2fb375fb407070e5275bc1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/638c32d8700a7c8891e7ae2ed1f86dfc>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "638c32d8700a7c8891e7ae2ed1f86dfc" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d82546b18b55081cc9c8e46aff579c75
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d82546b18b55081cc9c8e46aff579c75" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/87e2496b12c3a58672970e4db4a013ed>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "87e2496b12c3a58672970e4db4a013ed" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/6c177d4df98c1ae795146245e1b8ded3>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "6c177d4df98c1ae795146245e1b8ded3" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/41ee849be721d50f1012987ec14cf4d5>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "41ee849be721d50f1012987ec14cf4d5" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/36357858aff9e011120ce12a4c9a735d>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "36357858aff9e011120ce12a4c9a735d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c654c9e1b47c7acd6c994f9213c02671
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c654c9e1b47c7acd6c994f9213c02671" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:face7445fb50e36d72b142e862381b05
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "face7445fb50e36d72b142e862381b05" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f24f1b4a152c70b2dbe51ad0c3171de3
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f24f1b4a152c70b2dbe51ad0c3171de3" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/09bbb9454457c17975696ac680349a0a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "09bbb9454457c17975696ac680349a0a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/809e08adf06dad4286658ba80dcb3ec0>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "809e08adf06dad4286658ba80dcb3ec0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/014c834f16b6e3780d6e0613e1b469e1>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "014c834f16b6e3780d6e0613e1b469e1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/2715eda6c886e5931ae16e7bc877db6c>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "2715eda6c886e5931ae16e7bc877db6c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/06c83ff34ec4231674e90095e24fbb12>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "06c83ff34ec4231674e90095e24fbb12" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/9e59891d2fff60c9a325c0760263ac53>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "9e59891d2fff60c9a325c0760263ac53" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8eccf8c0577135ac23cfc2514d4e41ce>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8eccf8c0577135ac23cfc2514d4e41ce" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:dd14c36fdcb4c93c80d8b8b6a9d7c400
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "dd14c36fdcb4c93c80d8b8b6a9d7c400" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/7708bcfebdd905bd82c3dddd7861e7a1>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "7708bcfebdd905bd82c3dddd7861e7a1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/49641427d736deffcdcbe2d086a6238f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "49641427d736deffcdcbe2d086a6238f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5f0961a539d8dc48fcfef822f71d735c>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5f0961a539d8dc48fcfef822f71d735c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5b18d66f489d69900a22782a1fd9f273>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5b18d66f489d69900a22782a1fd9f273" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/6f10f26c5cfbe3398b24a5d0cb360ee2>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "6f10f26c5cfbe3398b24a5d0cb360ee2" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/87fb9d24420b7def7d58e9eb5d014145>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "87fb9d24420b7def7d58e9eb5d014145" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d45e2fdff3725615b024f7b71fadef7e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d45e2fdff3725615b024f7b71fadef7e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c275c2b71b28e21ccaf2e16582f59e0d
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c275c2b71b28e21ccaf2e16582f59e0d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/25a8dd65997f9ba30e7416bbf774594f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "25a8dd65997f9ba30e7416bbf774594f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/besturenVanDeEredienst/635155C38DE5818A7C9F41A0>
ns0:wordtBediendDoor ns1:c654c9e1b47c7acd6c994f9213c02671 .
<http://data.lblod.info/id/besturenVanDeEredienst/63515FD38DE5818A7C9F41CA>
ns0:wordtBediendDoor ns1:face7445fb50e36d72b142e862381b05 .
<http://data.lblod.info/id/besturenVanDeEredienst/63523E848DE5818A7C9F41EE>
ns0:wordtBediendDoor ns1:f24f1b4a152c70b2dbe51ad0c3171de3 .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B8B54B5FEAF28DEDE6DC>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/09bbb9454457c17975696ac680349a0a> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374BABB4B5FEAF28DEDE6E7>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/809e08adf06dad4286658ba80dcb3ec0> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374BBF34B5FEAF28DEDE6F2>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/014c834f16b6e3780d6e0613e1b469e1> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374DCB44B5FEAF28DEDE720>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/2715eda6c886e5931ae16e7bc877db6c> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F1864B5FEAF28DEDE7F5>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/06c83ff34ec4231674e90095e24fbb12> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F3EE4B5FEAF28DEDE800>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/9e59891d2fff60c9a325c0760263ac53> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F8724B5FEAF28DEDE821>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8eccf8c0577135ac23cfc2514d4e41ce> .
<http://data.lblod.info/id/besturenVanDeEredienst/62B968EDD7779543F777954A>
ns0:wordtBediendDoor ns1:dd14c36fdcb4c93c80d8b8b6a9d7c400 .
<http://data.lblod.info/id/besturenVanDeEredienst/635152648DE5818A7C9F4182>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/7708bcfebdd905bd82c3dddd7861e7a1> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374F42C4B5FEAF28DEDE791>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/49641427d736deffcdcbe2d086a6238f> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374F9B54B5FEAF28DEDE79C>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5f0961a539d8dc48fcfef822f71d735c> .
<http://data.lblod.info/id/besturenVanDeEredienst/637501AF4B5FEAF28DEDE7B8>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5b18d66f489d69900a22782a1fd9f273> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F6894B5FEAF28DEDE816>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/6f10f26c5cfbe3398b24a5d0cb360ee2> .
<http://data.lblod.info/id/besturenVanDeEredienst/62B9BBA5D7779543F7779555>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/87fb9d24420b7def7d58e9eb5d014145> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C7DAFED7779543F77795E5>
ns0:wordtBediendDoor ns1:d45e2fdff3725615b024f7b71fadef7e .
<http://data.lblod.info/id/besturenVanDeEredienst/63496D8E8DE5818A7C9F4103>
ns0:wordtBediendDoor ns1:c275c2b71b28e21ccaf2e16582f59e0d .
<http://data.lblod.info/id/besturenVanDeEredienst/6316F9752F583C7A1CD0DBD9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/25a8dd65997f9ba30e7416bbf774594f> .

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/d6961c4e96350fd77b0706df54986272> 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,37 @@
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/>
DELETE WHERE {
graph ?g {
?changeEvent a <http://www.w3.org/ns/org#ChangeEvent>;
<http://lblod.data.gift/vocabularies/organisatie/veranderingsgebeurtenisResultaat> ?changeEventResult;
mu:uuid ?uuidChangeEvent;
?p ?o.
?changeEventResult a <http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat>;
mu:uuid ?uuidChangeEventResult;
?cP ?cO.
filter(?uuidChangeEvent ="63E4B56D1C2DE4F40F38C089")
}
}

View File

@@ -0,0 +1,21 @@
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/jobs> {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
VALUES ?type {
<http://vocab.deri.ie/cogs#Job>
<http://redpencil.data.gift/vocabularies/tasks/Task>
<http://open-services.net/ns/core#Error>
<http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer>
}
?s a ?type ;
?p ?o .
}
}

View File

@@ -0,0 +1 @@
delete where { graph ?g{ ?s a <http://mu.semte.ch/vocabularies/authorization/ElasticsearchIndex>; ?p ?o } }

View File

@@ -0,0 +1,44 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in (
ere:EredienstMandataris,
ere:BestuurVanDeEredienst,
ere:PositieBedienaar,
ere:BetrokkenLokaleBesturen,
ere:VerbondenJuridischeStructuren,
ere:RolBedienaar,
ere:EredienstBestuurseenheid,
ere:VoorwaardenBedienaar,
ere:CentraalBestuurVanDeEredienst,
ere:RepresentatiefOrgaan
))
}
}

View File

@@ -0,0 +1,90 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody <http://www.w3.org/ns/org#hasPost> ?post; ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization ?specializationP ?specializationO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody generiek:isTijdspecialisatieVan ?specialization.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?bestuurP ?bestuurO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?bestuur ?bestuurP ?bestuurO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?bestuurP ?bestuurO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization besluit:bestuurt ?bestuur.
}
}
}
}

View File

@@ -0,0 +1,73 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody <http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor>
?post; ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?post a ?type;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#role> ?role.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?post a ?type; mu:uuid ?uuid;
<http://www.w3.org/ns/org#role> ?role.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?post a ?type;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#role> ?role.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}

View File

@@ -0,0 +1,93 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?post; ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization ?specializationP ?specializationO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody generiek:isTijdspecialisatieVan ?specialization.
}
}
}
}
;
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?bestuurP ?bestuurO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?bestuur ?bestuurP ?bestuurO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur besluit:bestuurt ?s;?bestuurP ?bestuurO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
}
}

View File

@@ -0,0 +1,36 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?bestrokke.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?bestrokke.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?bestrokke.
}
}

View File

@@ -0,0 +1,87 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?resultingOrganization a ?type.
}
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ext:resultingOrganization ?resultingOrganization.
?s ?p ?o.
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?resultingOrganization a ?type.
}
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://www.w3.org/ns/org#originalOrganization> ?resultingOrganization.
?s ?p ?o.
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?resultingOrganization a ?type.
}
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s org:resultingOrganization ?resultingOrganization.
?s ?p ?o.
}
}

View File

@@ -0,0 +1,76 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek>
INSERT {
graph <http://mu.semte.ch/graphs/worship-service> {
?person a person:Person;
mu:uuid ?uuid;
foaf:givenName ?givenName;
foaf:familyName ?familyName;
<http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls;
persoon:gebruikteVoornaam ?firstNameUsed.
}
}
WHERE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?person a person:Person;
mu:uuid ?uuid;
foaf:givenName ?givenName;
foaf:familyName ?familyName.
optional {?person persoon:gebruikteVoornaam ?firstNameUsed. }
optional {?person <http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls.}
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# delete orphans
DELETE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?person a person:Person;
foaf:givenName ?givenName;
foaf:familyName ?familyName;
<http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls;
persoon:gebruikteVoornaam ?firstNameUsed.
}
}
WHERE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?person a person:Person;
foaf:givenName ?givenName;
foaf:familyName ?familyName.
optional{?person persoon:gebruikteVoornaam ?firstNameUsed.}
optional {?person <http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls.}
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,290 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <http://schema.org/>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX locn: <ttp://www.w3.org/ns/locn#>
# move geboorte to private graph
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <https://data.vlaanderen.be/ns/persoon#Geboorte>; ?p ?o.
}
}
;
DELETE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?contactPoint ?p ?o.
?addr ?x ?y.
}
}
insert {
graph <http://mu.semte.ch/graphs/worship-service> {
?contactPoint ?p ?o.
?addr ?x ?y.
}
}
where {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?contactPoint ?p ?o.
optional {
?contactPoint <http://www.w3.org/ns/locn#address> ?addr.
?addr ?x ?y.
}
filter (exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?s <http://schema.org/contactPoint> ?contactPoint.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?siteAddr; ?p ?o.
?siteAddr ?x ?y.
?addr ?addrP ?addrO.
?locAddr ?locP ?locO
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?siteAddr; ?p ?o.
?siteAddr ?x ?y.
?addr ?addrP ?addrO.
?locAddr ?locP ?locO
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?siteAddr;
?p ?o.
?siteAddr ?x ?y.
optional {
?siteAddr locn:address ?locAddr .
?locAddr ?locP ?locO.
}
optional {
?primarySite organisatie:bestaatUit ?addr.
?addr ?addrP ?addrO.
}
filter (exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?s <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite.
}
}
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s a ?type; ?p ?o.
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in(<http://www.w3.org/ns/org#Site>,
<http://www.w3.org/ns/locn#Address>,
<http://schema.org/ContactPoint>
)
&& exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?x ?y ?z.
filter(?z=?s)
}
}
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?bestaatUit; ?p ?o.
?bestaatUit ?bestaatUitP ?bestaatUitO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?bestaatUit; ?p ?o.
?bestaatUit ?bestaatUitP ?bestaatUitO.
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?bestaatUit; ?p ?o.
?bestaatUit ?bestaatUitP ?bestaatUitO.
filter (exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?unit <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite.
}
}
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s a ?type; ?p ?o.
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in(<http://www.w3.org/ns/prov#Location>,
<http://www.w3.org/ns/person#Person>,
<http://xmlns.com/foaf/0.1/Image>,
<http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>
)
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
org:hasSubOrganization ?subOrg;
skos:prefLabel ?name.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
org:hasSubOrganization ?subOrg;
skos:prefLabel ?name.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
<http://www.w3.org/ns/org#classification> ?classification;
mu:uuid ?uuid;
org:hasSubOrganization ?subOrg;
skos:prefLabel ?name.
filter(?classification in (
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
))
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
skos:prefLabel ?name.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
skos:prefLabel ?name.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
<http://www.w3.org/ns/org#classification> ?classification;
mu:uuid ?uuid;
skos:prefLabel ?name.
filter(?classification in (
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
)&& exists {
graph <http://mu.semte.ch/graphs/shared> {
?subOrg org:hasSubOrganization ?s .
}
})
}
}

View File

@@ -0,0 +1,40 @@
delete {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o
}
}
insert {
graph <http://mu.semte.ch/graphs/public> {
?s ?p ?o
}
}
where {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in (
<http://mu.semte.ch/vocabularies/ext/GeslachtCode>,
<http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>,
<http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode>,
<http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode>,
<http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode>,
<http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode>,
<http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode>,
<http://lblod.data.gift/vocabularies/organisatie/TypeEredienst>,
<http://www.w3.org/2004/02/skos/core#ConceptScheme>,
<http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode>,
<http://www.w3.org/2004/02/skos/core#Concept>,
<http://publications.europa.eu/ontology/euvoc#Country>,
<http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>,
<http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing>,
<http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis>,
<http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid>,
<http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium>,
<http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk>,
<http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen>,
<http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype>,
<http://www.w3.org/ns/org#Role>
))
}
}

View File

@@ -0,0 +1,3 @@
# must be the latest to run
MOVE <http://mu.semte.ch/graphs/organisatieportaal> TO <http://mu.semte.ch/graphs/administrative-unit>

View File

@@ -0,0 +1,44 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> besluit:Bestuurseenheid .
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> mu:uuid "141d9d6b-54af-4d17-b313-8d1c30bc3f5b" .
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> skos:prefLabel "Agentschap Binnenlands Bestuur" .
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> dcterms:identifier "OVO001835" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3470" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:familyName "Lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0989" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> ext:sessionRole "ABBOrganisatiePortaalGebruiker-lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3471" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:familyName "Editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0957" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> ext:sessionRole "ABBOrganisatiePortaalGebruiker-editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3472" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:familyName "Beheerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0958" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
}
}

View File

@@ -0,0 +1,42 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ext:sessionRole "ABBOrganisatiePortaalGebruiker-beheerder" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> mu:uuid "2fe9885b-d058-4059-b036-69b54444273d" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:familyName "WorshipLezer" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:account <http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> mu:uuid "8d411fea-5bf0-4925-ba97-14b2223f65ea" .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> ext:sessionRole "ABBOrganisatiePortaalErediensten-lezer" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> mu:uuid "4925580c-a1a9-43d4-b3f6-10bd7ff57e25" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:familyName "WorshipEditeerder" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:account <http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> mu:uuid "fe45b266-715c-481e-9a97-a70f6121166c" .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> mu:uuid "f3610493-f6e1-4490-9723-628fe0213491" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:familyName "WorshipBeheerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:account <http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> mu:uuid "2a88a4b4-4672-45eb-b072-c930bf3b40ae" .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder" .
}
}

View File

@@ -0,0 +1,30 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3470" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:familyName "Lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0989" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> ext:sessionRole "ABBOrganisatiePortaalGebruiker-lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3471" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:familyName "Editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0957" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
}
}

View File

@@ -0,0 +1,53 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> ext:sessionRole "ABBOrganisatiePortaalGebruiker-editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3472" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:familyName "Beheerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0958" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ext:sessionRole "ABBOrganisatiePortaalGebruiker-beheerder" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> mu:uuid "2fe9885b-d058-4059-b036-69b54444273d" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:familyName "WorshipLezer" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:account <http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> mu:uuid "8d411fea-5bf0-4925-ba97-14b2223f65ea" .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> ext:sessionRole "ABBOrganisatiePortaalErediensten-lezer" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> mu:uuid "4925580c-a1a9-43d4-b3f6-10bd7ff57e25" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:familyName "WorshipEditeerder" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:account <http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> mu:uuid "fe45b266-715c-481e-9a97-a70f6121166c" .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> mu:uuid "f3610493-f6e1-4490-9723-628fe0213491" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:familyName "WorshipBeheerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:account <http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> mu:uuid "2a88a4b4-4672-45eb-b072-c930bf3b40ae" .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder" .
}
}

View File

@@ -0,0 +1,23 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> mu:uuid "6928a160-f3fc-4b46-bae8-fb72a0ae833e" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:familyName "BothRoles" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:account <http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> mu:uuid "cd52ed34-7bcd-41df-a7d4-c805c1d1a197" .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder",
"ABBOrganisatiePortaalGebruiker-beheerder" .
}
}

View File

@@ -0,0 +1,22 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> mu:uuid "6928a160-f3fc-4b46-bae8-fb72a0ae833e" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:familyName "BothRoles" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:account <http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> mu:uuid "cd52ed34-7bcd-41df-a7d4-c805c1d1a197" .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder", "ABBOrganisatiePortaalGebruiker-beheerder" .
}
}

View File

@@ -0,0 +1,58 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
DELETE where {
graph <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> ?p ?o.
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ?aP ?aO.
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> ?wp ?wo.
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ?wpap ?wpao.
}
}
;
DELETE where {
graph <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> ?p ?o.
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ?aP ?aO.
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> ?wp ?wo.
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ?wpap ?wpao.
}
}
;
DELETE WHERE {
graph <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder",
"ABBOrganisatiePortaalGebruiker-beheerder" .
}
}
;
;
DELETE WHERE {
graph <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder",
"ABBOrganisatiePortaalGebruiker-beheerder" .
}
}
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b>{
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder",
"ABBOrganisatiePortaalGebruiker-editeerder" .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/public>{
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder",
"ABBOrganisatiePortaalGebruiker-editeerder" .
}
}

View File

@@ -0,0 +1,20 @@
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<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,12 @@
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/4393389e99127b68e7fc11936ba92e18> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054> . # Centraal bestuur
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b475fa47e17a8a05ae04a9e1fb9c9258> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Comité
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/90a9ec83cb93b9369bba7ff29d9ce5ce> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Bestuursraad
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/af811edba97c6ec34874d0830cbb1183> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Kerkfabriekraad
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a0701624aefb115b7eda2ff39139c2dd> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Kathedrale kerkraad
}
}

View File

@@ -0,0 +1,107 @@
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#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://www.w3.org/ns/org#classification> ?classification;
?p ?o.
filter exists {
graph <http://mu.semte.ch/graphs/public> {
?classification <http://mu.semte.ch/vocabularies/ext/appliesWithin> ?appliesWithin.
?appliesWithin mu:uuid ?classificationUuid.
filter(?classificationUuid in ("66ec74fd-8cfc-4e16-99c6-350b35012e86","f9cac08a-13c1-49da-9bcb-f650b0604054"))
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?specialization ?specializationP ?specializationO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization ?specializationP ?specializationO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?specialization a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>; generiek:isTijdspecialisatieVan ?specialization2; ?specializationP ?specializationO.
filter exists{
graph <http://mu.semte.ch/graphs/worship-service> {
?specialization2 a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>.
}
}
}
}
;
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandaat ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandaat ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandaat ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?orgaan <http://www.w3.org/ns/org#hasPost> ?mandaat.
}
}
}
}

View File

@@ -0,0 +1,47 @@
# Update status of the bestuurseenheden as well as the resulting status of the change event
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX lblodOrg: <http://lblod.data.gift/vocabularies/organisatie/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E8>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E7>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://data.lblod.info/id/veranderingsgebeurtenissen/63FF1583886F92ABFC08D0E6> <http://www.w3.org/ns/org#resultingOrganization> <http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>.
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E8>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E7>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://data.lblod.info/id/veranderingsgebeurtenissen/63FF1583886F92ABFC08D0E6> <http://www.w3.org/ns/org#resultingOrganization> <http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>.
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E8>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E7>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://data.lblod.info/id/veranderingsgebeurtenissen/63FF1583886F92ABFC08D0E6> <http://www.w3.org/ns/org#resultingOrganization> <http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>.
}
}

View File

@@ -0,0 +1,37 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX lblodOrg: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier;
?p ?o.
?structuredIdentifier ?sp ?so.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier;
?p ?o.
?structuredIdentifier ?sp ?so.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier;
?p ?o.
?structuredIdentifier ?sp ?so.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?org adms:identifier ?identifier.
}
}
}
}

View File

@@ -0,0 +1,293 @@
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 persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# geslacht
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# nationaliteit
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# registration
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
optional { ?registration ?t ?j. }
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
optional {?registration ?t ?j.}
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}

View File

@@ -0,0 +1,40 @@
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> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s a <http://mu.semte.ch/vocabularies/ext/PersonInformationUpdate>; <http://mu.semte.ch/vocabularies/ext/person> ?person; ?p ?o.
filter (
exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}

View File

@@ -0,0 +1,40 @@
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> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s a <http://mu.semte.ch/vocabularies/ext/PersonInformationRead>; <http://mu.semte.ch/vocabularies/ext/person> ?person; ?p ?o.
filter (
exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}

View File

@@ -0,0 +1,43 @@
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> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s a ?type; <http://mu.semte.ch/vocabularies/ext/person> ?person; ?p ?o.
filter (
(?type = <http://mu.semte.ch/vocabularies/ext/PersonInformationUpdate> || ?type = <http://mu.semte.ch/vocabularies/ext/PersonInformationRead>)
&&
exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}

View File

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

View File

@@ -0,0 +1,26 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
rdf:type <http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode> , skos:Concept ;
<http://mu.semte.ch/vocabularies/core/uuid> "80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d" ;
skos:topConceptOf <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> ;
skos:prefLabel "Autonoom provinciebedrijf" ;
skos:inScheme <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> ;
<http://schema.org/publication> <http://lblod.data.gift/concepts/83f7b480-fcaf-4795-b603-7f3bce489325> .
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
rdf:type <http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode> , skos:Concept ;
<http://mu.semte.ch/vocabularies/core/uuid> "36a82ba0-7ff1-4697-a9dd-2e94df73b721" ;
skos:topConceptOf <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> ;
skos:prefLabel "Autonoom gemeentebedrijf" ;
skos:inScheme <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> ;
<http://schema.org/publication> <http://lblod.data.gift/concepts/83f7b480-fcaf-4795-b603-7f3bce489325> .
<http://lblod.data.gift/concepts/dcc01338-842c-4fbd-ba68-3ca6f3af975c> a <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>;
<http://mu.semte.ch/vocabularies/core/uuid> "dcc01338-842c-4fbd-ba68-3ca6f3af975c";
<http://www.w3.org/2004/02/skos/core#prefLabel> "Correspondentieadres";
<http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/f8319ccf40fc2a1697edc5cf7e03018f>;
<http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>;
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/f8319ccf40fc2a1697edc5cf7e03018f>.

View File

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

View File

@@ -0,0 +1,31 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
<http://lblod.data.gift/concepts/b85363df-b598-4a21-b8ae-0dea78db73cb>
rdf:type <http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis> ;
<http://mu.semte.ch/vocabularies/core/uuid> "b85363df-b598-4a21-b8ae-0dea78db73cb" ;
skos:prefLabel "In ontbinding" ;
skos:inScheme <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ;
skos:topConceptOf <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> .
<http://lblod.data.gift/concepts/e8dc166e-4769-4f28-bcf8-af2fb8cb7d15>
rdf:type <http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis> ;
<http://mu.semte.ch/vocabularies/core/uuid> "e8dc166e-4769-4f28-bcf8-af2fb8cb7d15" ;
skos:prefLabel "In vereffening" ;
skos:inScheme <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ;
skos:topConceptOf <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> .
<http://lblod.data.gift/concepts/b5f471a8-eb2e-4ec3-9f84-2c179134e2be>
rdf:type <http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis> ;
<http://mu.semte.ch/vocabularies/core/uuid> "b5f471a8-eb2e-4ec3-9f84-2c179134e2be" ;
skos:prefLabel "Ontbonden en vereffend" ;
skos:inScheme <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ;
skos:topConceptOf <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> .
<http://lblod.data.gift/concepts/f0e2706a-3b64-4464-ad9c-4e65dc976288>
rdf:type <http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis> ;
<http://mu.semte.ch/vocabularies/core/uuid> "f0e2706a-3b64-4464-ad9c-4e65dc976288" ;
skos:prefLabel "Oprichting" ;
skos:inScheme <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ;
skos:topConceptOf <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> .

View File

@@ -0,0 +1,27 @@
# AGB AG2B has been added in Loket in the meantime. I'm adapting to Loket's URI
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/bestuurseenheden/a7aaef2f-6e8f-4351-9303-bdc4288bc6f0> ?p ?o .
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855> ?p ?o .
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/bestuurseenheden/a7aaef2f-6e8f-4351-9303-bdc4288bc6f0> ?p ?o .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855> <http://mu.semte.ch/vocabularies/core/uuid> "a7aaef2f-6e8f-4351-9303-bdc4288bc6f0" .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855> <http://mu.semte.ch/vocabularies/core/uuid> "e0920e46-85b9-4736-a906-b254cc7f1855" .
}
}

View File

@@ -0,0 +1,301 @@
# Classification Raad van bestuur
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?orgaanInTime a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaanInTime ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> "2019-01-01T00:00:00"^^xsd:dateTime .
?orgaan a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaan ;
<http://www.w3.org/2004/02/skos/core#prefLabel> ?orgaanLabel ;
<http://www.w3.org/ns/org#classification> ?classificationOrgaan ;
<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid .
}
} WHERE {
VALUES ?classificationBestuurseenheid {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
}
VALUES ?classificationOrgaan {
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/013cc838-173a-4657-b1ae-b00c048df943>
}
VALUES ?bestuurseenheid {
<http://data.lblod.info/id/bestuurseenheden/e0d71bad-4684-4796-9f76-c3babb972a0f>
<http://data.lblod.info/id/bestuurseenheden/cec30867-e378-4e86-9568-1efebb6ccd7d>
<http://data.lblod.info/id/bestuurseenheden/b206763c-d8d2-45bd-ba1b-b5462bdd823c>
<http://data.lblod.info/id/bestuurseenheden/70285c2d-2045-414e-bd49-56155a736e56>
<http://data.lblod.info/id/bestuurseenheden/2908c8ed-0f67-44c0-b69e-5a8b07238d15>
<http://data.lblod.info/id/bestuurseenheden/f4228a39-de89-4a50-925f-d5d8d5109e79>
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6>
<http://data.lblod.info/id/bestuurseenheden/b25f4408-0b7c-46d0-a234-0936cac4eb7c>
<http://data.lblod.info/id/bestuurseenheden/b81fdc5f-d1ba-49f2-831f-ed549ad94394>
<http://data.lblod.info/id/bestuurseenheden/3deaa042-58f3-474f-abc2-9cb3e15f4221>
<http://data.lblod.info/id/bestuurseenheden/863673c6-7bc9-4bbd-a42a-9ef1d2dc4c05>
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855>
<http://data.lblod.info/id/bestuurseenheden/99509194-025b-4292-9add-aa98b4867350>
<http://data.lblod.info/id/bestuurseenheden/6479BE11E20833AEA681F731>
<http://data.lblod.info/id/bestuurseenheden/648C3D65190444E254CA3901>
<http://data.lblod.info/id/bestuurseenheden/648C4C67190444E254CA390E>
<http://data.lblod.info/id/bestuurseenheden/6479B935E20833AEA681F719>
<http://data.lblod.info/id/bestuurseenheden/5c6ab343-3405-475d-a184-d44bbe7e787a>
<http://data.lblod.info/id/bestuurseenheden/646DCAC8E20833AEA681F608>
<http://data.lblod.info/id/bestuurseenheden/648C3BB7190444E254CA38F4>
<http://data.lblod.info/id/bestuurseenheden/646F2BB5E20833AEA681F62C>
<http://data.lblod.info/id/bestuurseenheden/8e448f7f-5a1d-44b0-a99d-274b2cc66f58>
<http://data.lblod.info/id/bestuurseenheden/5202c9ba-40fb-44e2-8116-6eceadc1e60a>
<http://data.lblod.info/id/bestuurseenheden/6478831EE20833AEA681F690>
<http://data.lblod.info/id/bestuurseenheden/646F25AEE20833AEA681F61A>
<http://data.lblod.info/id/bestuurseenheden/646F2609E20833AEA681F623>
<http://data.lblod.info/id/bestuurseenheden/6488403F190444E254CA3891>
<http://data.lblod.info/id/bestuurseenheden/648C3B22190444E254CA38EB>
<http://data.lblod.info/id/bestuurseenheden/646F2295E20833AEA681F611>
<http://data.lblod.info/id/bestuurseenheden/6479B670E20833AEA681F702>
<http://data.lblod.info/id/bestuurseenheden/6488488C190444E254CA38A5>
<http://data.lblod.info/id/bestuurseenheden/648841E2190444E254CA389A>
}
?bestuurseenheid a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> ;
skos:prefLabel ?bestuurseenheidLabel .
?classificationOrgaan skos:prefLabel ?classificationOrgaanLabel .
BIND(CONCAT(?bestuurseenheidLabel, " Leidend ambtenaar") as ?functieLabel)
BIND(CONCAT(?classificationOrgaanLabel, " ", ?bestuurseenheidLabel) as ?orgaanLabel)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaanInTime")) as ?uuidOrgaanInTime)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaan")) as ?uuidOrgaan)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaan)) AS ?orgaan)
}
;
# Classification Bevoegd beslissingsorgaan
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?orgaanInTime a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaanInTime ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> "2019-01-01T00:00:00"^^xsd:dateTime .
?orgaan a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaan ;
<http://www.w3.org/2004/02/skos/core#prefLabel> ?orgaanLabel ;
<http://www.w3.org/ns/org#classification> ?classificationOrgaan ;
<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid .
}
} WHERE {
VALUES ?classificationBestuurseenheid {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
}
VALUES ?classificationOrgaan {
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/0dbc70ec-6be9-4997-b8e1-11b6c0542382>
}
VALUES ?bestuurseenheid {
<http://data.lblod.info/id/bestuurseenheden/e0d71bad-4684-4796-9f76-c3babb972a0f>
<http://data.lblod.info/id/bestuurseenheden/cec30867-e378-4e86-9568-1efebb6ccd7d>
<http://data.lblod.info/id/bestuurseenheden/b206763c-d8d2-45bd-ba1b-b5462bdd823c>
<http://data.lblod.info/id/bestuurseenheden/70285c2d-2045-414e-bd49-56155a736e56>
<http://data.lblod.info/id/bestuurseenheden/2908c8ed-0f67-44c0-b69e-5a8b07238d15>
<http://data.lblod.info/id/bestuurseenheden/f4228a39-de89-4a50-925f-d5d8d5109e79>
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6>
<http://data.lblod.info/id/bestuurseenheden/b25f4408-0b7c-46d0-a234-0936cac4eb7c>
<http://data.lblod.info/id/bestuurseenheden/b81fdc5f-d1ba-49f2-831f-ed549ad94394>
<http://data.lblod.info/id/bestuurseenheden/3deaa042-58f3-474f-abc2-9cb3e15f4221>
<http://data.lblod.info/id/bestuurseenheden/863673c6-7bc9-4bbd-a42a-9ef1d2dc4c05>
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855>
<http://data.lblod.info/id/bestuurseenheden/99509194-025b-4292-9add-aa98b4867350>
<http://data.lblod.info/id/bestuurseenheden/6479BE11E20833AEA681F731>
<http://data.lblod.info/id/bestuurseenheden/648C3D65190444E254CA3901>
<http://data.lblod.info/id/bestuurseenheden/648C4C67190444E254CA390E>
<http://data.lblod.info/id/bestuurseenheden/6479B935E20833AEA681F719>
<http://data.lblod.info/id/bestuurseenheden/5c6ab343-3405-475d-a184-d44bbe7e787a>
<http://data.lblod.info/id/bestuurseenheden/646DCAC8E20833AEA681F608>
<http://data.lblod.info/id/bestuurseenheden/648C3BB7190444E254CA38F4>
<http://data.lblod.info/id/bestuurseenheden/646F2BB5E20833AEA681F62C>
<http://data.lblod.info/id/bestuurseenheden/8e448f7f-5a1d-44b0-a99d-274b2cc66f58>
<http://data.lblod.info/id/bestuurseenheden/5202c9ba-40fb-44e2-8116-6eceadc1e60a>
<http://data.lblod.info/id/bestuurseenheden/6478831EE20833AEA681F690>
<http://data.lblod.info/id/bestuurseenheden/646F25AEE20833AEA681F61A>
<http://data.lblod.info/id/bestuurseenheden/646F2609E20833AEA681F623>
<http://data.lblod.info/id/bestuurseenheden/6488403F190444E254CA3891>
<http://data.lblod.info/id/bestuurseenheden/648C3B22190444E254CA38EB>
<http://data.lblod.info/id/bestuurseenheden/646F2295E20833AEA681F611>
<http://data.lblod.info/id/bestuurseenheden/6479B670E20833AEA681F702>
<http://data.lblod.info/id/bestuurseenheden/6488488C190444E254CA38A5>
<http://data.lblod.info/id/bestuurseenheden/648841E2190444E254CA389A>
}
?bestuurseenheid a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> ;
skos:prefLabel ?bestuurseenheidLabel .
?classificationOrgaan skos:prefLabel ?classificationOrgaanLabel .
BIND(CONCAT(?bestuurseenheidLabel, " Leidend ambtenaar") as ?functieLabel)
BIND(CONCAT(?classificationOrgaanLabel, " ", ?bestuurseenheidLabel) as ?orgaanLabel)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaanInTime")) as ?uuidOrgaanInTime)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaan")) as ?uuidOrgaan)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaan)) AS ?orgaan)
}
;
# Classification Algemene vergadering
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?orgaanInTime a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaanInTime ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> "2019-01-01T00:00:00"^^xsd:dateTime .
?orgaan a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaan ;
<http://www.w3.org/2004/02/skos/core#prefLabel> ?orgaanLabel ;
<http://www.w3.org/ns/org#classification> ?classificationOrgaan ;
<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid .
}
} WHERE {
VALUES ?classificationBestuurseenheid {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
}
VALUES ?classificationOrgaan {
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b52094ff-21a2-4da8-8dbe-f513365d1528>
}
VALUES ?bestuurseenheid {
<http://data.lblod.info/id/bestuurseenheden/e0d71bad-4684-4796-9f76-c3babb972a0f>
<http://data.lblod.info/id/bestuurseenheden/cec30867-e378-4e86-9568-1efebb6ccd7d>
<http://data.lblod.info/id/bestuurseenheden/b206763c-d8d2-45bd-ba1b-b5462bdd823c>
<http://data.lblod.info/id/bestuurseenheden/70285c2d-2045-414e-bd49-56155a736e56>
<http://data.lblod.info/id/bestuurseenheden/2908c8ed-0f67-44c0-b69e-5a8b07238d15>
<http://data.lblod.info/id/bestuurseenheden/f4228a39-de89-4a50-925f-d5d8d5109e79>
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6>
<http://data.lblod.info/id/bestuurseenheden/b25f4408-0b7c-46d0-a234-0936cac4eb7c>
<http://data.lblod.info/id/bestuurseenheden/b81fdc5f-d1ba-49f2-831f-ed549ad94394>
<http://data.lblod.info/id/bestuurseenheden/3deaa042-58f3-474f-abc2-9cb3e15f4221>
<http://data.lblod.info/id/bestuurseenheden/863673c6-7bc9-4bbd-a42a-9ef1d2dc4c05>
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855>
<http://data.lblod.info/id/bestuurseenheden/99509194-025b-4292-9add-aa98b4867350>
<http://data.lblod.info/id/bestuurseenheden/6479BE11E20833AEA681F731>
<http://data.lblod.info/id/bestuurseenheden/648C3D65190444E254CA3901>
<http://data.lblod.info/id/bestuurseenheden/648C4C67190444E254CA390E>
<http://data.lblod.info/id/bestuurseenheden/6479B935E20833AEA681F719>
<http://data.lblod.info/id/bestuurseenheden/5c6ab343-3405-475d-a184-d44bbe7e787a>
<http://data.lblod.info/id/bestuurseenheden/646DCAC8E20833AEA681F608>
<http://data.lblod.info/id/bestuurseenheden/648C3BB7190444E254CA38F4>
<http://data.lblod.info/id/bestuurseenheden/646F2BB5E20833AEA681F62C>
<http://data.lblod.info/id/bestuurseenheden/8e448f7f-5a1d-44b0-a99d-274b2cc66f58>
<http://data.lblod.info/id/bestuurseenheden/5202c9ba-40fb-44e2-8116-6eceadc1e60a>
<http://data.lblod.info/id/bestuurseenheden/6478831EE20833AEA681F690>
<http://data.lblod.info/id/bestuurseenheden/646F25AEE20833AEA681F61A>
<http://data.lblod.info/id/bestuurseenheden/646F2609E20833AEA681F623>
<http://data.lblod.info/id/bestuurseenheden/6488403F190444E254CA3891>
<http://data.lblod.info/id/bestuurseenheden/648C3B22190444E254CA38EB>
<http://data.lblod.info/id/bestuurseenheden/646F2295E20833AEA681F611>
<http://data.lblod.info/id/bestuurseenheden/6479B670E20833AEA681F702>
<http://data.lblod.info/id/bestuurseenheden/6488488C190444E254CA38A5>
<http://data.lblod.info/id/bestuurseenheden/648841E2190444E254CA389A>
}
?bestuurseenheid a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> ;
skos:prefLabel ?bestuurseenheidLabel .
?classificationOrgaan skos:prefLabel ?classificationOrgaanLabel .
BIND(CONCAT(?bestuurseenheidLabel, " Leidend ambtenaar") as ?functieLabel)
BIND(CONCAT(?classificationOrgaanLabel, " ", ?bestuurseenheidLabel) as ?orgaanLabel)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaanInTime")) as ?uuidOrgaanInTime)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaan")) as ?uuidOrgaan)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaan)) AS ?orgaan)
}
;
# Classification Leidend Ambtenaar
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?orgaanInTime a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaanInTime ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> "2019-01-01T00:00:00"^^xsd:dateTime .
?orgaan a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> ?uuidOrgaan ;
<http://www.w3.org/2004/02/skos/core#prefLabel> ?orgaanLabel ;
<http://www.w3.org/ns/org#classification> ?classificationOrgaan ;
<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid .
}
} WHERE {
VALUES ?classificationBestuurseenheid {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
}
VALUES ?classificationOrgaan {
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/41caf7e6-b040-4720-9cc2-a96cfffed5b4>
}
VALUES ?bestuurseenheid {
<http://data.lblod.info/id/bestuurseenheden/e0d71bad-4684-4796-9f76-c3babb972a0f>
<http://data.lblod.info/id/bestuurseenheden/cec30867-e378-4e86-9568-1efebb6ccd7d>
<http://data.lblod.info/id/bestuurseenheden/b206763c-d8d2-45bd-ba1b-b5462bdd823c>
<http://data.lblod.info/id/bestuurseenheden/70285c2d-2045-414e-bd49-56155a736e56>
<http://data.lblod.info/id/bestuurseenheden/2908c8ed-0f67-44c0-b69e-5a8b07238d15>
<http://data.lblod.info/id/bestuurseenheden/f4228a39-de89-4a50-925f-d5d8d5109e79>
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6>
<http://data.lblod.info/id/bestuurseenheden/b25f4408-0b7c-46d0-a234-0936cac4eb7c>
<http://data.lblod.info/id/bestuurseenheden/b81fdc5f-d1ba-49f2-831f-ed549ad94394>
<http://data.lblod.info/id/bestuurseenheden/3deaa042-58f3-474f-abc2-9cb3e15f4221>
<http://data.lblod.info/id/bestuurseenheden/863673c6-7bc9-4bbd-a42a-9ef1d2dc4c05>
<http://data.lblod.info/id/bestuurseenheden/e0920e46-85b9-4736-a906-b254cc7f1855>
<http://data.lblod.info/id/bestuurseenheden/99509194-025b-4292-9add-aa98b4867350>
<http://data.lblod.info/id/bestuurseenheden/6479BE11E20833AEA681F731>
<http://data.lblod.info/id/bestuurseenheden/648C3D65190444E254CA3901>
<http://data.lblod.info/id/bestuurseenheden/648C4C67190444E254CA390E>
<http://data.lblod.info/id/bestuurseenheden/6479B935E20833AEA681F719>
<http://data.lblod.info/id/bestuurseenheden/5c6ab343-3405-475d-a184-d44bbe7e787a>
<http://data.lblod.info/id/bestuurseenheden/646DCAC8E20833AEA681F608>
<http://data.lblod.info/id/bestuurseenheden/648C3BB7190444E254CA38F4>
<http://data.lblod.info/id/bestuurseenheden/646F2BB5E20833AEA681F62C>
<http://data.lblod.info/id/bestuurseenheden/8e448f7f-5a1d-44b0-a99d-274b2cc66f58>
<http://data.lblod.info/id/bestuurseenheden/5202c9ba-40fb-44e2-8116-6eceadc1e60a>
<http://data.lblod.info/id/bestuurseenheden/6478831EE20833AEA681F690>
<http://data.lblod.info/id/bestuurseenheden/646F25AEE20833AEA681F61A>
<http://data.lblod.info/id/bestuurseenheden/646F2609E20833AEA681F623>
<http://data.lblod.info/id/bestuurseenheden/6488403F190444E254CA3891>
<http://data.lblod.info/id/bestuurseenheden/648C3B22190444E254CA38EB>
<http://data.lblod.info/id/bestuurseenheden/646F2295E20833AEA681F611>
<http://data.lblod.info/id/bestuurseenheden/6479B670E20833AEA681F702>
<http://data.lblod.info/id/bestuurseenheden/6488488C190444E254CA38A5>
<http://data.lblod.info/id/bestuurseenheden/648841E2190444E254CA389A>
}
?bestuurseenheid a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> ;
skos:prefLabel ?bestuurseenheidLabel .
?classificationOrgaan skos:prefLabel ?classificationOrgaanLabel .
BIND(CONCAT(?bestuurseenheidLabel, " Leidend ambtenaar") as ?functieLabel)
BIND(CONCAT(?classificationOrgaanLabel, " ", ?bestuurseenheidLabel) as ?orgaanLabel)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaanInTime")) as ?uuidOrgaanInTime)
BIND(MD5(CONCAT(?bestuurseenheid, ?classificationOrgaan, "orgaan")) as ?uuidOrgaan)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaan)) AS ?orgaan)
}

View File

@@ -0,0 +1,24 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?orgaanInTime <http://data.vlaanderen.be/ns/mandaat#bindingStart> ?start .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?orgaanInTime <http://data.vlaanderen.be/ns/mandaat#bindingStart> ?startDateTime .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
VALUES ?classificationBestuurseenheid {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
}
?orgaanInTime <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> ?start .
?bestuurseenheid <http://www.w3.org/ns/org#classification> ?classificationBestuurseenheid .
# The hour is arbitrary, but there is a bug in virtuoso when if the time is `T00:00:00` it doesn't apply the type change at all
BIND(IF(strlen(str(?start)) = 10, strdt(concat(str(?start), 'T02:00:00'), xsd:dateTime), ?start) as ?startDateTime)
}
}

View File

@@ -0,0 +1,42 @@
# We have two bestuursorganen of the same classification for 2 bestuurseenheden.
# Then need to be merged, as we should only have one orgaan (not in time) per classification.
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/worship-service> {
?otherBestuursorgaan ?potherBestuursorgaan ?ootherBestuursorgaan .
?s ?p ?otherBestuursorgaan .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?bestuursorgaan .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
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 ;
<http://www.w3.org/ns/org#classification> ?classif .
?otherBestuursorgaan besluit:bestuurt ?bestuurseenheid ;
<http://www.w3.org/ns/org#classification> ?classif ;
?potherBestuursorgaan ?ootherBestuursorgaan .
?s ?p ?otherBestuursorgaan .
FILTER (str(?bestuursorgaan) > str(?otherBestuursorgaan))
}
}

View File

@@ -0,0 +1,46 @@
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#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?orgaanInTime a besluit:Bestuursorgaan ;
mu:uuid ?uuidOrgaanInTime ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
generiek:isTijdspecialisatieVan ?bestuursorgaan .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
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 .
FILTER NOT EXISTS {
?missingOrgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
?missingOrgaanInTime mandaat:bindingStart ?start .
FILTER CONTAINS(STR(?start), "2023")
}
FILTER NOT EXISTS {
?missingOrgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
?missingOrgaanInTime mandaat:bindingEinde ?end .
FILTER CONTAINS(STR(?end), "2026")
}
}
BIND(MD5(CONCAT(?bestuurseenheid, ?bestuursorgaan, "2023-2026")) as ?uuidOrgaanInTime)
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
}

View File

@@ -0,0 +1,152 @@
# Add missing mandates to central worship services
## 2023 - 2026
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/worship-service> {
?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/worship-service> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidExpert)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidExpert)) AS ?expert)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidVertegenwoordiger)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVertegenwoordiger)) AS ?vertegenwoordiger)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:CentraalBestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-03-31T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
FILTER NOT EXISTS {
?worshipService <http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> .
}
FILTER NOT EXISTS {
?orgaanInTime org:hasPost ?bestuurslid .
?bestuurslid org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/f848fa3cc2c5fb7c581a116866293925> .
}
}
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,186 @@
# Add missing mandates to worship services for period 2023-2026
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/worship-service> {
?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/worship-service> {
VALUES (?start ?end) {
("2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> "2026-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 : 2023 is the beggining of a KH
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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/worship-service> {
?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/worship-service> {
VALUES (?start ?end) {
("2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> "2026-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 2023-2029")) 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.
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidVoorzitter)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidVoorzitter)) AS ?voorzitter)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidSecretaris)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidSecretaris)) AS ?secretaris)
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?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/worship-service> {
?worshipService a ere:BestuurVanDeEredienst .
?orgaan besluit:bestuurt ?worshipService .
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
mandaat:bindingStart "2023-04-01T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
mandaat:bindingEinde "2026-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 2023-2026")) as ?uuidPenningmeester)
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
}

View File

@@ -0,0 +1,54 @@
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: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
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 <http://mu.semte.ch/graphs/shared> {
?person
?p ?o
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/shared> {
?person a person:Person ;
?p ?o.
}
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
VALUES ?typePosition {
<http://data.lblod.info/vocabularies/leidinggevenden/Functionaris>
<http://data.vlaanderen.be/ns/mandaat#Mandataris>
}
?position mandaat:isBestuurlijkeAliasVan ?person ;
a ?typePosition .
}
FILTER NOT EXISTS {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?worshipPosition <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person .
}
}
}

View File

@@ -0,0 +1,52 @@
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: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
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 <http://mu.semte.ch/graphs/administrative-unit> {
?functionaris ?p ?o.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?functionaris a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
org:holds ?bestuursFunctie ;
?p ?o .
}
?bestuursorgaanInTime lblodlg:heeftBestuursfunctie ?bestuursFunctie ;
generiek:isTijdspecialisatieVan ?bestuursorgaan .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
FILTER NOT EXISTS {
VALUES ?typeBestuur {
<http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>
<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>
}
?bestuurseenheid a ?typeBestuur .
}
}

View File

@@ -0,0 +1,53 @@
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: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
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 <http://mu.semte.ch/graphs/administrative-unit> {
?mandataris ?p ?o.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandataris a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
org:holds ?mandaat ;
?p ?o .
}
?bestuursorgaanInTime org:hasPost ?mandaat ;
generiek:isTijdspecialisatieVan ?bestuursorgaan .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
FILTER NOT EXISTS {
VALUES ?typeBestuur {
<http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>
<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>
}
?bestuurseenheid a ?typeBestuur .
}
}
LIMIT 1000000

View File

@@ -0,0 +1,53 @@
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: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
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 <http://mu.semte.ch/graphs/administrative-unit> {
?mandataris ?p ?o.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandataris a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
org:holds ?mandaat ;
?p ?o .
}
?bestuursorgaanInTime org:hasPost ?mandaat ;
generiek:isTijdspecialisatieVan ?bestuursorgaan .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
FILTER NOT EXISTS {
VALUES ?typeBestuur {
<http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>
<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>
}
?bestuurseenheid a ?typeBestuur .
}
}
LIMIT 1000000

View File

@@ -0,0 +1,52 @@
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: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
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 <http://mu.semte.ch/graphs/administrative-unit> {
?mandataris ?p ?o.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandataris a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
org:holds ?mandaat ;
?p ?o .
}
?bestuursorgaanInTime org:hasPost ?mandaat ;
generiek:isTijdspecialisatieVan ?bestuursorgaan .
?bestuursorgaan besluit:bestuurt ?bestuurseenheid .
FILTER NOT EXISTS {
VALUES ?typeBestuur {
<http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>
<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>
}
?bestuurseenheid a ?typeBestuur .
}
}

View File

@@ -0,0 +1,22 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?minister ?p ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?minister a ere:RolBedienaar ;
org:holds ?ministerPosition ;
?p ?o .
VALUES ?status {
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> # Actief
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> # Niet Actief
}
?worshipService <http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor> ?ministerPosition ;
<http://www.w3.org/ns/regorg#orgStatus> ?status .
}
}

View File

@@ -0,0 +1,24 @@
delete {
graph <http://mu.semte.ch/graphs/worship-service> {
?position <http://data.lblod.info/vocabularies/erediensten/functie> ?function.
}
}
insert {
graph <http://mu.semte.ch/graphs/worship-service> {
?position <http://data.lblod.info/vocabularies/erediensten/functie> <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb>.
}
}
where {
graph <http://mu.semte.ch/graphs/worship-service> {
?position <http://data.lblod.info/vocabularies/erediensten/functie> ?function.
?worshipService <http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor> ?position;
<http://www.w3.org/ns/regorg#orgStatus> ?worshipStatus.
filter (?function in (<http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7>,
<http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355>,
<http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22>)
&& ?worshipStatus = <http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab>)
}
}

View File

@@ -0,0 +1,19 @@
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s a <http://www.w3.org/ns/org#Post> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandaat> .
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s a <http://www.w3.org/ns/org#Post> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandaat> .
}
}

View File

@@ -0,0 +1,17 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
delete {
graph <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/veranderingsgebeurtenissen/642E815DE025A7C706F41E5D> <http://purl.org/dc/terms/date> "2023-03-30"^^xsd:date .
}
}
insert {
graph <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/veranderingsgebeurtenissen/642E815DE025A7C706F41E5D> <http://purl.org/dc/terms/date> "2023-04-06"^^xsd:date .
}
}
where {
graph <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/veranderingsgebeurtenissen/642E815DE025A7C706F41E5D> <http://purl.org/dc/terms/date> "2023-03-30"^^xsd:date .
}
}

View File

@@ -0,0 +1,23 @@
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/ad933a3247ab634eb1a8c7233e77d6ea8cd2b6e1950d302832d065dcb516bcf5> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Voeren" .
<http://data.lblod.info/id/bestuursorganen/082976d57de0655ac4f123b57d5cb008f612956d0a6de1742c02913dcbfcf125> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Drogenbos" .
<http://data.lblod.info/id/bestuursorganen/cc803c53b2e0b17aac1069f5566fb8e1c8dad2f702845515a662229721803c00> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Wezembeek-Oppem" .
<http://data.lblod.info/id/bestuursorganen/f373ece36dc05b29737c0adc14de95682161bb78a55cb85f786fac3fbd5b1cfc> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Sint-Genesius-Rode" .
<http://data.lblod.info/id/bestuursorganen/317126204426dc7cabb60ecb09cbe4ca4830882652884e1e5800e60231195f5c> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Linkebeek" .
<http://data.lblod.info/id/bestuursorganen/db8c3e2da85d7621120a986adc19fd8d21f501b39c01952238073abfe7d4a7e7> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Wemmel" .
<http://data.lblod.info/id/bestuursorganen/d7fffe5c17d1936d46b92620d1e454f38393736988514b5f339910a17c7134f0> <http://www.w3.org/2004/02/skos/core#prefLabel> "OCMWraad(Rechtstreeksverkiezing) Kraainem" .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/f373ece36dc05b29737c0adc14de95682161bb78a55cb85f786fac3fbd5b1cfc> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Sint-Genesius-Rode" .
<http://data.lblod.info/id/bestuursorganen/317126204426dc7cabb60ecb09cbe4ca4830882652884e1e5800e60231195f5c> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Linkebeek" .
<http://data.lblod.info/id/bestuursorganen/cc803c53b2e0b17aac1069f5566fb8e1c8dad2f702845515a662229721803c00> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Wezembeek-Oppem" .
<http://data.lblod.info/id/bestuursorganen/ad933a3247ab634eb1a8c7233e77d6ea8cd2b6e1950d302832d065dcb516bcf5> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Voeren" .
<http://data.lblod.info/id/bestuursorganen/082976d57de0655ac4f123b57d5cb008f612956d0a6de1742c02913dcbfcf125> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Drogenbos" .
<http://data.lblod.info/id/bestuursorganen/d7fffe5c17d1936d46b92620d1e454f38393736988514b5f339910a17c7134f0> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Kraainem" .
<http://data.lblod.info/id/bestuursorganen/db8c3e2da85d7621120a986adc19fd8d21f501b39c01952238073abfe7d4a7e7> <http://www.w3.org/2004/02/skos/core#prefLabel> "Raad voor Maatschappelijk Welzijn Wemmel" .
}
}

View File

@@ -0,0 +1,15 @@
delete {
graph <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/veranderingsgebeurtenissen/644616FDF08BCC5A4747B5A2> <http://purl.org/dc/terms/date> ?date.
}
}
insert {
graph <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/veranderingsgebeurtenissen/644616FDF08BCC5A4747B5A2> <http://purl.org/dc/terms/date> "2022-04-22".
}
}
where {
graph <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/veranderingsgebeurtenissen/644616FDF08BCC5A4747B5A2> <http://purl.org/dc/terms/date> ?date.
}
}

View File

@@ -0,0 +1,58 @@
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 {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
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 {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
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,60 @@
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 {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
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 {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
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,11 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ?p ?o .
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s a <http://data.vlaanderen.be/ns/mandaat#Fractie> ;
?p ?o .
}
}

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