Compare commits
212 Commits
v1.38.2
...
feature/ch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab5de759ad | ||
|
|
2953105d30 | ||
|
|
675437b18a | ||
|
|
f267b3fd5d | ||
|
|
79288808b6 | ||
|
|
cac8ffd248 | ||
|
|
702b067488 | ||
|
|
2c812ed48b | ||
|
|
c55ad4eebb | ||
|
|
65a2681b4d | ||
|
|
ae987abec1 | ||
|
|
c5abe136ce | ||
|
|
a456509fb2 | ||
|
|
b7b66a158f | ||
|
|
9743589fad | ||
|
|
52ae4b4ce7 | ||
|
|
50ccac2c5d | ||
|
|
ec5a01cc9c | ||
|
|
22be3539bd | ||
|
|
7759616e11 | ||
|
|
9421c9b91b | ||
|
|
abd3259567 | ||
|
|
20f50f6af4 | ||
|
|
c65fb23c0a | ||
|
|
9c3a014c74 | ||
|
|
f6701d613b | ||
|
|
93d6132fd6 | ||
|
|
a2cfc23117 | ||
|
|
e7ca87018f | ||
|
|
2f9de3e558 | ||
|
|
461e0dc3b4 | ||
|
|
fd80e71dcf | ||
|
|
226d5221a1 | ||
|
|
db291a6b65 | ||
|
|
00f153b8fb | ||
|
|
f25057912d | ||
|
|
0b26737122 | ||
|
|
04fb573e47 | ||
|
|
efaa9c6d08 | ||
|
|
2142483982 | ||
|
|
21a12b0a93 | ||
|
|
d34ccaafc8 | ||
|
|
4c8b9b00bf | ||
|
|
17156aa75e | ||
|
|
4449d4562d | ||
|
|
8413f79c17 | ||
|
|
072277e545 | ||
|
|
f46cd2012e | ||
|
|
1944f87cb2 | ||
|
|
132cd20bdc | ||
|
|
2fde7737ac | ||
|
|
f1e4e5acda | ||
|
|
42eab1d77e | ||
|
|
2623126771 | ||
|
|
1eb487eeb2 | ||
|
|
18c803410a | ||
|
|
88059fd091 | ||
|
|
3387d3d790 | ||
|
|
6f52c0234d | ||
|
|
68c2217a56 | ||
|
|
5738d0713f | ||
|
|
96b8e58b4f | ||
|
|
eccabc9b3a | ||
|
|
afae39a0a5 | ||
|
|
4744a63eff | ||
|
|
a2337e194a | ||
|
|
7da8c4a1db | ||
|
|
a376dd5ab2 | ||
|
|
5f2b75502e | ||
|
|
0e9251e73d | ||
|
|
3a19db4a79 | ||
|
|
eafee23db1 | ||
|
|
c21e72a840 | ||
|
|
5e798c3808 | ||
|
|
641e4054d1 | ||
|
|
83de2aa41c | ||
|
|
615a547f57 | ||
|
|
0730137bea | ||
|
|
4c2228fc7c | ||
|
|
6066a3d8d3 | ||
|
|
f0d0af671e | ||
|
|
9ed70419aa | ||
|
|
478f65ee89 | ||
|
|
2002099b98 | ||
|
|
ec00971263 | ||
|
|
0246b33d28 | ||
|
|
76192bc1ae | ||
|
|
a78b2c800f | ||
|
|
a7eceb44bf | ||
|
|
c133c4e0d9 | ||
|
|
e0982891ca | ||
|
|
da602481d9 | ||
|
|
50e3c42815 | ||
|
|
8db6b703bd | ||
|
|
cf7ef40da1 | ||
|
|
c8515c4318 | ||
|
|
a956d0be46 | ||
|
|
c266642337 | ||
|
|
e960ecf510 | ||
|
|
10cf942659 | ||
|
|
1191065481 | ||
|
|
442ba89e45 | ||
|
|
deb376380a | ||
|
|
8f02d0df92 | ||
|
|
14f011b326 | ||
|
|
9cc8a5d1f1 | ||
|
|
f5a0a73812 | ||
|
|
16eb50bbda | ||
|
|
a73fa140a9 | ||
|
|
f545b55075 | ||
|
|
e4b09d3295 | ||
|
|
1783573cc9 | ||
|
|
f65d4297e8 | ||
|
|
1a4453365f | ||
|
|
bd81e44662 | ||
|
|
2c356ced83 | ||
|
|
09c79650e4 | ||
|
|
a8f8eb9a3c | ||
|
|
4ad4ca725d | ||
|
|
f69668c5e9 | ||
|
|
0dedf2f662 | ||
|
|
279c3dbd9e | ||
|
|
71fbf65382 | ||
|
|
3379785f7e | ||
|
|
474e274d44 | ||
|
|
5f5c4f7326 | ||
|
|
2085838ad9 | ||
|
|
1a41b6202c | ||
|
|
0fe1966362 | ||
|
|
2d21ab98b1 | ||
|
|
6888c49d43 | ||
|
|
a1fc6cc7ef | ||
|
|
767ebac6ac | ||
|
|
fea06a6418 | ||
|
|
3ced194b73 | ||
|
|
65fd6a0afe | ||
|
|
9c5970756d | ||
|
|
e2a23bb07b | ||
|
|
7adbe9fd4f | ||
|
|
863d7182f9 | ||
|
|
38b7297a3a | ||
|
|
8976b9f5d5 | ||
|
|
9483da5572 | ||
|
|
0a655ddcae | ||
|
|
1b053e26b6 | ||
|
|
7735ee88aa | ||
|
|
6987375abe | ||
|
|
d4d5ceed31 | ||
|
|
d95b331c99 | ||
|
|
bec67cf7eb | ||
|
|
38291891f6 | ||
|
|
a79d080eb4 | ||
|
|
6f53b2e8af | ||
|
|
3d7c704f76 | ||
|
|
ac5492430e | ||
|
|
935e649ef2 | ||
|
|
5dfadf5046 | ||
|
|
6f43ca2848 | ||
|
|
e4d6e1f2a7 | ||
|
|
1d51182bc5 | ||
|
|
008b382ddc | ||
|
|
b9654a33db | ||
|
|
0de3869c4f | ||
|
|
0c37112fd2 | ||
|
|
118eb4c1fa | ||
|
|
5b2a1b1ac6 | ||
|
|
c5a0326ab6 | ||
|
|
2b027a4829 | ||
|
|
9cdd931af3 | ||
|
|
9c3d8d5db2 | ||
|
|
71d6ee5ed4 | ||
|
|
70cff61d79 | ||
|
|
265c25d942 | ||
|
|
0cb5a4729a | ||
|
|
b554787ab0 | ||
|
|
51b35b04f9 | ||
|
|
81c8266bd4 | ||
|
|
e24c6eece6 | ||
|
|
0ad97119df | ||
|
|
d455f47c9f | ||
|
|
7581b12c25 | ||
|
|
48b74c546e | ||
|
|
ce4abe4d27 | ||
|
|
e1bb06ba2c | ||
|
|
0274737c84 | ||
|
|
bfd10583bf | ||
|
|
c63b0659eb | ||
|
|
b8e2bb3186 | ||
|
|
fb75ba1738 | ||
|
|
bd935ce795 | ||
|
|
fe3957382e | ||
|
|
c50d077435 | ||
|
|
5eaae75cc3 | ||
|
|
334adafbba | ||
|
|
2109ff77fc | ||
|
|
3b333f13a6 | ||
|
|
6912cec711 | ||
|
|
efb5760925 | ||
|
|
00ddb35f40 | ||
|
|
227f093ebe | ||
|
|
9daccc7736 | ||
|
|
b25514e580 | ||
|
|
789cbd5703 | ||
|
|
c174bfaa03 | ||
|
|
b2e6c0edd0 | ||
|
|
ba3e33f01b | ||
|
|
e2e64c9b0d | ||
|
|
c3b44447ae | ||
|
|
ce61bf3619 | ||
|
|
2a668d2138 | ||
|
|
aac6e59d2a | ||
| fe789ce33f |
199
CHANGELOG.md
199
CHANGELOG.md
@@ -1,4 +1,195 @@
|
||||
# Changelog
|
||||
|
||||
## Unreleased
|
||||
- Added service to link addresses to addressregister uris [OP-3795]
|
||||
- Derive an organization's reference region(s) from its werkingsgebied; bump scope-of-operation to 0.2.0 [OP-3799]
|
||||
- Site type changes [OP-3818]
|
||||
- Frontend [v1.40.1](https://github.com/lblod/frontend-organization-portal/blob/v1.40.1/CHANGELOG.md), [v1.40.0](https://github.com/lblod/frontend-organization-portal/blob/5d2147662f620d420f54b9624a12c42ca2ac964a/CHANGELOG.md#v1400-2026-07-06), [v1.39.0](https://github.com/lblod/frontend-organization-portal/blob/5d2147662f620d420f54b9624a12c42ca2ac964a/CHANGELOG.md#v1390-2026-06-25) ,[v1.38.0](https://github.com/lblod/frontend-organization-portal/blob/5d2147662f620d420f54b9624a12c42ca2ac964a/CHANGELOG.md#v1380-2026-06-12)
|
||||
- Added Juridische vorm [OP-3816] [OP-3820]
|
||||
- Add new organization types (interlokale vereniging, vervoerregioraad, zorgraad, bosgroep, woonmaatschappij); add werkingsgebied (dct:spatial) to registered organizations [OP-3828]
|
||||
- Rename generic organization types to "Vereniging algemeen" / "Vennootschap algemeen" [OP-3828]
|
||||
- bump construct-organization-relationships [OP-3810]
|
||||
- "In Oprichting" bestuursorgaan lifecycle [OP-3810]
|
||||
- Added "werkingsgebied" filter [OP-3812]
|
||||
- Inhoudelijk thema [OP-3817]
|
||||
- Werkingsgebied (dct:spatial) for private OCMW associations [OP-3832]
|
||||
- Add a new "Wijkkantoor" site type [OP-3837]
|
||||
- cleanup local involvement herne [OP-3858]
|
||||
- Search organizations by vendor [OP-3808]
|
||||
- Add organization types "Regionaal zorgplatform" (altLabel "Regionale zorgzone") and residual "Andere" [OP-3844]
|
||||
- Move organizations from "Vereniging algemeen" / "Vennootschap algemeen" to "Andere"; delete those codes [OP-3844]
|
||||
- Bump construct-organization-relationships [OP-3844]
|
||||
- Frontend [v1.40.5](https://github.com/lblod/frontend-organization-portal/blob/v1.40.5/CHANGELOG.md) [OP-3844] [OP-3808] [OP-3849]
|
||||
- Consume and serve provenance properties on harvested Worship positions [DL-7437]
|
||||
- Frontend [v1.41.0](https://github.com/lblod/frontend-organization-portal/blob/v1.41.0/CHANGELOG.md) [DL-7438]
|
||||
- Keep werkingsgebied filter up to date via db-cleanup service [OP-3841]
|
||||
- Restrict available imam roles based on worship organisation status [DL-7485]
|
||||
- IMPORTANT NOTE: Make sure first the [DL-7485] loket migration has completed + data has flown from loket to OP
|
||||
- Frontend [v1.41.1](https://github.com/lblod/frontend-organization-portal/blob/v1.41.1/CHANGELOG.md) [DL-7438]
|
||||
- Frontend [v1.42.0](https://github.com/lblod/frontend-organization-portal/blob/a0fb2536afe7019c2943c8312e50648c14249e02/CHANGELOG.md#v1420-2026-08-20)
|
||||
- Fix broken lmb mandataris mappin query [OP-3867]
|
||||
- Add the value politiecollege to the existing dropdown list beslissingsorgaan [DL-7473]
|
||||
- Bump construct-organization-relationships [DL-7473] [OP-3851]
|
||||
- fix duplicate van rechtswege/grote helft mandates [OP-3851]
|
||||
- IMPORTANT NOTE: Make sure first the loket migration has completed + data has flown from loket to OP
|
||||
- Add missing headers to identifier calls
|
||||
- Add columns to administrative units report [OP-3835]
|
||||
- Added "Wijziging werkingsgebied" change event [OP-3905]
|
||||
- Frontend [v1.43.0](https://github.com/lblod/frontend-organization-portal/blob/v1.43.0/CHANGELOG.md)
|
||||
- Add "Bijkomende kwalificatie" (with "Rechtsgrond" and "Definitie") codelist and organization relationship [OP-3902]
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc up -d link-adressenregister-uri frontend construct-organization-relationships identifier
|
||||
drc restart resource migrations dispatcher
|
||||
```
|
||||
|
||||
```
|
||||
drc restart migrations
|
||||
drc up -d frontend scope-of-operation
|
||||
drc restart cache resource
|
||||
```
|
||||
|
||||
```
|
||||
drc pull construct-organization-relationships && drc up -d construct-organization-relationships
|
||||
drc restart migrations
|
||||
drc restart resource cache
|
||||
drc restart delta-producer-publication-graph-maintainer
|
||||
scripts/reset-elastic.sh
|
||||
drc restart migrations frontend db resource cache
|
||||
# reindex elastic search:
|
||||
/bin/bash scripts/reset-elastic.sh
|
||||
drc restart migrations search
|
||||
drc up -d frontend
|
||||
```
|
||||
```
|
||||
drc restart migrations
|
||||
drc restart db-cleanup
|
||||
```
|
||||
|
||||
```
|
||||
# requires frontend >= 1.40.5 and construct-organization-relationships >= 1.1.4 (both bumped in compose here)
|
||||
drc pull construct-organization-relationships && drc up -d construct-organization-relationships
|
||||
drc restart migrations-triggering-indexing
|
||||
drc up -d frontend
|
||||
drc restart cache resource
|
||||
```
|
||||
|
||||
```
|
||||
drc restart migrations resource delta-producer-publication-graph-maintainer
|
||||
```
|
||||
|
||||
```
|
||||
drc restart migrations mandatarissen-consumer
|
||||
```
|
||||
|
||||
```
|
||||
drc restart migrations report-generation resource cache
|
||||
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs
|
||||
drc up -d construct-organization-relationships frontend
|
||||
```
|
||||
|
||||
```
|
||||
drc up -d frontend
|
||||
drc restart migrations
|
||||
drc restart resource cache db dispatcher
|
||||
```
|
||||
|
||||
## v1.41.3
|
||||
- Fix betrokken lokale besturen links via migration [OP-3882]
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc restart migrations
|
||||
drc restart cache resource
|
||||
```
|
||||
|
||||
## v1.41.2
|
||||
- Fix betrokken lokale besturen links via migration [OP-3877]
|
||||
- Add timeout to producer jobs to prevent them staying stuck forever [OP-3815]
|
||||
|
||||
### Deploy notes
|
||||
In the docker-compose.override.yml, on PROD only, set the `error-alert` environment variable `EMAIL_TO:` to `support+lblod@redpencil.io`.
|
||||
|
||||
Then:
|
||||
```
|
||||
drc up -d error-alert delta-producer-background-jobs-initiator
|
||||
drc restart migrations
|
||||
drc restart resource cache
|
||||
```
|
||||
|
||||
## v1.41.0
|
||||
- added explicit healtchecks [DL-7466]
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc restart dispatcher
|
||||
```
|
||||
|
||||
## v1.40.0
|
||||
- Query to check missing address URI's [OP-3784]
|
||||
- Create new query 'organisations shown in OP frontend' in Dashboard [OP-3774]
|
||||
- Moved AGB BRUGGE to correct graph [OP-3790]
|
||||
- Bump acm-login service [DL-7346]
|
||||
- Frontend [v1.37.0](https://github.com/lblod/frontend-organization-portal/blob/99e0ca22617d17cbc8a23dfa2f6d31691fed90b9/CHANGELOG.md#v1370-2026-05-27)
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc restart report-generation
|
||||
drc restart migrations
|
||||
scripts/reset-elastic.sh
|
||||
drc up -d login login-dashboard frontend
|
||||
```
|
||||
|
||||
## 1.39.1 (2026-04-24)
|
||||
- OP-3771: Adds labels for: EredienstBeroepen and TypeBetrokkenheid
|
||||
- Bump to kbo-data-sync [OP-3765]
|
||||
- Added administrativeUnits report with strekking [OP-3766]
|
||||
- Cleanup local involvement for oud heverlee [OP-3757]
|
||||
- Add column to query organizations in Dashboard [OP-3758]
|
||||
- Query list change events of organisations in Dashboard [OP-3760]
|
||||
- Disable SPARQL endpoint
|
||||
- Prepare worship election period: backfill missing 2026-2029 governing bodies + mandates, seed fresh 2029-2032 period, and clean up `hhttp://` Secretaris typo from the 2022 central-worship migrations and bumped construct-organization-relationships to 1.1.1[OP-3776] and [DL-7294]
|
||||
- Cleanup local involvements for Sint Laureins [OP-3775]
|
||||
- sparql-parser [DL-6575]
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc pull kbo-data-sync db resource && drc up -d kbo-data-sync db resource
|
||||
drc restart report-generation
|
||||
drc restart migrations && drc logs -ft --tail=200 migrations
|
||||
drc up -d delta-producer-publication-graph-maintainer
|
||||
drc restart dispatcher
|
||||
```
|
||||
|
||||
## 1.39.0 (2026-04-02)
|
||||
- Add KBO organizations report to report generation service [OP-3738]
|
||||
- Add organizations detail report (addresses and contact info) to report generation service [OP-3738]
|
||||
- Query organisations: organisational data [OP-3761]
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc restart report-generation
|
||||
```
|
||||
|
||||
## 1.38.4 (2026-02-26)
|
||||
### Backend
|
||||
- Bump frontend [OP-3735]
|
||||
|
||||
### Deploy instructions
|
||||
```
|
||||
drc pull frontend && drc up -d frontend
|
||||
```
|
||||
|
||||
## 1.38.3 (2026-02-26)
|
||||
### Backend
|
||||
- Related organisations: Duplicate relations between municipalities and OCMWs [OP-3743]
|
||||
|
||||
### Deploy instructions
|
||||
```
|
||||
drc restart migrations cache
|
||||
```
|
||||
|
||||
## 1.38.2 (2026-02-20)
|
||||
### Backend
|
||||
- Remove deprecated organizations-public-info producer [OP-3581]
|
||||
@@ -28,7 +219,7 @@ drc pull report-generation; drc up -d report-generation
|
||||
|
||||
### Deploy instructions
|
||||
#### For error-alert and deliver-email-service
|
||||
Per environment a specfic configuration for the email service similar to loket config.
|
||||
Per environment a specfic configuration for the email service similar to loket config.
|
||||
Ask colleague for specfic credentials.
|
||||
|
||||
```
|
||||
@@ -37,13 +228,13 @@ Ask colleague for specfic credentials.
|
||||
EMAIL_PROTOCOL: "smtp"
|
||||
#WELL_KNOWN_SERVICE: "smtp"
|
||||
EMAIL_HOST: "Fill in Email host adress"
|
||||
EMAIL_ADDRESS: "Fill in email"
|
||||
EMAIL_ADDRESS: "Fill in email"
|
||||
EMAIL_PASSWORD: "Fill in email password"
|
||||
EMAIL_PORT: "Fill in port"
|
||||
SECURE_CONNECTION: "true"
|
||||
EMAIL_CRON_PATTERN: "*/1 * * * *"
|
||||
restart: "no"
|
||||
|
||||
|
||||
error-alert:
|
||||
environment:
|
||||
EMAIL_FROM: "Fill in email adress of sender
|
||||
@@ -60,7 +251,7 @@ drc up -d error-alert deliver-email-service frontend
|
||||
### General
|
||||
- [OP-3590]: OP is now master of "aantal houders" of mandates
|
||||
- [OP-3699]: Update aantal houders for some mandates Hasselt and Antwerp
|
||||
- [OP-3680]: Indicate whether a worship service is a customer of ReligioPoint or Loket voor Lokale Besturen
|
||||
- [OP-3680]: Indicate whether a worship service is a customer of ReligioPoint or Loket voor Lokale Besturen
|
||||
- Bump frontend to v1.36.2 [OP-3623] [OP-3681] [OP-3703] [OP-2712]
|
||||
|
||||
### Deploy instructions
|
||||
|
||||
@@ -187,19 +187,22 @@ Update `docker-compose.override.yml` to:
|
||||
vendor-management-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://dev.loket.lblod.info/" # or another endpoint
|
||||
DCR_DISABLE_INITIAL_SYNC: "true"
|
||||
BATCH_SIZE: "500"
|
||||
DCR_SECRET_KEY: "<key>>" # fill in key for selected endpoint
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://dev.loket.lblod.info/sync/vendor-management/login" # login for selected endpoint
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
```
|
||||
Then:
|
||||
```
|
||||
drc up -d migrations
|
||||
drc up -d db vendor-management-consumer
|
||||
```
|
||||
Finally, put the stack back up.
|
||||
# Wait until success of the previous step
|
||||
|
||||
Finally, put the stack back up and reindex elasticsearch:
|
||||
```
|
||||
drc up -d
|
||||
sh scripts/reset-elastic.sh
|
||||
```
|
||||
|
||||
### Setting up the delta-producers related services
|
||||
|
||||
@@ -1,311 +0,0 @@
|
||||
alias Acl.Accessibility.Always, as: AlwaysAccessible
|
||||
alias Acl.GraphSpec.Constraint.Resource, as: ResourceConstraint
|
||||
alias Acl.GraphSpec.Constraint.ResourceFormat, as: ResourceFormatConstraint
|
||||
alias Acl.Accessibility.ByQuery, as: AccessByQuery
|
||||
alias Acl.GraphSpec, as: GraphSpec
|
||||
alias Acl.GroupSpec, as: GroupSpec
|
||||
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"
|
||||
]
|
||||
|
||||
@worship_type [
|
||||
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
|
||||
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
|
||||
"http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
|
||||
"http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
|
||||
"http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
|
||||
"http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
|
||||
"http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
|
||||
"http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
|
||||
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
|
||||
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan"
|
||||
]
|
||||
|
||||
@public_type [
|
||||
"http://www.w3.org/ns/org#Role",
|
||||
"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/MandatarisStatusCode",
|
||||
"http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
|
||||
"http://mu.semte.ch/vocabularies/ext/GeregistreerdeOrganisatieClassificatieCode",
|
||||
"http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
|
||||
"http://www.w3.org/2004/02/skos/core#ConceptScheme",
|
||||
"http://lblod.data.gift/vocabularies/organisatie/BedienaarFinancieringCode",
|
||||
"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/prov#Location"
|
||||
]
|
||||
|
||||
@org_type [
|
||||
"http://purl.org/dc/terms/Agent",
|
||||
"http://www.w3.org/ns/org#Organization",
|
||||
"http://www.w3.org/ns/regorg#RegisteredOrganization",
|
||||
"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",
|
||||
"http://mu.semte.ch/vocabularies/ext/KboOrganisatie",
|
||||
"http://www.w3.org/ns/org#Membership",
|
||||
"http://www.w3.org/2006/time#ProperInterval",
|
||||
]
|
||||
|
||||
@shared_protected_type [
|
||||
"http://xmlns.com/foaf/0.1/Image",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
|
||||
]
|
||||
|
||||
@vendor_type [
|
||||
"http://mu.semte.ch/vocabularies/ext/Vendor"
|
||||
]
|
||||
|
||||
|
||||
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: [],
|
||||
query: sparql_query_for_access_role(group_string)
|
||||
}
|
||||
end
|
||||
|
||||
defp sparql_query_for_access_role(group_string) do
|
||||
"PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT distinct ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"#{group_string}\" )
|
||||
}"
|
||||
end
|
||||
|
||||
defp can_access_dashboard() do
|
||||
%AccessByQuery{
|
||||
vars: [],
|
||||
query: "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
SELECT DISTINCT ?session WHERE {
|
||||
VALUES ?session { <SESSION_ID> }
|
||||
?session ext:sessionRole \"LoketLB-AdminDashboardOrganisatiePortaalGebruiker\" .
|
||||
}"
|
||||
}
|
||||
end
|
||||
|
||||
def user_groups do
|
||||
[
|
||||
%GroupSpec{
|
||||
name: "acmidm-lezer",
|
||||
useage: [:read],
|
||||
access: access_by_role("ABBOrganisatiePortaalGebruiker-lezer"),
|
||||
graphs: [
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/administrative-unit",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
%GroupSpec{
|
||||
name: "acmidm-editeerder",
|
||||
useage: [:read, :write, :read_for_write],
|
||||
access: access_by_role("ABBOrganisatiePortaalGebruiker-editeerder"),
|
||||
graphs: [
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/administrative-unit",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @error_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
%GroupSpec{
|
||||
name: "acmidm-beheerder",
|
||||
useage: [:read, :write, :read_for_write],
|
||||
access: access_by_role("ABBOrganisatiePortaalGebruiker-beheerder"),
|
||||
graphs: [
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/administrative-unit",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @error_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_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
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_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
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_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
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
%GroupSpec{
|
||||
name: "public",
|
||||
useage: [:read],
|
||||
access: %AlwaysAccessible{},
|
||||
graphs: [
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/public",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @public_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/shared",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @shared_protected_type ++ @org_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
# // Dashboard admin
|
||||
%GroupSpec{
|
||||
name: "o-admin-rwf",
|
||||
useage: [:read, :write, :read_for_write],
|
||||
access: can_access_dashboard(),
|
||||
graphs: [
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/reports",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: [
|
||||
"http://lblod.data.gift/vocabularies/reporting/Report",
|
||||
"http://open-services.net/ns/core#Error",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
|
||||
]
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/system/jobs",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: [
|
||||
"http://vocab.deri.ie/cogs#Job",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
|
||||
]
|
||||
}
|
||||
},
|
||||
# OP stores jobs in multiple graphs, so we configure both until they are merged into one graph
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/jobs",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: [
|
||||
"http://vocab.deri.ie/cogs#Job",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer",
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
# // CLEANUP
|
||||
#
|
||||
%GraphCleanup{
|
||||
originating_graph: "http://mu.semte.ch/application",
|
||||
useage: [:read, :write],
|
||||
name: "clean"
|
||||
}
|
||||
]
|
||||
end
|
||||
end
|
||||
426
config/authorization/config.lisp
Normal file
426
config/authorization/config.lisp
Normal file
@@ -0,0 +1,426 @@
|
||||
;;;;;;;;;;;;;;;;;;;
|
||||
;;; delta messenger
|
||||
(in-package :delta-messenger)
|
||||
|
||||
(add-delta-logger)
|
||||
(add-delta-messenger "http://deltanotifier/")
|
||||
|
||||
;;;;;;;;;;;;;;;;;
|
||||
;;; configuration
|
||||
(in-package :client)
|
||||
(setf *log-sparql-query-roundtrip* t)
|
||||
(setf *backend* "http://triplestore:8890/sparql")
|
||||
|
||||
(in-package :server)
|
||||
(setf *log-incoming-requests-p* nil)
|
||||
|
||||
;;;;;;;;;;;;;;;;;
|
||||
;;; access rights
|
||||
(in-package :acl)
|
||||
|
||||
(defparameter *access-specifications* nil
|
||||
"All known ACCESS specifications.")
|
||||
|
||||
(defparameter *graphs* nil
|
||||
"All known GRAPH-SPECIFICATION instances.")
|
||||
|
||||
(defparameter *rights* nil
|
||||
"All known GRANT instances connecting ACCESS-SPECIFICATION to GRAPH.")
|
||||
|
||||
;; Prefixes used in the constraints below (not in the SPARQL queries)
|
||||
(define-prefixes
|
||||
:org "http://www.w3.org/ns/org#"
|
||||
:locn "http://www.w3.org/ns/locn#"
|
||||
:schema "http://schema.org/"
|
||||
:regorg "http://www.w3.org/ns/regorg#"
|
||||
:person "http://www.w3.org/ns/person#"
|
||||
:adms "http://www.w3.org/ns/adms#"
|
||||
:prov "http://www.w3.org/ns/prov#"
|
||||
:generiek "https://data.vlaanderen.be/ns/generiek#"
|
||||
:mandaat "http://data.vlaanderen.be/ns/mandaat#"
|
||||
:besluit "http://data.vlaanderen.be/ns/besluit#"
|
||||
:lblodlg "http://data.lblod.info/vocabularies/leidinggevenden/"
|
||||
:dc_terms "http://purl.org/dc/terms/"
|
||||
:foaf "http://xmlns.com/foaf/0.1/"
|
||||
:skos "http://www.w3.org/2004/02/skos/core#"
|
||||
:euvoc "http://publications.europa.eu/ontology/euvoc#"
|
||||
:ere "http://data.lblod.info/vocabularies/erediensten/"
|
||||
:ch "http://data.lblod.info/vocabularies/contacthub/"
|
||||
:code "http://lblod.data.gift/vocabularies/organisatie/"
|
||||
:ext "http://mu.semte.ch/vocabularies/ext/"
|
||||
:time "http://www.w3.org/2006/time#"
|
||||
:oasis "https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#"
|
||||
:nfo "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#"
|
||||
:dcat "http://www.w3.org/ns/dcat#"
|
||||
:besluitvorming "https://data.vlaanderen.be/ns/besluitvorming#"
|
||||
:reporting "http://lblod.data.gift/vocabularies/reporting/"
|
||||
:oslc "http://open-services.net/ns/core#"
|
||||
:cogs "http://vocab.deri.ie/cogs#"
|
||||
:sioc "http://rdfs.org/sioc/ns#"
|
||||
:sioct "http://rdfs.org/sioc/types#"
|
||||
:as "https://www.w3.org/ns/activitystreams#"
|
||||
)
|
||||
|
||||
(type-cache::add-type-for-prefix "http://mu.semte.ch/sessions/" "http://mu.semte.ch/vocabularies/session/Session")
|
||||
|
||||
(define-graph acmidm-lezer ("http://mu.semte.ch/graphs/administrative-unit")
|
||||
("dc_terms:Agent" -> _)
|
||||
("org:Organization" -> _)
|
||||
("regorg:RegisteredOrganization" -> _)
|
||||
("besluit:Besluit" -> _)
|
||||
("besluitvorming:Beslissingsactiviteit" -> _)
|
||||
("org:Site" -> _)
|
||||
("locn:Address" -> _)
|
||||
("person:Person" -> _)
|
||||
("schema:ContactPoint" -> _)
|
||||
("besluit:Bestuurseenheid" -> _)
|
||||
("besluit:Bestuursorgaan" -> _)
|
||||
("adms:Identifier" -> _)
|
||||
("generiek:GestructureerdeIdentificator" -> _)
|
||||
("mandaat:Mandaat" -> _)
|
||||
("mandaat:Mandataris" -> _)
|
||||
("lblodlg:Functionaris" -> _)
|
||||
("lblodlg:Bestuursfunctie" -> _)
|
||||
("code:VeranderingsgebeurtenisResultaat" -> _)
|
||||
("org:Post" -> _)
|
||||
("org:ChangeEvent" -> _)
|
||||
("ch:AgentInPositie" -> _)
|
||||
("ext:KboOrganisatie" -> _)
|
||||
("org:Membership" -> _)
|
||||
("time:ProperInterval" -> _))
|
||||
|
||||
(define-graph acmidm-vendor ("http://mu.semte.ch/graphs/vendor-management-data")
|
||||
("ext:Vendor" -> _))
|
||||
|
||||
(define-graph acmidm-editeerder ("http://mu.semte.ch/graphs/administrative-unit")
|
||||
("oasis:Error" -> _)
|
||||
("dc_terms:Agent" -> _)
|
||||
("org:Organization" -> _)
|
||||
("regorg:RegisteredOrganization" -> _)
|
||||
("besluit:Besluit" -> _)
|
||||
("besluitvorming:Beslissingsactiviteit" -> _)
|
||||
("org:Site" -> _)
|
||||
("locn:Address" -> _)
|
||||
("person:Person" -> _)
|
||||
("schema:ContactPoint" -> _)
|
||||
("besluit:Bestuurseenheid" -> _)
|
||||
("besluit:Bestuursorgaan" -> _)
|
||||
("adms:Identifier" -> _)
|
||||
("generiek:GestructureerdeIdentificator" -> _)
|
||||
("mandaat:Mandaat" -> _)
|
||||
("mandaat:Mandataris" -> _)
|
||||
("lblodlg:Functionaris" -> _)
|
||||
("lblodlg:Bestuursfunctie" -> _)
|
||||
("code:VeranderingsgebeurtenisResultaat" -> _)
|
||||
("org:Post" -> _)
|
||||
("org:ChangeEvent" -> _)
|
||||
("ch:AgentInPositie" -> _)
|
||||
("ext:KboOrganisatie" -> _)
|
||||
("org:Membership" -> _)
|
||||
("time:ProperInterval" -> _))
|
||||
|
||||
(define-graph acmidm-worship-lezer ("http://mu.semte.ch/graphs/worship-service")
|
||||
("ere:EredienstMandataris" -> _)
|
||||
("ere:BestuurVanDeEredienst" -> _)
|
||||
("ere:EredienstBestuurseenheid" -> _)
|
||||
("ere:RolBedienaar" -> _)
|
||||
("ere:VoorwaardenBedienaar" -> _)
|
||||
("ere:PositieBedienaar" -> _)
|
||||
("ere:BetrokkenLokaleBesturen" -> _)
|
||||
("ere:VerbondenJuridischeStructuren" -> _)
|
||||
("ere:CentraalBestuurVanDeEredienst" -> _)
|
||||
("ere:RepresentatiefOrgaan" -> _)
|
||||
("dc_terms:Agent" -> _)
|
||||
("org:Organization" -> _)
|
||||
("regorg:RegisteredOrganization" -> _)
|
||||
("besluit:Besluit" -> _)
|
||||
("besluitvorming:Beslissingsactiviteit" -> _)
|
||||
("org:Site" -> _)
|
||||
("locn:Address" -> _)
|
||||
("person:Person" -> _)
|
||||
("schema:ContactPoint" -> _)
|
||||
("besluit:Bestuurseenheid" -> _)
|
||||
("besluit:Bestuursorgaan" -> _)
|
||||
("adms:Identifier" -> _)
|
||||
("generiek:GestructureerdeIdentificator" -> _)
|
||||
("mandaat:Mandaat" -> _)
|
||||
("mandaat:Mandataris" -> _)
|
||||
("lblodlg:Functionaris" -> _)
|
||||
("lblodlg:Bestuursfunctie" -> _)
|
||||
("code:VeranderingsgebeurtenisResultaat" -> _)
|
||||
("org:Post" -> _)
|
||||
("org:ChangeEvent" -> _)
|
||||
("ch:AgentInPositie" -> _)
|
||||
("ext:KboOrganisatie" -> _)
|
||||
("org:Membership" -> _)
|
||||
("time:ProperInterval" -> _))
|
||||
|
||||
(define-graph acmidm-worship-editeerder ("http://mu.semte.ch/graphs/worship-service")
|
||||
("oasis:Error" -> _)
|
||||
("ere:EredienstMandataris" -> _)
|
||||
("ere:BestuurVanDeEredienst" -> _)
|
||||
("ere:EredienstBestuurseenheid" -> _)
|
||||
("ere:RolBedienaar" -> _)
|
||||
("ere:VoorwaardenBedienaar" -> _)
|
||||
("ere:PositieBedienaar" -> _)
|
||||
("ere:BetrokkenLokaleBesturen" -> _)
|
||||
("ere:VerbondenJuridischeStructuren" -> _)
|
||||
("ere:CentraalBestuurVanDeEredienst" -> _)
|
||||
("ere:RepresentatiefOrgaan" -> _)
|
||||
("dc_terms:Agent" -> _)
|
||||
("org:Organization" -> _)
|
||||
("regorg:RegisteredOrganization" -> _)
|
||||
("besluit:Besluit" -> _)
|
||||
("besluitvorming:Beslissingsactiviteit" -> _)
|
||||
("org:Site" -> _)
|
||||
("locn:Address" -> _)
|
||||
("person:Person" -> _)
|
||||
("schema:ContactPoint" -> _)
|
||||
("besluit:Bestuurseenheid" -> _)
|
||||
("besluit:Bestuursorgaan" -> _)
|
||||
("adms:Identifier" -> _)
|
||||
("generiek:GestructureerdeIdentificator" -> _)
|
||||
("mandaat:Mandaat" -> _)
|
||||
("mandaat:Mandataris" -> _)
|
||||
("lblodlg:Functionaris" -> _)
|
||||
("lblodlg:Bestuursfunctie" -> _)
|
||||
("code:VeranderingsgebeurtenisResultaat" -> _)
|
||||
("org:Post" -> _)
|
||||
("org:ChangeEvent" -> _)
|
||||
("ch:AgentInPositie" -> _)
|
||||
("ext:KboOrganisatie" -> _)
|
||||
("org:Membership" -> _)
|
||||
("time:ProperInterval" -> _))
|
||||
|
||||
(define-graph public ("http://mu.semte.ch/graphs/public")
|
||||
("org:Role" -> _)
|
||||
("besluit:Bestuurseenheid" -> _)
|
||||
("foaf:Person" -> _)
|
||||
("foaf:OnlineAccount" -> _)
|
||||
("nfo:FileDataObject" -> _)
|
||||
("dcat:Dataset" -> _)
|
||||
("dcat:Distribution" -> _)
|
||||
("dcat:Catalog" -> _)
|
||||
("ext:GeslachtCode" -> _)
|
||||
("lblodlg:FunctionarisStatusCode" -> _)
|
||||
("code:OrganisatieStatusCode" -> _)
|
||||
("code:BestuursfunctieCode" -> _)
|
||||
("code:BestuursorgaanClassificatieCode" -> _)
|
||||
("code:MandatarisStatusCode" -> _)
|
||||
("code:BestuurseenheidClassificatieCode" -> _)
|
||||
("ext:GeregistreerdeOrganisatieClassificatieCode" -> _)
|
||||
("code:TypeEredienst" -> _)
|
||||
("skos:ConceptScheme" -> _)
|
||||
("code:BedienaarFinancieringCode" -> _)
|
||||
("skos:Concept" -> _)
|
||||
("euvoc:Country" -> _)
|
||||
("code:TypeVestiging" -> _)
|
||||
("code:HelftVerkiezing" -> _)
|
||||
("code:Veranderingsgebeurtenis" -> _)
|
||||
("code:TypeBetrokkenheid" -> _)
|
||||
("code:VoorwaardenBedienaarCriterium" -> _)
|
||||
("code:BedienaarCriteriumBewijsstuk" -> _)
|
||||
("code:EredienstBeroepen" -> _)
|
||||
("code:Rechtsvormtype" -> _)
|
||||
("prov:Location" -> _)
|
||||
("code:BijkomendeKwalificatieCode" -> _)
|
||||
("prov:SoftwareAgent" -> _))
|
||||
|
||||
(define-graph shared ("http://mu.semte.ch/graphs/shared")
|
||||
("foaf:Image" -> _)
|
||||
("nfo:FileDataObject" -> _)
|
||||
("dc_terms:Agent" -> _)
|
||||
("org:Organization" -> _)
|
||||
("regorg:RegisteredOrganization" -> _)
|
||||
("besluit:Besluit" -> _)
|
||||
("besluitvorming:Beslissingsactiviteit" -> _)
|
||||
("org:Site" -> _)
|
||||
("locn:Address" -> _)
|
||||
("person:Person" -> _)
|
||||
("schema:ContactPoint" -> _)
|
||||
("besluit:Bestuurseenheid" -> _)
|
||||
("besluit:Bestuursorgaan" -> _)
|
||||
("adms:Identifier" -> _)
|
||||
("generiek:GestructureerdeIdentificator" -> _)
|
||||
("mandaat:Mandaat" -> _)
|
||||
("mandaat:Mandataris" -> _)
|
||||
("lblodlg:Functionaris" -> _)
|
||||
("lblodlg:Bestuursfunctie" -> _)
|
||||
("code:VeranderingsgebeurtenisResultaat" -> _)
|
||||
("org:Post" -> _)
|
||||
("org:ChangeEvent" -> _)
|
||||
("ch:AgentInPositie" -> _)
|
||||
("ext:KboOrganisatie" -> _)
|
||||
("org:Membership" -> _)
|
||||
("time:ProperInterval" -> _))
|
||||
|
||||
(define-graph reports ("http://mu.semte.ch/graphs/reports")
|
||||
("reporting:Report" -> _)
|
||||
("oslc:Error" -> _)
|
||||
("nfo:DataContainer" -> _)
|
||||
("nfo:FileDataObject" -> _))
|
||||
|
||||
(define-graph system-jobs ("http://mu.semte.ch/graphs/system/jobs")
|
||||
("cogs:Job" -> _)
|
||||
("nfo:DataContainer" -> _)
|
||||
("nfo:FileDataObject" -> _))
|
||||
|
||||
(define-graph jobs ("http://mu.semte.ch/graphs/jobs")
|
||||
("cogs:Job" -> _)
|
||||
("nfo:DataContainer" -> _)
|
||||
("nfo:FileDataObject" -> _))
|
||||
|
||||
;; Chat: one graph per account, only its owner reads or writes it.
|
||||
;; The four chat types appear in no other group: a graph-less insert lands
|
||||
;; in every graph whose group allows the type.
|
||||
(define-graph chat ("http://mu.semte.ch/graphs/users/")
|
||||
("reporting:Report" -> _)
|
||||
("oslc:Error" -> _)
|
||||
("nfo:DataContainer" -> _)
|
||||
("nfo:FileDataObject" -> _)
|
||||
("cogs:Job" -> _)
|
||||
("nfo:DataContainer" -> _)
|
||||
("nfo:FileDataObject" -> _)
|
||||
("sioc:Thread" -> _)
|
||||
("sioc:Post" -> _)
|
||||
("sioct:InstantMessage" -> _)
|
||||
("as:Document" -> _))
|
||||
|
||||
(supply-allowed-group "public")
|
||||
|
||||
(supply-allowed-group "o-admin-rwf"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
SELECT DISTINCT ?session WHERE {
|
||||
<SESSION_ID> ext:sessionRole \"LoketLB-AdminDashboardOrganisatiePortaalGebruiker\" .
|
||||
}")
|
||||
|
||||
(supply-allowed-group "ABBOrganisatiePortaalGebruiker-lezer"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalGebruiker-lezer\" )
|
||||
}")
|
||||
|
||||
(supply-allowed-group "ABBOrganisatiePortaalGebruiker-editeerder"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalGebruiker-editeerder\" )
|
||||
}")
|
||||
|
||||
(supply-allowed-group "ABBOrganisatiePortaalGebruiker-beheerder"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalGebruiker-beheerder\" )
|
||||
}")
|
||||
|
||||
|
||||
(supply-allowed-group "ABBOrganisatiePortaalErediensten-lezer"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalErediensten-lezer\" )
|
||||
}")
|
||||
|
||||
(supply-allowed-group "ABBOrganisatiePortaalErediensten-editeerder"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalErediensten-editeerder\" )
|
||||
}")
|
||||
|
||||
(supply-allowed-group "ABBOrganisatiePortaalErediensten-beheerder"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_group ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
|
||||
ext:activeSessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalErediensten-beheerder\" )
|
||||
}")
|
||||
|
||||
(supply-allowed-group "chat-owner"
|
||||
:parameters ("session_account")
|
||||
:query "PREFIX session: <http://mu.semte.ch/vocabularies/session/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
SELECT DISTINCT ?session_account WHERE {
|
||||
<SESSION_ID> session:account/mu:uuid ?session_account.
|
||||
}")
|
||||
|
||||
;; Note: this actually a nasty thing in the orginal code. workaround here
|
||||
(supply-allowed-group "chat-access"
|
||||
:parameters ()
|
||||
:query "PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
|
||||
SELECT DISTINCT ?session_role WHERE {
|
||||
<SESSION_ID> ext:sessionRole ?session_role.
|
||||
FILTER( ?session_role = \"ABBOrganisatiePortaalGebruiker-editeerder\" )
|
||||
}")
|
||||
|
||||
(grant (read)
|
||||
:to-graph (acmidm-lezer acmidm-vendor)
|
||||
:for-allowed-group "ABBOrganisatiePortaalGebruiker-lezer")
|
||||
|
||||
(grant (read write)
|
||||
:to-graph (acmidm-editeerder acmidm-vendor)
|
||||
:for-allowed-group "ABBOrganisatiePortaalGebruiker-editeerder")
|
||||
|
||||
(grant (read write)
|
||||
:to-graph (acmidm-editeerder acmidm-vendor)
|
||||
:for-allowed-group "ABBOrganisatiePortaalGebruiker-beheerder")
|
||||
|
||||
(grant (read)
|
||||
:to-graph (acmidm-worship-lezer acmidm-vendor)
|
||||
:for-allowed-group "ABBOrganisatiePortaalErediensten-lezer")
|
||||
|
||||
(grant (read write)
|
||||
:to-graph (acmidm-worship-editeerder acmidm-vendor)
|
||||
:for-allowed-group "ABBOrganisatiePortaalErediensten-editeerder")
|
||||
|
||||
(grant (read write)
|
||||
:to-graph (acmidm-worship-editeerder acmidm-vendor)
|
||||
:for-allowed-group "ABBOrganisatiePortaalErediensten-beheerder")
|
||||
|
||||
(grant (read)
|
||||
:to-graph (public shared)
|
||||
:for-allowed-group "public")
|
||||
|
||||
;; natural-language-report-service reads the public graph under its own
|
||||
;; scope during refinement (code lists, lookup_values). The service passes
|
||||
;; this scope with mu's query(q, { scope }); sparql-parser then uses only
|
||||
;; this grant, so the LLM reads public data and nothing beyond it.
|
||||
;; Execution (run_report) still runs as the caller's session.
|
||||
(with-scope "http://services.semantic.works/natural-language-report"
|
||||
(grant (read)
|
||||
:to-graph public
|
||||
:for-allowed-group "public"))
|
||||
|
||||
(grant (read write)
|
||||
:to-graph (reports jobs system-jobs)
|
||||
:for-allowed-group "o-admin-rwf")
|
||||
|
||||
(grant (read write)
|
||||
:to-graph (chat) ;; Note: this actually a nasty thing in the orginal code. workaround here
|
||||
:for-allowed-group "chat-owner")
|
||||
|
||||
(grant (read)
|
||||
:to-graph (acmidm-editeerder) ;; Note: this actually a nasty thing in the orginal code. workaround here
|
||||
:for-allowed-group "chat-access")
|
||||
@@ -1,5 +0,0 @@
|
||||
defmodule Delta.Config do
|
||||
def targets do
|
||||
[ "http://deltanotifier" ]
|
||||
end
|
||||
end
|
||||
@@ -8,10 +8,10 @@ CONSTRUCT {
|
||||
?p ?o.
|
||||
|
||||
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
|
||||
<http://data.vlaanderen.be/ns/mandaat#isTijdspecialisatieVan> ?orgaan .
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://data.vlaanderen.be/ns/besluit#classificatie> ?classification .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> ?classification .
|
||||
|
||||
|
||||
FILTER(?classification IN (
|
||||
|
||||
@@ -7,7 +7,12 @@ CONSTRUCT {
|
||||
FILTER (?p IN (
|
||||
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>,
|
||||
<http://mu.semte.ch/vocabularies/core/uuid>,
|
||||
<http://xmlns.com/foaf/0.1/familyName>
|
||||
<http://xmlns.com/foaf/0.1/familyName>,
|
||||
<http://www.w3.org/2002/07/owl#sameAs>,
|
||||
<http://www.w3.org/ns/prov#wasGeneratedBy>,
|
||||
<http://www.w3.org/ns/prov#wasAssociatedWith>,
|
||||
<http://redpencil.data.gift/vocabularies/tasks/modifiedOn>,
|
||||
<http://redpencil.data.gift/vocabularies/tasks/modifiedBy>
|
||||
))
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
"graphsFilter": ["http://mu.semte.ch/graphs/administrative-unit"],
|
||||
"properties": [
|
||||
"http://mu.semte.ch/vocabularies/core/uuid",
|
||||
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
|
||||
"http://purl.org/dc/terms/spatial",
|
||||
"http://www.opengis.net/ont/geosparql#sfWithin",
|
||||
"http://www.w3.org/2002/07/owl#sameAs",
|
||||
"http://www.w3.org/2004/02/skos/core#altLabel",
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
],
|
||||
"properties": [
|
||||
"http://mu.semte.ch/vocabularies/core/uuid",
|
||||
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
|
||||
"http://purl.org/dc/terms/spatial",
|
||||
"http://www.opengis.net/ont/geosparql#sfWithin",
|
||||
"http://www.w3.org/2002/07/owl#sameAs",
|
||||
"http://www.w3.org/2004/02/skos/core#altLabel",
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
],
|
||||
"properties": [
|
||||
"http://mu.semte.ch/vocabularies/core/uuid",
|
||||
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
|
||||
"http://purl.org/dc/terms/spatial",
|
||||
"http://www.opengis.net/ont/geosparql#sfWithin",
|
||||
"http://www.w3.org/2002/07/owl#sameAs",
|
||||
"http://www.w3.org/2004/02/skos/core#altLabel",
|
||||
@@ -525,6 +525,33 @@
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
|
||||
"graphsFilter": [
|
||||
"http://mu.semte.ch/graphs/public"
|
||||
],
|
||||
"pathToConceptScheme": [
|
||||
"http://www.w3.org/2004/02/skos/core#inScheme"
|
||||
],
|
||||
"properties": [
|
||||
"http://mu.semte.ch/vocabularies/core/uuid",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel",
|
||||
"http://data.lblod.info/vocabularies/erediensten/vanToepassingBijStatus"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
|
||||
"graphsFilter": [
|
||||
"http://mu.semte.ch/graphs/public"
|
||||
],
|
||||
"pathToConceptScheme": [
|
||||
"http://www.w3.org/2004/02/skos/core#inScheme"
|
||||
],
|
||||
"properties": [
|
||||
"http://mu.semte.ch/vocabularies/core/uuid",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
|
||||
"graphsFilter": [
|
||||
|
||||
@@ -199,6 +199,27 @@ export default [
|
||||
gracePeriod: 1000,
|
||||
ignoreFromSelf: true
|
||||
}
|
||||
},
|
||||
// The chat's data (per-user graphs) is written straight to the store by
|
||||
// the natural-language-report service, so mu-cl-resources only sees it
|
||||
// fresh when a delta clears its caches.
|
||||
{
|
||||
match: {
|
||||
subject: {}
|
||||
},
|
||||
callback: {
|
||||
url: 'http://resource/.mu/delta',
|
||||
method: 'POST'
|
||||
},
|
||||
options: {
|
||||
resourceFormat: 'v0.0.1',
|
||||
gracePeriod: 250,
|
||||
ignoreFromSelf: true,
|
||||
optOutMuScopeIds: [
|
||||
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
|
||||
"http://redpencil.data.gift/id/concept/muScope/deltas/vendor-data"
|
||||
]
|
||||
}
|
||||
}
|
||||
/*
|
||||
Commenting ldes rules until ready to go to qa/prod. In the meantime, we override the configuration on dev.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?s a <http://www.w3.org/ns/org#Organization>.
|
||||
?s <http://www.w3.org/ns/regorg#orgStatus> ?status.
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,10 @@ defmodule Dispatcher do
|
||||
Proxy.forward(conn, path, "http://cache/registered-organization-classification-codes/")
|
||||
end
|
||||
|
||||
get "/additional-qualification-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/additional-qualification-codes/")
|
||||
end
|
||||
|
||||
match "/worship-administrative-units/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/worship-administrative-units/")
|
||||
end
|
||||
@@ -235,11 +239,56 @@ defmodule Dispatcher do
|
||||
Proxy.forward(conn, path, "http://cache/membership-roles/")
|
||||
end
|
||||
|
||||
match "/vendors/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/vendors/")
|
||||
end
|
||||
|
||||
# There is currently no logic to invalidate the kboOrganization cache when wegwijse updates the content
|
||||
match "/kbo-organizations/*path", %{accept: [:any], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://resource/kbo-organizations/")
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# CHAT
|
||||
# To the resource service, not the cache: the data is per user and
|
||||
# changes every few seconds.
|
||||
###############################################################
|
||||
|
||||
match "/chat-conversations/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://resource/chat-conversations/")
|
||||
end
|
||||
|
||||
match "/chat-messages/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://resource/chat-messages/")
|
||||
end
|
||||
|
||||
match "/chat-instant-messages/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://resource/chat-instant-messages/")
|
||||
end
|
||||
|
||||
match "/chat-documents/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://resource/chat-documents/")
|
||||
end
|
||||
|
||||
match "/chat-agents/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://resource/chat-agents/")
|
||||
end
|
||||
|
||||
# The chat frontend's login screens speak the gebruiker/bestuurseenheid
|
||||
# resource names (frontend-lblod-chat, used verbatim). The same data as
|
||||
# /users and /groups, seen through the loket naming.
|
||||
match "/gebruikers/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/gebruikers/")
|
||||
end
|
||||
|
||||
match "/bestuurseenheden/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/bestuurseenheden/")
|
||||
end
|
||||
|
||||
match "/bestuurseenheid-classificatie-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/bestuurseenheid-classificatie-codes/")
|
||||
end
|
||||
|
||||
# Dashboard
|
||||
match "/jobs/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/jobs/")
|
||||
@@ -386,7 +435,7 @@ defmodule Dispatcher do
|
||||
layer: :api_services,
|
||||
accept: %{json: true}
|
||||
} do
|
||||
forward(conn, path, "http://construct-organization-relationships/create-relationships/")
|
||||
forward(conn, path, "http://construct-organization-relationships/")
|
||||
end
|
||||
|
||||
post "/kbo-data-sync/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
@@ -409,6 +458,15 @@ defmodule Dispatcher do
|
||||
forward(conn, path, "http://error-report-service/error-reports/")
|
||||
end
|
||||
|
||||
#################################################################
|
||||
# CHAT ASSISTANT
|
||||
# The chat's turn endpoint: POST /assistant/conversations/:id/turns
|
||||
#################################################################
|
||||
|
||||
match "/assistant/*path" do
|
||||
forward(conn, path, "http://natural-language-report/assistant/")
|
||||
end
|
||||
|
||||
#################################################################
|
||||
# FILES
|
||||
#################################################################
|
||||
@@ -483,6 +541,20 @@ defmodule Dispatcher do
|
||||
forward conn, [], "http://frontend-dashboard/index.html"
|
||||
end
|
||||
|
||||
# The chat frontend (frontend-lblod-chat). Hosted on the "chat"
|
||||
# subdomain (reverse_host), so the SPA stays a separate app.
|
||||
get "/assets/*path", %{ reverse_host: ["chat" | _rest], layer: :api } do
|
||||
forward conn, path, "http://chat/assets/"
|
||||
end
|
||||
|
||||
get "/@appuniversum/*path", %{ reverse_host: ["chat" | _rest], layer: :api } do
|
||||
forward conn, path, "http://chat/@appuniversum/"
|
||||
end
|
||||
|
||||
match "/*_path", %{ reverse_host: ["chat" | _rest], layer: :api, accept: [:html] } do
|
||||
forward conn, [], "http://chat/index.html"
|
||||
end
|
||||
|
||||
match "/assets/*path", %{layer: :api} do
|
||||
Proxy.forward(conn, path, "http://frontend/assets/")
|
||||
end
|
||||
@@ -503,8 +575,16 @@ defmodule Dispatcher do
|
||||
# sparql endpoint
|
||||
###############################################################
|
||||
|
||||
post "/sparql/*path", %{layer: :api_services, accept: %{sparql_json: true}} do
|
||||
forward(conn, path, "http://db:8890/sparql/")
|
||||
# post "/sparql/*path", %{layer: :api_services, accept: %{sparql_json: true}} do
|
||||
# forward(conn, path, "http://db:8890/sparql/")
|
||||
# end
|
||||
|
||||
#################################################################
|
||||
# Health checks
|
||||
#################################################################
|
||||
|
||||
get "/health/accounts", %{layer: :api} do
|
||||
Proxy.forward(conn, [], "http://resource/accounts/")
|
||||
end
|
||||
|
||||
###############################################################
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX scheme: <http://data.vlaanderen.be/id/conceptscheme/>
|
||||
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/e3afe092-6ca6-4685-94c6-1ee20811efc4>
|
||||
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
mu:uuid "e3afe092-6ca6-4685-94c6-1ee20811efc4" ;
|
||||
skos:prefLabel "Regionaal zorgplatform" ;
|
||||
skos:altLabel "Regionale zorgzone" ;
|
||||
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/7a199d27-31c3-44bb-a58f-b3a64673a8b6>
|
||||
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
mu:uuid "7a199d27-31c3-44bb-a58f-b3a64673a8b6" ;
|
||||
skos:prefLabel "Andere" ;
|
||||
skos:definition "Restcategorie: geregistreerde organisatie die niet onder een van de andere classificaties valt." ;
|
||||
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
|
||||
# All graphs authorized for regorg:RegisteredOrganization (see config/authorization/config.lisp),
|
||||
# so no dangling org:classification survives the code deletion in the next migration.
|
||||
DELETE {
|
||||
GRAPH ?g { ?org org:classification ?legacy . }
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g { ?org org:classification <http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/7a199d27-31c3-44bb-a58f-b3a64673a8b6> . }
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/administrative-unit>
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
}
|
||||
VALUES ?legacy {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7>
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61>
|
||||
}
|
||||
GRAPH ?g { ?org org:classification ?legacy . }
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> { ?code ?p ?o . }
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?code {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7>
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61>
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/public> { ?code ?p ?o . }
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership ?p ?o .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership ?p ?o .
|
||||
}
|
||||
|
||||
FILTER(?membership IN (
|
||||
<http://data.lblod.info/id/lidmaatschap/e30da404c9e798fbf6c3cb08c18aa2fb3467fbb17d0ee3bf7aeea2e33b506394>,
|
||||
<http://data.lblod.info/id/lidmaatschap/57e299c1371ff49f9ab4a59c04f213adb95bbd412fca118ba7b97923e8911f1e>,
|
||||
<http://data.lblod.info/id/lidmaatschap/b5ffde4275206674ce04aec50b96055790fe2bc899688cafab5f317aa351340c>,
|
||||
<http://data.lblod.info/id/lidmaatschap/6b63778ff8a7805b1bb6eadf016e4eb16eb5bf41>,
|
||||
<http://data.lblod.info/id/lidmaatschap/7983bd733dd478ee37e74077a9079d34d0d2f8e1>,
|
||||
<http://data.lblod.info/id/lidmaatschap/b9024618552754cdcf0802109404f2bb5948fe03>,
|
||||
<http://data.lblod.info/id/lidmaatschap/ef819edf7cce76075aa41d5b42a41ad95e54c73225e1eca066352ecda3780e2a>,
|
||||
<http://data.lblod.info/id/lidmaatschap/ce7ae35e02378f6496d02ef27a826330b22a083b>,
|
||||
<http://data.lblod.info/id/lidmaatschap/d275f7cb4cbe0dbf5311d9015c08830a982bb7d3dca565862206d6a840b30dbf>
|
||||
))
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/a648cf4f6e94d3ea0b0ed32b73b75dd9> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/c648ea5d12626ee3364a02debb223908a71e68f53d69a7a7136585b58a083e77> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/a648cf4f6e94d3ea0b0ed32b73b75dd9>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?localInvolvementOudHeverlee <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?localInvolvementOudHeverlee <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> 100.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?g)
|
||||
GRAPH ?g {
|
||||
?localInvolvementOudHeverlee <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
VALUES ?localInvolvementOudHeverlee {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/3c8696890fb0bb865a798923acf58dcf>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?s <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?type {
|
||||
<http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen>
|
||||
<http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid>
|
||||
}
|
||||
|
||||
?s a ?type .
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
PREFIX prov: <http://www.w3.org/ns/prov#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?vlaamsGewest a prov:Location ;
|
||||
mu:uuid ?uuid ;
|
||||
rdfs:label "Vlaams Gewest" ;
|
||||
ext:werkingsgebiedNiveau "Gewest" ;
|
||||
skos:exactMatch <http://vocab.belgif.be/auth/refnis2025/2000> ,
|
||||
<http://vocab.belgif.be/auth/refnis2019/2000> .
|
||||
}
|
||||
} WHERE {
|
||||
BIND(SHA256(CONCAT("Werkingsgebied for Vlaams Gewest")) AS ?uuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/werkingsgebieden/", STR(?uuid))) AS ?vlaamsGewest)
|
||||
FILTER NOT EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?existing ext:werkingsgebiedNiveau "Gewest" ;
|
||||
rdfs:label "Vlaams Gewest" .
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
PREFIX prov: <http://www.w3.org/ns/prov#>
|
||||
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
|
||||
# 1) Link the 5 Flemish province werkingsgebieden themselves to Vlaams Gewest
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?provWg geo:sfWithin ?vlaamsGewest .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?vlaamsGewest a prov:Location ;
|
||||
ext:werkingsgebiedNiveau "Gewest" ;
|
||||
rdfs:label "Vlaams Gewest" .
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?province a besluit:Bestuurseenheid ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?province besluit:werkingsgebied ?provWg .
|
||||
}
|
||||
FILTER NOT EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?provWg geo:sfWithin ?vlaamsGewest .
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
# 2) Link Flemish municipality werkingsgebieden to Vlaams Gewest
|
||||
# Selector: any Gemeente-level location whose sfWithin is a werkingsgebied
|
||||
# belonging to a Bestuurseenheid classified as Provincie (i.e. a Flemish province).
|
||||
# Brussels has no provinces, and there are no Waals-Gewest provinces in OP,
|
||||
# so "classified as Provincie" == "Flemish province".
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?munWg geo:sfWithin ?vlaamsGewest .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?vlaamsGewest a prov:Location ;
|
||||
ext:werkingsgebiedNiveau "Gewest" ;
|
||||
rdfs:label "Vlaams Gewest" .
|
||||
?munWg a prov:Location ;
|
||||
ext:werkingsgebiedNiveau "Gemeente" ;
|
||||
geo:sfWithin ?provWg .
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?province a besluit:Bestuurseenheid ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?province besluit:werkingsgebied ?provWg .
|
||||
}
|
||||
FILTER NOT EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?munWg geo:sfWithin ?vlaamsGewest .
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
# 3) Link all District and Referentieregio werkingsgebieden to Vlaams Gewest
|
||||
# All districts and referentieregios in the data are Flemish by scope;
|
||||
# no further filtering required.
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?wg geo:sfWithin ?vlaamsGewest .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?vlaamsGewest a prov:Location ;
|
||||
ext:werkingsgebiedNiveau "Gewest" ;
|
||||
rdfs:label "Vlaams Gewest" .
|
||||
?wg a prov:Location ; ext:werkingsgebiedNiveau ?niveau .
|
||||
VALUES ?niveau { "District" "Referentieregio" }
|
||||
}
|
||||
FILTER NOT EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?wg geo:sfWithin ?vlaamsGewest .
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
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/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX regorg: <http://www.w3.org/ns/regorg#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime a besluit:Bestuursorgaan ;
|
||||
mu:uuid ?uuidOrgaanInTime ;
|
||||
mandaat:bindingStart "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 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), "2026")
|
||||
}
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?missingOrgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
|
||||
?missingOrgaanInTime mandaat:bindingEinde ?end .
|
||||
FILTER CONTAINS(STR(?end), "2029")
|
||||
}
|
||||
}
|
||||
|
||||
BIND(MD5(CONCAT(?bestuurseenheid, ?bestuursorgaan, "2026-2029")) as ?uuidOrgaanInTime)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
# Add missing mandates to worship services for period 2026-2029
|
||||
|
||||
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/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
## 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) {
|
||||
("2026-04-01T00:00:00"^^xsd:dateTime "2029-03-31T00:00:00"^^xsd: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 : 2026 is the beginning of a GH
|
||||
|
||||
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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2032")) 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) {
|
||||
("2026-04-01T00:00:00"^^xsd:dateTime "2029-03-31T00:00:00"^^xsd: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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) 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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) 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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) as ?uuidPenningmeester)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
# Add missing mandates to central worship services
|
||||
|
||||
## 2026 - 2029
|
||||
|
||||
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/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX regorg: <http://www.w3.org/ns/regorg#>
|
||||
|
||||
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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) 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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) 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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) 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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd: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 2026-2029")) 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 "2026-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2029-03-31T00:00:00"^^xsd:dateTime .
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?worshipService 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 2026-2029")) as ?uuidBestuurslid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslid)) AS ?bestuurslid)
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
# Cleanup leftover `hhttp://` malformed Secretaris org:role triples introduced by
|
||||
# the 2022 migrations `20220929092641-create-central-worship-organen-2023-2026.sparql`
|
||||
# and `20220929104939-create-central-worship-organen-2026-2029.sparql` (line 31).
|
||||
#
|
||||
# By this point migration C (20260420100300) has already inserted the correct
|
||||
# Secretaris `org:role` triple on the same mandate IRI, so removing the malformed
|
||||
# one leaves each central-worship Secretaris mandate with exactly one valid role.
|
||||
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?s org:role <hhttp://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?s org:role <hhttp://data.vlaanderen.be/id/concept/BestuursfunctieCode/e2af0ea1a6af96cfb698ac39ad985eea> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
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/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX regorg: <http://www.w3.org/ns/regorg#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime a besluit:Bestuursorgaan ;
|
||||
mu:uuid ?uuidOrgaanInTime ;
|
||||
mandaat:bindingStart "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 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), "2029")
|
||||
}
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?missingOrgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
|
||||
?missingOrgaanInTime mandaat:bindingEinde ?end .
|
||||
FILTER CONTAINS(STR(?end), "2032")
|
||||
}
|
||||
}
|
||||
|
||||
BIND(MD5(CONCAT(?bestuurseenheid, ?bestuursorgaan, "2029-2032")) as ?uuidOrgaanInTime)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", ?uuidOrgaanInTime)) AS ?orgaanInTime)
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
# Create mandates for worship services for period 2029-2032
|
||||
|
||||
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/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
## 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) {
|
||||
("2029-04-01T00:00:00"^^xsd:dateTime "2032-03-31T00:00:00"^^xsd: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 : 2029 is the beginning of a KH (cycle 2029-2035); GH continues its 2026-2032 cycle.
|
||||
|
||||
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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2026-2032")) 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) {
|
||||
("2029-04-01T00:00:00"^^xsd:dateTime "2032-03-31T00:00:00"^^xsd: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 2029-2035")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) as ?uuidPenningmeester)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidPenningmeester)) AS ?penningmeester)
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
# Create mandates for central worship services
|
||||
|
||||
## 2029 - 2032
|
||||
|
||||
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/>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX regorg: <http://www.w3.org/ns/regorg#>
|
||||
|
||||
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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd: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 2029-2032")) 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 "2029-04-01T00:00:00"^^xsd:dateTime ;
|
||||
mandaat:bindingEinde "2032-03-31T00:00:00"^^xsd:dateTime .
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?worshipService 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 2029-2032")) as ?uuidBestuurslid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/mandaten/", ?uuidBestuurslid)) AS ?bestuurslid)
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/912bd10fb40c208e9b6e2a20af23fc80> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/e971816acb021c37576835e6a96922442628956fd029d885fd849c9f07414469> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/912bd10fb40c208e9b6e2a20af23fc80>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/4495dfe049edadb53a29379426ab1c50> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/d3000e1841d968dd70d4534bf216699d830d146ccc1f88b902b0793caad9daf2> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/4495dfe049edadb53a29379426ab1c50>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?localInvolvementSintLaureins <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?localInvolvementSintLaureins <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> 100.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?g)
|
||||
GRAPH ?g {
|
||||
?localInvolvementSintLaureins <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
VALUES ?localInvolvementSintLaureins {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/479bf2ff79dc2af870f371f5d86b08bc>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX dcterms: <http://purl.org/dc/terms/>
|
||||
PREFIX regorg: <http://www.w3.org/ns/regorg#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/application> {
|
||||
?s ?p ?o
|
||||
}
|
||||
} INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?s ?p ?o
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/application> {
|
||||
VALUES ?s {
|
||||
<http://data.lblod.info/id/bestuurseenheden/5c6ab343-3405-475d-a184-d44bbe7e787a>
|
||||
<http://data.lblod.info/id/identificatoren/2aa74846-a99d-423b-8c9e-b2a344b39f2a>
|
||||
<http://data.lblod.info/id/gestructureerdeIdentificatoren/0edd4e8e-44b6-4e86-8717-cda144f91ebb>
|
||||
<http://data.lblod.info/id/vestigingen/29faec77-652a-4d8e-afbb-635b141b13f0>
|
||||
<http://data.lblod.info/id/contact-punten/bc66afca-f8cf-4e4d-b038-500906e9ffa9>
|
||||
<http://data.lblod.info/id/contact-punten/1d1da2b5-8f38-41b6-a81d-5bfa72e7d7db>
|
||||
<http://data.lblod.info/id/adressen/2d6c327a-cf81-43a6-8536-17602781fb2f>
|
||||
}
|
||||
?s ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/5c6ab343-3405-475d-a184-d44bbe7e787a> a dcterms:Agent ;
|
||||
regorg:legalName "AGB BRUGGE" ;
|
||||
besluit:werkingsgebied <http://data.lblod.info/id/werkingsgebieden/e1a7aa197d1fa117ad5fdc30dee57cf95974c149ed0f319237bb8fb1355d911e> .
|
||||
|
||||
<http://data.lblod.info/id/adressen/2d6c327a-cf81-43a6-8536-17602781fb2f> adres:adresIsGelegenIn <http://data.lblod.info/id/werkingsgebieden/9c503a712d448bc8b89c1f8802c207e30bd192bc8da3bf22509a547949a45301> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,214 @@
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix conceptscheme: <http://data.vlaanderen.be/id/conceptscheme/> .
|
||||
@prefix concept: <http://lblod.data.gift/concepts/> .
|
||||
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
||||
|
||||
# Concept Scheme for Legal Forms
|
||||
conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af
|
||||
rdf:type skos:ConceptScheme ;
|
||||
mu:uuid "c3ff1a7f-c091-484d-8785-c8a5740573af" ;
|
||||
skos:prefLabel "Juridische vorm" .
|
||||
|
||||
# Legal Form Codes
|
||||
concept:4a55b679-e4c7-4014-a0b8-3d6762e0225f
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "4a55b679-e4c7-4014-a0b8-3d6762e0225f" ;
|
||||
skos:prefLabel "Stad / gemeente" ;
|
||||
sh:order 1 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:e87b0707-1f9c-4577-8918-023e60974d2f
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "e87b0707-1f9c-4577-8918-023e60974d2f" ;
|
||||
skos:prefLabel "Openbaar centrum voor maatschappelijk welzijn" ;
|
||||
sh:order 2 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:fa7b4356-6e67-4d3a-9256-72922a12227a
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "fa7b4356-6e67-4d3a-9256-72922a12227a" ;
|
||||
skos:prefLabel "Provinciale overheid" ;
|
||||
sh:order 3 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:37e78d58-ab28-4047-8d23-4f2c09707c22
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "37e78d58-ab28-4047-8d23-4f2c09707c22" ;
|
||||
skos:prefLabel "Autonoom gemeentebedrijf" ;
|
||||
sh:order 4 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:5a015434-4917-4124-a8ad-7f80d5300952
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "5a015434-4917-4124-a8ad-7f80d5300952" ;
|
||||
skos:prefLabel "Autonoom provinciebedrijf" ;
|
||||
sh:order 5 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:107b192a-44e4-4d4b-aba7-e41aa6cc7f69
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "107b192a-44e4-4d4b-aba7-e41aa6cc7f69" ;
|
||||
skos:prefLabel "Projectvereniging" ;
|
||||
sh:order 6 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:960f8bb1-ea5d-40d7-bbf4-dbc0794afd26
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "960f8bb1-ea5d-40d7-bbf4-dbc0794afd26" ;
|
||||
skos:prefLabel "Dienstverlenende vereniging (Vlaams Gewest)" ;
|
||||
sh:order 7 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:574a4cfb-7958-463a-9f4c-d9c4b250847c
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "574a4cfb-7958-463a-9f4c-d9c4b250847c" ;
|
||||
skos:prefLabel "Opdrachthoudende vereniging (Vlaams Gewest)" ;
|
||||
sh:order 8 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:c28b64ce-bb6c-4f8f-b03f-51dc09ae6748
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "c28b64ce-bb6c-4f8f-b03f-51dc09ae6748" ;
|
||||
skos:prefLabel "Lokale politiezone" ;
|
||||
sh:order 9 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:75b075c8-1076-4ea3-9bc3-366f6cf866f4
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "75b075c8-1076-4ea3-9bc3-366f6cf866f4" ;
|
||||
skos:prefLabel "Hulpverleningszone" ;
|
||||
sh:order 10 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:dbdd09f3-55b1-48bc-ac51-2c87f951860a
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "dbdd09f3-55b1-48bc-ac51-2c87f951860a" ;
|
||||
skos:prefLabel "Vereniging zonder winstoogmerk" ;
|
||||
sh:order 11 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:925fbdb3-4693-4dcf-b75e-0a98985b1785
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "925fbdb3-4693-4dcf-b75e-0a98985b1785" ;
|
||||
skos:prefLabel "Internationale vereniging zonder winstoogmerk" ;
|
||||
sh:order 12 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:f25de736-bbc3-4e73-b401-5ee0b277f5f8
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "f25de736-bbc3-4e73-b401-5ee0b277f5f8" ;
|
||||
skos:prefLabel "Private stichting" ;
|
||||
sh:order 13 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:9f578b10-255a-4403-ab4c-5d4415c30a0a
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "9f578b10-255a-4403-ab4c-5d4415c30a0a" ;
|
||||
skos:prefLabel "Stichting van openbaar nut" ;
|
||||
sh:order 14 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:30fb3516-fc48-453b-b1f6-a571d149ca3a
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "30fb3516-fc48-453b-b1f6-a571d149ca3a" ;
|
||||
skos:prefLabel "Maatschap" ;
|
||||
sh:order 15 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:7e31d057-fde3-47f3-ad89-3efd9e22ab08
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "7e31d057-fde3-47f3-ad89-3efd9e22ab08" ;
|
||||
skos:prefLabel "Vennootschap onder firma" ;
|
||||
sh:order 16 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:cab6c3f9-aeee-48f0-88eb-c404310870ad
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "cab6c3f9-aeee-48f0-88eb-c404310870ad" ;
|
||||
skos:prefLabel "Commanditaire vennootschap" ;
|
||||
sh:order 17 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:8aa6149a-0916-42ed-a907-f760c0720527
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "8aa6149a-0916-42ed-a907-f760c0720527" ;
|
||||
skos:prefLabel "Besloten Vennootschap" ;
|
||||
sh:order 18 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:e85bdc30-a69f-48f2-bc08-d32b640b1730
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "e85bdc30-a69f-48f2-bc08-d32b640b1730" ;
|
||||
skos:prefLabel "Naamloze vennootschap" ;
|
||||
sh:order 19 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:f35352d5-9454-4561-916a-f5f6459bc92b
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "f35352d5-9454-4561-916a-f5f6459bc92b" ;
|
||||
skos:prefLabel "Coöperatieve vennootschap" ;
|
||||
sh:order 20 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:205d4e7b-d6cc-4534-8336-7fae98dc139e
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "205d4e7b-d6cc-4534-8336-7fae98dc139e" ;
|
||||
skos:prefLabel "Organisme voor de Financiering van Pensioenen" ;
|
||||
sh:order 21 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:b4f2c3d5-8a7e-4f1b-9c2d-3e5f6a7b8c9d
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "b4f2c3d5-8a7e-4f1b-9c2d-3e5f6a7b8c9d" ;
|
||||
skos:prefLabel "Autonome verzorgingsinstelling" ;
|
||||
sh:order 22 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:c7d8e9f0-1a2b-4c5d-6e7f-8a9b0c1d2e3f
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "c7d8e9f0-1a2b-4c5d-6e7f-8a9b0c1d2e3f" ;
|
||||
skos:prefLabel "Welzijnsvereniging" ;
|
||||
sh:order 23 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:d1e2f3a4-5b6c-7d8e-9f0a-1b2c3d4e5f6a
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "d1e2f3a4-5b6c-7d8e-9f0a-1b2c3d4e5f6a" ;
|
||||
skos:prefLabel "Geen rechtspersoonlijkheid" ;
|
||||
sh:order 24 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
|
||||
concept:aa2590a0-b6de-4cba-982c-27d70553b17e
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "aa2590a0-b6de-4cba-982c-27d70553b17e" ;
|
||||
skos:prefLabel "Andere" ;
|
||||
sh:order 25 ;
|
||||
skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ;
|
||||
skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af .
|
||||
@@ -0,0 +1,11 @@
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://lblod.data.gift/concepts/8a4f3c2d-9e1b-4f5a-b7c3-6d8e9f0a1b2c>
|
||||
a <http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis> ;
|
||||
<http://mu.semte.ch/vocabularies/core/uuid> "8a4f3c2d-9e1b-4f5a-b7c3-6d8e9f0a1b2c" ;
|
||||
<http://www.w3.org/2004/02/skos/core#prefLabel> "Wijziging juridische vorm" ;
|
||||
<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#inScheme> <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> ;
|
||||
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,51 @@
|
||||
# New organization classification codes (ticket: new org types).
|
||||
# prefLabel = technically-correct org name; altLabel = colloquial werkingsgebied term.
|
||||
# URIs under data.vlaanderen.be/id/concept/<Family>/<uuid> (to be published upstream) - matches existing codes.
|
||||
# Each code is inScheme its family scheme AND the public-export scheme (10caf4a4) = the export switch.
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix scheme: <http://data.vlaanderen.be/id/conceptscheme/> .
|
||||
|
||||
# --- BestuurseenheidClassificatieCode (besluit:Bestuurseenheid) ---
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/3a2649ef-7345-4d3a-8709-f89fc9b44f58>
|
||||
rdf:type ext:OrganizationClassificationCode , code:BestuurseenheidClassificatieCode ;
|
||||
mu:uuid "3a2649ef-7345-4d3a-8709-f89fc9b44f58" ;
|
||||
skos:prefLabel "Interlokale vereniging" ;
|
||||
skos:topConceptOf scheme:BestuurseenheidClassificatieCode ;
|
||||
skos:inScheme scheme:BestuurseenheidClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b2133b86-24f0-44f0-9d10-5b4c7f944a9d>
|
||||
rdf:type ext:OrganizationClassificationCode , code:BestuurseenheidClassificatieCode ;
|
||||
mu:uuid "b2133b86-24f0-44f0-9d10-5b4c7f944a9d" ;
|
||||
skos:prefLabel "Vervoerregioraad" ;
|
||||
skos:altLabel "Vervoerregio" ; # Modelled as the werkingsgebied of a Vervoerregioraad, but colloquially known as a Vervoerregio.
|
||||
skos:topConceptOf scheme:BestuurseenheidClassificatieCode ;
|
||||
skos:inScheme scheme:BestuurseenheidClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
# --- GeregistreerdeOrganisatieClassificatieCode (regorg:RegisteredOrganization) ---
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/8392b885-a875-4b0d-b6a2-b52e53bda454>
|
||||
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
mu:uuid "8392b885-a875-4b0d-b6a2-b52e53bda454" ;
|
||||
skos:prefLabel "Zorgraad" ;
|
||||
skos:altLabel "Eerstelijnszone" ; # Modelled as the werkingsgebied of a Zorgraad, but colloquially known as an Eerstelijnszone.
|
||||
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b22948f9-e695-4f24-a530-b6bf3af3b37f>
|
||||
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
mu:uuid "b22948f9-e695-4f24-a530-b6bf3af3b37f" ;
|
||||
skos:prefLabel "Bosgroep" ;
|
||||
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/f4e5bb57-1007-4397-828b-b34bbf1e760d>
|
||||
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
mu:uuid "f4e5bb57-1007-4397-828b-b34bbf1e760d" ;
|
||||
skos:prefLabel "Woonmaatschappij" ;
|
||||
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,35 @@
|
||||
# Governing body (bestuursorgaan) + mandate (bestuursfunctie) codes for the Vervoerregioraad.
|
||||
# The vervoerregioraad is itself the deliberative organ (no AV/RvB substructure); members + a
|
||||
# (dual) voorzitter. URIs under data.vlaanderen.be (to be published), matching existing codes.
|
||||
# NOTE (business to confirm): exact role set + the dual voorzitterschap (gemeente-vertegenwoordiger
|
||||
# + Departement MOW) — modeled here as a single Voorzitter + Lid.
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix scheme: <http://data.vlaanderen.be/id/conceptscheme/> .
|
||||
|
||||
# --- Bestuursorgaan: the Vervoerregioraad itself ---
|
||||
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a04a5fb1-b79c-4b8d-a664-c5410d466d49>
|
||||
rdf:type code:BestuursorgaanClassificatieCode , skos:Concept , ext:BestuursorgaanClassificatieCode ;
|
||||
mu:uuid "a04a5fb1-b79c-4b8d-a664-c5410d466d49" ;
|
||||
skos:prefLabel "Vervoerregioraad" ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
# --- Bestuursfunctie codes (mandate roles) applying to the Vervoerregioraad ---
|
||||
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/540f3be6-73ed-4935-9de7-30997bab379c>
|
||||
rdf:type code:BestuursfunctieCode ;
|
||||
mu:uuid "540f3be6-73ed-4935-9de7-30997bab379c" ;
|
||||
skos:prefLabel "Voorzitter van de vervoerregioraad" ;
|
||||
ext:appliesTo <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a04a5fb1-b79c-4b8d-a664-c5410d466d49> ;
|
||||
skos:topConceptOf scheme:BestuursfunctieCode ;
|
||||
skos:inScheme scheme:BestuursfunctieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/1093c55c-84d5-424b-980e-8b2ca32dc445>
|
||||
rdf:type code:BestuursfunctieCode ;
|
||||
mu:uuid "1093c55c-84d5-424b-980e-8b2ca32dc445" ;
|
||||
skos:prefLabel "Lid van de vervoerregioraad" ;
|
||||
ext:appliesTo <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a04a5fb1-b79c-4b8d-a664-c5410d466d49> ;
|
||||
skos:topConceptOf scheme:BestuursfunctieCode ;
|
||||
skos:inScheme scheme:BestuursfunctieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
@@ -0,0 +1,31 @@
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> <http://www.w3.org/2004/02/skos/core#prefLabel> "Vereniging algemeen".
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
|
||||
}
|
||||
};
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61> <http://www.w3.org/2004/02/skos/core#prefLabel> "Vennootschap algemeen".
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://lblod.data.gift/concepts/019ef8b6-ba27-7388-a5cc-faf74f357963> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging> .
|
||||
<http://lblod.data.gift/concepts/019ef8b6-ba27-7388-a5cc-faf74f357963> <http://www.w3.org/2004/02/skos/core#prefLabel> "Bezoekadres" .
|
||||
<http://lblod.data.gift/concepts/019ef8b6-ba27-7388-a5cc-faf74f357963> <http://mu.semte.ch/vocabularies/core/uuid> "019ef8b6-ba27-7388-a5cc-faf74f357963" .
|
||||
<http://lblod.data.gift/concepts/019ef8b6-ba27-7388-a5cc-faf74f357963> <http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/f8319ccf40fc2a1697edc5cf7e03018f> .
|
||||
<http://lblod.data.gift/concepts/019ef8b6-ba27-7388-a5cc-faf74f357963> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/f8319ccf40fc2a1697edc5cf7e03018f> .
|
||||
<http://lblod.data.gift/concepts/019ef8b6-ba27-7388-a5cc-faf74f357963> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
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 regorg: <http://www.w3.org/ns/regorg#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?otherOrgaanInTime ?p ?o .
|
||||
?s ?p2 ?otherOrgaanInTime .
|
||||
?mandate ?mp ?mo .
|
||||
?ms ?mp2 ?mandate .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst ;
|
||||
regorg:orgStatus <http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> .
|
||||
|
||||
?bestuursorgaan besluit:bestuurt ?worshipService .
|
||||
|
||||
{
|
||||
SELECT ?bestuursorgaan (MAX(?start) AS ?keptStart) {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan ;
|
||||
mandaat:bindingStart ?start .
|
||||
FILTER(?start <= NOW())
|
||||
}
|
||||
}
|
||||
GROUP BY ?bestuursorgaan
|
||||
}
|
||||
|
||||
?keptOrgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan ;
|
||||
mandaat:bindingStart ?keptStart .
|
||||
|
||||
?otherOrgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
|
||||
FILTER(?otherOrgaanInTime != ?keptOrgaanInTime)
|
||||
|
||||
{ ?otherOrgaanInTime ?p ?o . }
|
||||
UNION
|
||||
{ ?s ?p2 ?otherOrgaanInTime . }
|
||||
UNION
|
||||
{ ?otherOrgaanInTime org:hasPost ?mandate . ?mandate ?mp ?mo . }
|
||||
UNION
|
||||
{ ?otherOrgaanInTime org:hasPost ?mandate . ?ms ?mp2 ?mandate . }
|
||||
}
|
||||
};
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?mandate ?p ?o .
|
||||
?s ?p2 ?mandate .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst ;
|
||||
regorg:orgStatus <http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> .
|
||||
|
||||
?bestuursorgaan besluit:bestuurt ?worshipService .
|
||||
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
|
||||
|
||||
?orgaanInTime org:hasPost ?mandate .
|
||||
?mandate a mandaat:Mandaat ;
|
||||
org:role ?role .
|
||||
|
||||
FILTER(?role NOT IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43>,
|
||||
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2>,
|
||||
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002>
|
||||
))
|
||||
|
||||
{ ?mandate ?p ?o . }
|
||||
UNION
|
||||
{ ?s ?p2 ?mandate . }
|
||||
}
|
||||
};
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime mandaat:bindingEinde ?endDate .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst ;
|
||||
regorg:orgStatus <http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> .
|
||||
|
||||
?bestuursorgaan besluit:bestuurt ?worshipService .
|
||||
?orgaanInTime generiek:isTijdspecialisatieVan ?bestuursorgaan .
|
||||
|
||||
?orgaanInTime mandaat:bindingEinde ?endDate .
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
2031
config/migrations/2026/20260707145350-operation-area-codelist.ttl
Normal file
2031
config/migrations/2026/20260707145350-operation-area-codelist.ttl
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,236 @@
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix conceptscheme: <http://data.vlaanderen.be/id/conceptscheme/> .
|
||||
@prefix concept: <http://lblod.data.gift/concepts/> .
|
||||
|
||||
# Concept Scheme for Content Themes (Inhoudelijk Thema)
|
||||
conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d
|
||||
rdf:type skos:ConceptScheme ;
|
||||
mu:uuid "b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d" ;
|
||||
skos:prefLabel "Inhoudelijk thema" .
|
||||
|
||||
concept:54663344-b7c9-497d-aa9e-6c723ba2f1ec
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "54663344-b7c9-497d-aa9e-6c723ba2f1ec" ;
|
||||
skos:prefLabel "Afval en/of recyclage" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:0585facf-2194-48a6-b45f-30f629d33b0b
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "0585facf-2194-48a6-b45f-30f629d33b0b" ;
|
||||
skos:prefLabel "Crematorium en/of lijkbezorging" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:fab150c6-6956-4f41-8d59-56b4365ec5c9
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "fab150c6-6956-4f41-8d59-56b4365ec5c9" ;
|
||||
skos:prefLabel "Dierenwelzijn" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:ba00f1e9-d133-42cb-9dcf-834780ad63e4
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "ba00f1e9-d133-42cb-9dcf-834780ad63e4" ;
|
||||
skos:prefLabel "Distributie: elektriciteit, gas, stoom en/of gekoelde lucht" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:4119f9e8-4a50-4ed3-be61-6077b23598ca
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "4119f9e8-4a50-4ed3-be61-6077b23598ca" ;
|
||||
skos:prefLabel "Distributie: water" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:b747a46c-85d4-47f4-9085-7ceb15c30b8d
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "b747a46c-85d4-47f4-9085-7ceb15c30b8d" ;
|
||||
skos:prefLabel "Diversiteit, inburgering en/of integratie" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:5d8f09bc-8f65-4904-972a-940d5f2ed498
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "5d8f09bc-8f65-4904-972a-940d5f2ed498" ;
|
||||
skos:prefLabel "Economie, sociale economie en/of werk" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:a9952a91-7c41-4a5e-a735-082008ed64be
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "a9952a91-7c41-4a5e-a735-082008ed64be" ;
|
||||
skos:prefLabel "Erfgoed: cultureel" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:b9a95aa5-6bf6-4c26-b67b-4ac46b600f4d
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "b9a95aa5-6bf6-4c26-b67b-4ac46b600f4d" ;
|
||||
skos:prefLabel "Erfgoed: onroerend" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:fb0540e4-9776-41a8-b551-eb738216b79f
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "fb0540e4-9776-41a8-b551-eb738216b79f" ;
|
||||
skos:prefLabel "Facilitaire, administratieve en/of ondersteunende diensten" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:1081a013-2db6-4680-a9da-7b5d09698f40
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "1081a013-2db6-4680-a9da-7b5d09698f40" ;
|
||||
skos:prefLabel "Financiële activiteiten, financiering en/of verzekeringen" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:d177a63f-442e-4f50-a17f-54f23de9b69d
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "d177a63f-442e-4f50-a17f-54f23de9b69d" ;
|
||||
skos:prefLabel "Jeugdhulp en gezinsbeleid" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:0021dbec-fad2-4fc0-af31-b84944f56a09
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "0021dbec-fad2-4fc0-af31-b84944f56a09" ;
|
||||
skos:prefLabel "Mobiliteit" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:ddf03efb-81d1-4bb7-8ab8-45dc37aafffa
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "ddf03efb-81d1-4bb7-8ab8-45dc37aafffa" ;
|
||||
skos:prefLabel "Natuur, milieu, klimaat, landschap en/of duurzaamheid" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:dfe85927-ef24-48b5-bb6c-99360619ee65
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "dfe85927-ef24-48b5-bb6c-99360619ee65" ;
|
||||
skos:prefLabel "Onderwijs en/of vorming" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:04141320-99c5-41c3-ab42-576ab235376d
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "04141320-99c5-41c3-ab42-576ab235376d" ;
|
||||
skos:prefLabel "Personeel" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:9edf7528-4a58-4065-afc6-00f60b01cd7b
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "9edf7528-4a58-4065-afc6-00f60b01cd7b" ;
|
||||
skos:prefLabel "Riolering, afvalwaterbeheer en/of watersanering" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:50ddf4c7-623e-420b-8016-e953bd76c109
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "50ddf4c7-623e-420b-8016-e953bd76c109" ;
|
||||
skos:prefLabel "Ruimtelijke ordening" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:ab2f029e-ee42-452f-bcd7-416f391ef5f2
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "ab2f029e-ee42-452f-bcd7-416f391ef5f2" ;
|
||||
skos:prefLabel "Streekontwikkeling" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:e848b2cd-2348-4214-bf08-686ca04a864e
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "e848b2cd-2348-4214-bf08-686ca04a864e" ;
|
||||
skos:prefLabel "Telecommunicatie en/of informatica (ICT)" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:0e2c7608-e990-4854-b58a-b3c1b8dc7752
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "0e2c7608-e990-4854-b58a-b3c1b8dc7752" ;
|
||||
skos:prefLabel "Veiligheid" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:0230dfa4-d12b-4186-b7b0-4676e387a310
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "0230dfa4-d12b-4186-b7b0-4676e387a310" ;
|
||||
skos:prefLabel "Vrijetijdsbeleid: cultuur" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:7ddb59f5-d49b-4797-a7de-f6ababcf4c75
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "7ddb59f5-d49b-4797-a7de-f6ababcf4c75" ;
|
||||
skos:prefLabel "Vrijetijdsbeleid: jeugd" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:8044deef-36ad-4383-92e1-ddcea08ef783
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "8044deef-36ad-4383-92e1-ddcea08ef783" ;
|
||||
skos:prefLabel "Vrijetijdsbeleid: sport" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:2375ec2b-5c8f-45b8-bec3-82ba925dd6bf
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "2375ec2b-5c8f-45b8-bec3-82ba925dd6bf" ;
|
||||
skos:prefLabel "Vrijetijdsbeleid: toerisme" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:ac13b275-7e88-4601-b752-93860b737151
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "ac13b275-7e88-4601-b752-93860b737151" ;
|
||||
skos:prefLabel "Welzijn" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:ff690be5-fc55-4378-a504-9d9fabfd4a5f
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "ff690be5-fc55-4378-a504-9d9fabfd4a5f" ;
|
||||
skos:prefLabel "Wonen: algemeen wonen" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:9ec2080c-4657-4b9f-86b8-2ff5336b6760
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "9ec2080c-4657-4b9f-86b8-2ff5336b6760" ;
|
||||
skos:prefLabel "Wonen: sociaal wonen" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:938e3951-3ac9-4577-8144-1f0d65aa98f8
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "938e3951-3ac9-4577-8144-1f0d65aa98f8" ;
|
||||
skos:prefLabel "Zorg: eerstelijnszorg" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:a9d85267-5890-40e8-b764-562c239fbc0c
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "a9d85267-5890-40e8-b764-562c239fbc0c" ;
|
||||
skos:prefLabel "Zorg: geestelijke gezondheidszorg" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:14bf90d1-b1ba-43e3-a215-2e0fb66d7503
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "14bf90d1-b1ba-43e3-a215-2e0fb66d7503" ;
|
||||
skos:prefLabel "Zorg: woonzorg" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
|
||||
concept:1416c735-b31d-4499-86e4-d301ba67ef55
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "1416c735-b31d-4499-86e4-d301ba67ef55" ;
|
||||
skos:prefLabel "Zorg: ziekenhuizen (inclusief psychiatrische ziekenhuizen en revalidatieziekenhuizen)" ;
|
||||
skos:topConceptOf conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d ;
|
||||
skos:inScheme conceptscheme:b8a2c4d6-e9f1-4a3b-8c5d-7e2f9a1b3c4d .
|
||||
@@ -0,0 +1,36 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX dct: <http://purl.org/dc/terms/>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?org dct:spatial ?werkingsgebied .
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?classification {
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/82250452-83a0-48f4-89cc-b430320493ce>
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/35833ba2-7371-400b-8df2-2912f66fb153>
|
||||
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/82fd21dc-e8bb-4d13-a010-f4a12358ef10>
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?org org:classification ?classification ;
|
||||
org:hasPrimarySite ?site .
|
||||
?site organisatie:bestaatUit ?address .
|
||||
?address adres:gemeentenaam ?municipalityName .
|
||||
}
|
||||
FILTER NOT EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?org dct:spatial ?existing .
|
||||
}
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?municipality org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> ;
|
||||
skos:prefLabel ?municipalityName .
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?municipality besluit:werkingsgebied ?werkingsgebied .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
# Deduplicate islamitisch minister positions: if an eredienstbestuur has more
|
||||
# than one position for the same function (e.g. 2 "Waarnemende Imam"), keep
|
||||
# only one - deterministically the lowest-URI position - and drop the rest
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService ere:wordtBediendDoor ?position .
|
||||
?position ?p ?o .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst ;
|
||||
ere:typeEredienst <http://lblod.data.gift/concepts/9d8bd472a00bf0a5c7b7186606365a52> ; # Islamitisch
|
||||
ere:wordtBediendDoor ?position .
|
||||
|
||||
?position ?p ?o ;
|
||||
ere:functie ?functie .
|
||||
|
||||
{
|
||||
SELECT ?worshipService ?functie (IRI(MIN(STR(?anyPosition))) AS ?keptPosition) WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService ere:wordtBediendDoor ?anyPosition .
|
||||
?anyPosition ere:functie ?functie .
|
||||
}
|
||||
}
|
||||
GROUP BY ?worshipService ?functie
|
||||
}
|
||||
|
||||
FILTER(?position != ?keptPosition)
|
||||
FILTER NOT EXISTS { ?anyMinister org:holds ?position }
|
||||
}
|
||||
}
|
||||
;
|
||||
|
||||
# Create any of the 4 islamitisch minister positions (Waarnemende Imam, Eerste/
|
||||
# Tweede/Derde Imam in rang) that a worship service is missing, so every
|
||||
# islamitisch eredienstbestuur always has all 4 positions, regardless of its
|
||||
# current status.
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService ere:wordtBediendDoor ?newMinisterPosition .
|
||||
|
||||
?newMinisterPosition a org:Post , ere:PositieBedienaar ;
|
||||
mu:uuid ?uuidNewMinisterPosition ;
|
||||
ere:functie ?functie .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst ;
|
||||
ere:typeEredienst <http://lblod.data.gift/concepts/9d8bd472a00bf0a5c7b7186606365a52> . # Islamitisch
|
||||
|
||||
VALUES ?functie {
|
||||
<http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> # Waarnemende Imam
|
||||
<http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> # Eerste Imam in rang
|
||||
<http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355> # Tweede Imam in rang
|
||||
<http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7> # Derde Imam in rang
|
||||
}
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?worshipService ere:wordtBediendDoor ?ministerPosition .
|
||||
?ministerPosition ere:functie ?functie .
|
||||
}
|
||||
|
||||
BIND(MD5(CONCAT(?worshipService, ?functie, "fix-islam-imam-roles-by-status")) as ?uuidNewMinisterPosition)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/positiesBedienaar/", ?uuidNewMinisterPosition)) AS ?newMinisterPosition)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://lblod.data.gift/concepts/eeaf623d-9629-4de3-9c37-2dbb132b13d8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging> .
|
||||
<http://lblod.data.gift/concepts/eeaf623d-9629-4de3-9c37-2dbb132b13d8> <http://www.w3.org/2004/02/skos/core#prefLabel> "Wijkkantoor" .
|
||||
<http://lblod.data.gift/concepts/eeaf623d-9629-4de3-9c37-2dbb132b13d8> <http://mu.semte.ch/vocabularies/core/uuid> "eeaf623d-9629-4de3-9c37-2dbb132b13d8" .
|
||||
<http://lblod.data.gift/concepts/eeaf623d-9629-4de3-9c37-2dbb132b13d8> <http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/f8319ccf40fc2a1697edc5cf7e03018f> .
|
||||
<http://lblod.data.gift/concepts/eeaf623d-9629-4de3-9c37-2dbb132b13d8> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/f8319ccf40fc2a1697edc5cf7e03018f> .
|
||||
<http://lblod.data.gift/concepts/eeaf623d-9629-4de3-9c37-2dbb132b13d8> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
|
||||
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> # Waarnemende Imam
|
||||
ere:vanToepassingBijStatus <http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> . # In Oprichting
|
||||
|
||||
<http://lblod.data.gift/concepts/e357bc8f4cc3a694fde2239748768a22> # Eerste Imam in rang
|
||||
ere:vanToepassingBijStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
|
||||
|
||||
<http://lblod.data.gift/concepts/c4a3fd586211b17b06f574885e23f355> # Tweede Imam in rang
|
||||
ere:vanToepassingBijStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
|
||||
|
||||
<http://lblod.data.gift/concepts/5ebb798bd59c3b48c25116032caa02b7> # Derde Imam in rang
|
||||
ere:vanToepassingBijStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6187e2d787cc954587dd7dce215e96b5> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/73840d393bd94828f0903e8357c7f328d4bf4b8fbd63adbfa443e784f056a589> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/6187e2d787cc954587dd7dce215e96b5>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?localInvolvementPajottegem <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?localInvolvementPajottegem <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> 100.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?g)
|
||||
GRAPH ?g {
|
||||
?localInvolvementPajottegem <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
VALUES ?localInvolvementPajottegem {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/58bfe3f61f5a661383a5db8502994210>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,75 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/db1e677e-fc84-47b1-8204-020ce139cfbb> a cleanup:Job ;
|
||||
mu:uuid "db1e677e-fc84-47b1-8204-020ce139cfbb" ;
|
||||
dcterms:title "Adding new werkingsgebieden to codelist" ;
|
||||
cleanup:randomQuery """
|
||||
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX prov: <http://www.w3.org/ns/prov#>
|
||||
PREFIX core: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?uri a skos:Concept ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/3307738e-f84d-4f95-9b14-3e9162d83394> ;
|
||||
core:uuid ?uuid ;
|
||||
skos:prefLabel ?label .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
?sub besluit:werkingsgebied ?uri .
|
||||
|
||||
?uri a prov:Location ;
|
||||
core:uuid ?uuid ;
|
||||
rdfs:label ?label ;
|
||||
ext:werkingsgebiedNiveau "Gemeente" .
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?existingConcept a skos:Concept ;
|
||||
core:uuid ?uuid ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/3307738e-f84d-4f95-9b14-3e9162d83394> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/6061ca0c-12d8-4fb7-9c24-511e21ab7e0e> a cleanup:Job ;
|
||||
mu:uuid "6061ca0c-12d8-4fb7-9c24-511e21ab7e0e" ;
|
||||
dcterms:title "Updating werkingsgebieden labels from codelist" ;
|
||||
cleanup:randomQuery """
|
||||
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX prov: <http://www.w3.org/ns/prov#>
|
||||
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?uri skos:prefLabel ?oldLabel .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?uri skos:prefLabel ?newLabel .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
?sub besluit:werkingsgebied ?uri .
|
||||
|
||||
?uri a prov:Location ;
|
||||
rdfs:label ?newLabel ;
|
||||
ext:werkingsgebiedNiveau "Gemeente" .
|
||||
|
||||
?uri a skos:Concept ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/3307738e-f84d-4f95-9b14-3e9162d83394> ;
|
||||
skos:prefLabel ?oldLabel .
|
||||
|
||||
FILTER(STR(?oldLabel) != STR(?newLabel))
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,11 @@
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
|
||||
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/4f82dfea-0581-43d4-b672-3bdb261d2d33>
|
||||
rdf:type code:BestuursorgaanClassificatieCode , skos:Concept , ext:BestuursorgaanClassificatieCode ;
|
||||
mu:uuid "4f82dfea-0581-43d4-b672-3bdb261d2d33" ;
|
||||
skos:prefLabel "Politiecollege" ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
@@ -0,0 +1,19 @@
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?timedBody mandaat:bindingEinde "2026-07-02T00:00:00"^^xsd:dateTime .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?politiezone a besluit:Bestuurseenheid ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc> . # Politiezone
|
||||
?governingBody besluit:bestuurt ?politiezone ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/1afce932-53c1-46d8-8aab-90dcc331e67d> . # Politieraad
|
||||
?timedBody generiek:isTijdspecialisatieVan ?governingBody .
|
||||
FILTER NOT EXISTS { ?timedBody mandaat:bindingEinde ?endDate . }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?newGoverningBody a besluit:Bestuursorgaan ;
|
||||
mu:uuid ?newGoverningBodyUuid ;
|
||||
skos:prefLabel ?newGoverningBodyLabel ;
|
||||
besluit:bestuurt ?politiezone ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/4f82dfea-0581-43d4-b672-3bdb261d2d33> . # Politiecollege
|
||||
?newTimedGoverningBody a besluit:Bestuursorgaan ;
|
||||
mu:uuid ?newTimedGoverningBodyUuid ;
|
||||
generiek:isTijdspecialisatieVan ?newGoverningBody ;
|
||||
mandaat:bindingStart "2026-07-02T00:00:00"^^xsd:dateTime .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?politiezone a besluit:Bestuurseenheid ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc> ; # Politiezone
|
||||
mu:uuid ?politiezoneUuid ;
|
||||
skos:prefLabel ?politiezoneLabel .
|
||||
?oldGoverningBody besluit:bestuurt ?politiezone ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/1afce932-53c1-46d8-8aab-90dcc331e67d> . # Politieraad
|
||||
}
|
||||
BIND(CONCAT("Politiecollege ", ?politiezoneLabel) AS ?newGoverningBodyLabel)
|
||||
BIND(SHA256(CONCAT("politiecollege-", STR(?politiezoneUuid))) AS ?newGoverningBodyUuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", STR(?newGoverningBodyUuid))) AS ?newGoverningBody)
|
||||
BIND(SHA256(CONCAT("politiecollege-timed-", STR(?politiezoneUuid))) AS ?newTimedGoverningBodyUuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/bestuursorganen/", STR(?newTimedGoverningBodyUuid))) AS ?newTimedGoverningBody)
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
# Delete duplicate van rechtswege mandaten per governing body
|
||||
# Must be run AFTER the corresponding loket migration
|
||||
|
||||
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#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime org:hasPost ?mandaat .
|
||||
?mandaat ?p ?o .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime org:hasPost ?canonicalMandaat .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst .
|
||||
?orgaan besluit:bestuurt ?worshipService .
|
||||
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
|
||||
org:hasPost ?mandaat .
|
||||
?mandaat org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5972fccd87f864c4ec06bfbd20b5008b> ;
|
||||
?p ?o .
|
||||
|
||||
FILTER NOT EXISTS { ?holder org:holds ?mandaat . }
|
||||
}
|
||||
|
||||
{
|
||||
SELECT ?orgaan (IRI(MIN(STR(?anyMandaat))) AS ?canonicalMandaat) WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?anyOrgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
|
||||
org:hasPost ?anyMandaat .
|
||||
?anyMandaat org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5972fccd87f864c4ec06bfbd20b5008b> .
|
||||
}
|
||||
}
|
||||
GROUP BY ?orgaan
|
||||
}
|
||||
|
||||
FILTER(?mandaat != ?canonicalMandaat)
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
# Delete duplicate grote helft mandaten within a single election cycle period
|
||||
# Must be run AFTER the corresponding loket migration
|
||||
|
||||
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#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime org:hasPost ?mandaat .
|
||||
?mandaat ?p ?o .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?orgaanInTime org:hasPost ?canonicalMandaat .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?worshipService a ere:BestuurVanDeEredienst .
|
||||
?orgaan besluit:bestuurt ?worshipService .
|
||||
?orgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
|
||||
mandaat:bindingStart ?start ;
|
||||
org:hasPost ?mandaat .
|
||||
?mandaat org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> ;
|
||||
?p ?o .
|
||||
|
||||
FILTER NOT EXISTS { ?holder org:holds ?mandaat . }
|
||||
}
|
||||
|
||||
BIND(YEAR(?start) AS ?startYear)
|
||||
VALUES (?startYear ?pairIndex) {
|
||||
(2017 0)
|
||||
(2020 1)
|
||||
(2023 1)
|
||||
(2026 2)
|
||||
(2029 2)
|
||||
}
|
||||
|
||||
{
|
||||
SELECT ?orgaan ?pairIndex (IRI(MIN(STR(?anyMandaat))) AS ?canonicalMandaat) WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?anyOrgaanInTime generiek:isTijdspecialisatieVan ?orgaan ;
|
||||
mandaat:bindingStart ?anyStart ;
|
||||
org:hasPost ?anyMandaat .
|
||||
?anyMandaat org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/a8b5509b-f86b-48f8-94d6-fe463a9b77e3> .
|
||||
}
|
||||
|
||||
BIND(YEAR(?anyStart) AS ?anyStartYear)
|
||||
VALUES (?anyStartYear ?pairIndex) {
|
||||
(2017 0)
|
||||
(2020 1)
|
||||
(2023 1)
|
||||
(2026 2)
|
||||
(2029 2)
|
||||
}
|
||||
}
|
||||
GROUP BY ?orgaan ?pairIndex
|
||||
}
|
||||
|
||||
FILTER(?mandaat != ?canonicalMandaat)
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?s ?p ?o.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
|
||||
?s a mandaat:Mandataris;
|
||||
org:holds ?mandate;
|
||||
?p ?o.
|
||||
}
|
||||
|
||||
?orgaanInTime org:hasPost ?mandate ;
|
||||
generiek:isTijdspecialisatieVan ?orgaan .
|
||||
|
||||
?orgaan besluit:bestuurt ?bestuur .
|
||||
?bestuur org:classification ?classification .
|
||||
|
||||
FILTER(?classification IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003>
|
||||
))
|
||||
|
||||
FILTER (?p NOT IN (mandaat:start, mandaat:einde))
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
?s ?p "" .
|
||||
}
|
||||
|
||||
FILTER NOT EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> { ?s org:holds ?mandate }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?bestuur ere:betrokkenBestuur ?betrokkenLokaleBesturen .
|
||||
?betrokkenLokaleBesturen ?p ?o .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
VALUES ?betrokkenLokaleBesturen {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6363D5718DE5818A7C9F4402>
|
||||
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A462F3FDD4B9E78BCCD458F>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A462F3FDD4B9E78BCCD4590>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A462F3FDD4B9E78BCCD458E>
|
||||
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439361>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43935D>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43935F>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439364>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439366>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439367>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43936A>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439369>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43936B>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43936D>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43936C>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439368>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439360>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439365>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A43935E>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439362>
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/6A71F922F541BB824A439363>
|
||||
}
|
||||
|
||||
?bestuur ere:betrokkenBestuur ?betrokkenLokaleBesturen .
|
||||
?betrokkenLokaleBesturen ?p ?o .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?bestuur ere:betrokkenBestuur ?betrokkenLokaleBesturen .
|
||||
?betrokkenLokaleBesturen ?p ?o .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
VALUES ?worshipService {
|
||||
<http://data.lblod.info/id/besturenVanDeEredienst/6371F8418DE5818A7C9F44A5>
|
||||
<http://data.lblod.info/id/besturenVanDeEredienst/65F5B3BEE77A4F2289F6B64C>
|
||||
}
|
||||
|
||||
?bestuur ere:betrokkenBestuur ?betrokkenLokaleBesturen .
|
||||
?betrokkenLokaleBesturen ere:typebetrokkenheid <http://lblod.data.gift/concepts/0f845f00ee76099c89518cbaf6a7b77f> ;
|
||||
org:organization ?worshipService ;
|
||||
?p ?o .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/be278471a2a318edba32e7ac4294c0eafbe4c8077a34dcbb9c2e43211d4a78a6>
|
||||
ere:betrokkenBestuur <http://data.lblod.info/id/betrokkenLokaleBesturen/c663fdc9-642a-44c0-ac41-18e0ba047a9c> .
|
||||
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/c663fdc9-642a-44c0-ac41-18e0ba047a9c>
|
||||
a ere:BetrokkenLokaleBesturen ;
|
||||
mu:uuid "c663fdc9-642a-44c0-ac41-18e0ba047a9c" ;
|
||||
ere:financieringspercentage "0"^^xsd:integer ;
|
||||
ere:typebetrokkenheid <http://lblod.data.gift/concepts/0f845f00ee76099c89518cbaf6a7b77f> ;
|
||||
org:organization <http://data.lblod.info/id/besturenVanDeEredienst/65F5B3BEE77A4F2289F6B64C> .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/298b13541e1e85de4b71535197aa1f3bbc4bdb67f0fe0f58ab4a7dc207af61fa>
|
||||
ere:betrokkenBestuur <http://data.lblod.info/id/betrokkenLokaleBesturen/a26b6366-982a-40e1-aafe-eea7ade5865e> .
|
||||
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/a26b6366-982a-40e1-aafe-eea7ade5865e>
|
||||
a ere:BetrokkenLokaleBesturen ;
|
||||
mu:uuid "a26b6366-982a-40e1-aafe-eea7ade5865e" ;
|
||||
ere:financieringspercentage "0"^^xsd:integer ;
|
||||
ere:typebetrokkenheid <http://lblod.data.gift/concepts/86fcbbbff764f1cba4c7e10dbbae578e> ;
|
||||
org:organization <http://data.lblod.info/id/besturenVanDeEredienst/6874B0FE8806FCC9C1BBF1C3> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?bestuur ere:betrokkenBestuur ?betrokkenLokaleBesturen .
|
||||
?betrokkenLokaleBesturen ?p ?o .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
VALUES ?worshipService {
|
||||
<http://data.lblod.info/id/besturenVanDeEredienst/6A5624A4174153E0CE6F0423>
|
||||
}
|
||||
|
||||
?bestuur ere:betrokkenBestuur ?betrokkenLokaleBesturen .
|
||||
?betrokkenLokaleBesturen ere:typebetrokkenheid <http://lblod.data.gift/concepts/0f845f00ee76099c89518cbaf6a7b77f> ;
|
||||
org:organization ?worshipService ;
|
||||
?p ?o .
|
||||
|
||||
FILTER (?bestuur != <http://data.lblod.info/id/bestuurseenheden/670db1d66c0de3b931962e1044033ccfa9d6e3023aa9828a5f252c3bc69bd32c>)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,200 @@
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix conceptscheme: <http://data.vlaanderen.be/id/conceptscheme/> .
|
||||
@prefix concept: <http://lblod.data.gift/concepts/> .
|
||||
|
||||
# Concept Scheme for Additional Qualification (Bijkomende kwalificatie)
|
||||
conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3
|
||||
rdf:type skos:ConceptScheme ;
|
||||
mu:uuid "48face96-e06d-4a3e-9fc6-f625e763a0a3" ;
|
||||
skos:prefLabel "Bijkomende kwalificatie" .
|
||||
|
||||
concept:f877fae8-5101-4513-871c-4dd2151b0c99
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "f877fae8-5101-4513-871c-4dd2151b0c99" ;
|
||||
skos:prefLabel "Geen bijkomende kwalificatie" ;
|
||||
code:rechtsgrond "Geen rechtsgrond" ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:fb7c4b8d-6927-45ba-8f4e-f4854d437815
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "fb7c4b8d-6927-45ba-8f4e-f4854d437815" ;
|
||||
skos:prefLabel "Afvalintercommunale" ;
|
||||
code:rechtsgrond "Artikel 26 van het decreet betreffende het duurzaam beheer van materiaalkringlopen en afvalstoffen" ;
|
||||
skos:definition "Een samenwerkingsverband dat ertoe bijdraagt de huishoudelijke afvalstoffen zo veel mogelijk worden voorkomen of worden hergebruikt, op regelmatige tijdstippen worden opgehaald of op een andere wijze worden ingezameld, en nuttig worden toegepast of verwijderd, overeenkomstig artikel 11, 12 en 13 van het decreet betreffende het duurzaam beheer van materiaalkringlopen en afvalstoffen." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:7f51db9f-e934-4234-9870-fb18ed7afc16
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "7f51db9f-e934-4234-9870-fb18ed7afc16" ;
|
||||
skos:prefLabel "Bibliotheekwerking binnen IGS bovenlokale cultuurwerking" ;
|
||||
code:rechtsgrond "Artikelen 33 tot en met 39 van het Bovenlokaalcultuurdecreet van 8 maart 2024" ;
|
||||
skos:definition "Een intergemeentelijk samenwerkingsverband met rechtspersoonlijkheid dat, binnen zijn bovenlokale cultuurwerking, bibliotheken of bibliotheekdiensten als culturele actoren, praktijken of diensten samenbrengt, ondersteunt, innoveert of verduurzaamt." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:87966ef7-cc35-48c3-94b6-ffb41f65bed3
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "87966ef7-cc35-48c3-94b6-ffb41f65bed3" ;
|
||||
skos:prefLabel "Distributienetbeheerder" ;
|
||||
code:rechtsgrond "Artikel 4.1.1 van het Energiedecreet" ;
|
||||
skos:definition "Een rechtspersoon die door de Vlaamse Nutsregulator belast wordt met het beheer van het elektriciteits- en het aardgasdistributienet van een aaneensluitend geografisch afgebakend gebied." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:910dde7d-3eda-40f0-948b-ca81c7b0152d
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "910dde7d-3eda-40f0-948b-ca81c7b0152d" ;
|
||||
skos:prefLabel "Energieholding en/of -participatie" ;
|
||||
code:rechtsgrond "Artikel 180 van de Energiewet van 1994" ;
|
||||
skos:definition "Een rechtspersoon of samenwerkingsverband dat energiegerelateerde participaties of holdings aanhoudt of beheert, zonder dat dit een afzonderlijke rechtsvorm of sectorale erkenning vormt." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:f92cde87-1ae2-4278-aaa8-78ad598e04b1
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "f92cde87-1ae2-4278-aaa8-78ad598e04b1" ;
|
||||
skos:prefLabel "Energiehuis" ;
|
||||
code:rechtsgrond "Artikel 1.1.3, 40°/2 en titel IX Energiehuizen van het Energiedecreet" ;
|
||||
skos:definition "Een rechtspersoon of samenwerkingsverband die op het niveau van één of meer gemeenten diensten inzake energie en woningkwaliteit aanbiedt aan de klant en door de Vlaamse minister van Energie werd erkend." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:2980c9c5-3e7a-4114-a1bd-a51f8ae34b3c
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "2980c9c5-3e7a-4114-a1bd-a51f8ae34b3c" ;
|
||||
skos:prefLabel "IGS bovenlokaal netwerk vrijetijdsparticipatie" ;
|
||||
code:rechtsgrond "Artikelen 40 tot en met 46 van het Bovenlokaalcultuurdecreet van 8 maart 2024" ;
|
||||
skos:definition "Een samenwerkingsverband dat een werkingssubsidie werd toegekend door de Vlaamse Regering voor de organisatie van een bovenlokaal netwerk vrijetijdsparticipatie met als doel de participatiedrempels van personen in armoede bij participatie in cultuur, jeugdwerk en sport in het werkingsgebied weg te werken." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:14fc15f7-8217-4b15-8e3c-1e6dcc2570ee
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "14fc15f7-8217-4b15-8e3c-1e6dcc2570ee" ;
|
||||
skos:prefLabel "IGS bovenlokale cultuurwerking" ;
|
||||
code:rechtsgrond "Artikel 33 van het Bovenlokaalcultuurdecreet van 8 maart 2024" ;
|
||||
skos:definition "Een samenwerkingsverband dat een werkingssubsidie werd toegekend door de Vlaamse Regering voor een bovenlokale cultuurwerking om een geïntegreerde, inclusieve bovenlokale cultuurwerking in hun werkingsgebied te ontwikkelen, in stand te houden en te verspreiden." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:7a4abacb-3a15-4086-a1e3-d7e198d3ee4b
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "7a4abacb-3a15-4086-a1e3-d7e198d3ee4b" ;
|
||||
skos:prefLabel "IGS crematorium" ;
|
||||
code:rechtsgrond "Besluit van de Vlaamse Regering van 14 mei 2004 tot organisatie, inrichting en beheer van begraafplaatsen en crematoria." ;
|
||||
skos:definition "Een samenwerkingsverband dat op grond van de regelgeving over begraafplaatsen en lijkbezorging een intergemeentelijk crematorium opricht en beheert." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:59fd0892-6c97-4676-ae28-5afaee07b979
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "59fd0892-6c97-4676-ae28-5afaee07b979" ;
|
||||
skos:prefLabel "IGS cultureel-erfgoedwerking" ;
|
||||
code:rechtsgrond "Artikel 57 van het Cultureelerfgoeddecreet van 23 december 2021 en uitvoeringsbepalingen" ;
|
||||
skos:definition "Een samenwerkingsverband dat een werkingssubsidie werd toegekend door de Vlaamse Regering voor de werking van een cultureelerfgoedcel, die een initiërende, coördinerende en ondersteunende rol opneemt, en van eventuele collectiebeherende organisaties voor zover deze de dienstverlenende rol mee opnemen." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:f4a15c55-910d-40ca-be41-41aa428ca993
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "f4a15c55-910d-40ca-be41-41aa428ca993" ;
|
||||
skos:prefLabel "IGS jeugdwerk en jeugdbeleid" ;
|
||||
code:rechtsgrond "Artikel 38 van het Jeugddecreet van 23 november 2023" ;
|
||||
skos:definition "Een samenwerkingsverband dat een werkingssubsidie werd toegekend door de Vlaamse Regering voor het stimuleren van samenwerking en netwerking tussen lokale besturen over het jeugdwerk en het jeugdbeleid binnen hun werkingsgebied." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:fa245a09-bd4d-499a-9bf3-fba5f028c061
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "fa245a09-bd4d-499a-9bf3-fba5f028c061" ;
|
||||
skos:prefLabel "IGS lokaal woonbeleid" ;
|
||||
code:rechtsgrond "Artikelen 2.2., 2.11. en 2.13. van het Besluit Vlaamse Codex Wonen van 2021" ;
|
||||
skos:definition "Een intergemeentelijk samenwerkingsverband dat een subsidie werd toegekend door de Vlaamse Regering met het oog op de realisatie van de Vlaamse beleidsprioriteiten op lokaal woonbeleid, zoals: De gemeente zorgt voor een divers en betaalbaar woonaanbod afhankelijk van de woonnoden. De gemeente werkt aan de kwaliteit van het woningpatrimonium en de woonomgeving. De gemeente informeert, adviseert en begeleidt inwoners met vragen over wonen." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:2ca3f306-5167-4b05-a0cf-9650c75eb2c9
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "2ca3f306-5167-4b05-a0cf-9650c75eb2c9" ;
|
||||
skos:prefLabel "IGS regierol sociale economie en werk" ;
|
||||
code:rechtsgrond "Artikel 14 van het decreet van 22 maart 2024 over de ondersteuning van sociale economie en maatschappelijk verantwoord ondernemen" ;
|
||||
skos:definition "Een intergemeentelijk samenwerkingsverband die de lokale regierol op het vlak van sociale economie en werk opneemt." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:cf6025af-52b4-4527-8e89-7eb8c38be70d
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "cf6025af-52b4-4527-8e89-7eb8c38be70d" ;
|
||||
skos:prefLabel "IGS wijk-werken / Wijk-werken" ;
|
||||
code:rechtsgrond "Artikelen 14 en 17 van het Wijk-werkendecreet van 7 juli 2017" ;
|
||||
skos:definition "Een rechtspersoon of samenwerkingsverband die door de gemeente(n) werd aangeduid of opgericht als organisator van wijk-werken. Deze organisator is belast met de taken die omschreven worden in artikel 17 van het Wijk-werkendecreet van 7 juli 2017." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:d0e660ab-66e5-4929-a24c-a7e89fdf1a36
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "d0e660ab-66e5-4929-a24c-a7e89fdf1a36" ;
|
||||
skos:prefLabel "Intergemeentelijke onroerenderfgoeddienst IOED" ;
|
||||
code:rechtsgrond "Artikelen 2.1. en 3.3.1. van het Onroerenderfgoeddecreet" ;
|
||||
skos:definition "Een intergemeentelijk samenwerkingsverband erkend door de Vlaamse Regering dat beleidsuitvoerende taken inzake onroerend erfgoed opneemt." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:de4ba614-265a-4741-9901-655cf4b89315
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "de4ba614-265a-4741-9901-655cf4b89315" ;
|
||||
skos:prefLabel "Rioolbeheerder" ;
|
||||
code:rechtsgrond "Artikel 2.6.1.3.3 van het gecodificeerd Decreet betreffende het integraal waterbeleid" ;
|
||||
skos:definition "De gemeente, het gemeentebedrijf, de intercommunale, het intergemeentelijk samenwerkingsverband, de exploitant van een openbaar waterdistributienetwerk of een andere overeenkomstig de regelgeving aangewezen entiteit die verantwoordelijk is voor de uitvoering van de gemeentelijke saneringsverplichting" ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:6d0eb89d-921d-42fd-bb0f-ce2cd1db7cce
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "6d0eb89d-921d-42fd-bb0f-ce2cd1db7cce" ;
|
||||
skos:prefLabel "Samenwerkingsverband geïntegreerd breed onthaal" ;
|
||||
code:rechtsgrond "Artikelen 9 tot en met 11 van het decreet betreffende het lokaal sociaal beleid" ;
|
||||
skos:definition "Een samenwerkingsverband, onder regie van het lokaal bestuur, dat minstens het OCMW, het centrum voor algemeen welzijnswerk en de erkende diensten maatschappelijk werk van de ziekenfondsen omvat en dat wordt gerealiseerd vanuit het Sociaal Huis." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:dc58093c-3c2c-4b67-a23d-86868d115e1e
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "dc58093c-3c2c-4b67-a23d-86868d115e1e" ;
|
||||
skos:prefLabel "Sportregio/IGS Sportwerking" ;
|
||||
code:rechtsgrond "Geen decretale rechtsgrond" ;
|
||||
skos:definition "Een gemeentelijk of intergemeentelijk samenwerkingsverband waarin twee of meer gemeenten/steden of gelijkgestelde actoren hun sportbeleid bovenlokaal afstemmen, versterken of uitvoeren door sportpromotionele, beleidsmatige of ondersteunende projecten en activiteiten te ontwikkelen die tegemoetkomen aan behoeften van de deelnemende gemeenten/steden en effect hebben op hun gezamenlijke sportwerking." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:8d11f9bd-a485-4dce-b962-117e2c8112ef
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "8d11f9bd-a485-4dce-b962-117e2c8112ef" ;
|
||||
skos:prefLabel "Streekontwikkelingsintercommunale" ;
|
||||
code:rechtsgrond "Decreet ruimtelijke economie van 13 juli 2012" ;
|
||||
skos:definition "Een samenwerkingsverband om bovenlokale noden en kansen in een streek te ondersteunen, voorbereiden, coördineren, regisseren of realiseren via intergemeentelijke, interbestuurlijke en eventueel publiek-private samenwerking, met het oog op duurzame ruimtelijke, economische, sociale en bestuurlijke ontwikkeling van de streek, en met gebruik van sectorale instrumenten inzake onder meer ruimtelijke planning, economische ruimte, bedrijventerreinen, grondbeleid, wonen, mobiliteit, infrastructuur, energie, klimaat en maatschappelijke dienstverlening." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:83e7e9b4-4e38-45ee-a225-940a14bd541d
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "83e7e9b4-4e38-45ee-a225-940a14bd541d" ;
|
||||
skos:prefLabel "UiTPAS-regio" ;
|
||||
code:rechtsgrond "Decreet digitale transformatie cultuursector 2023" ;
|
||||
skos:definition "Een werkingsgebied van steden en/of gemeenten die zijn aangesloten bij het UiTPAS-initiatief waarin het door publiq ontwikkelde en beheerde UiTPAS-programma gezamenlijk wordt toegepast, met afspraken over het gebruik van de UiTPAS, openstelling van vrijetijdsaanbod, spaar- en omruilvoordelen, doelgroepafbakening, toepassing en verrekening van het kansentarief, en samenwerking rond vrijetijdsparticipatie; de regio wordt juridisch gedragen door de betrokken lokale besturen zelf, door een intergemeentelijke samenwerkingsovereenkomst of door een intergemeentelijk samenwerkingsverband met rechtspersoonlijkheid, en moet waar relevant voldoen aan de subsidievoorwaarden van het Bovenlokaalcultuurdecreet en de principes van regioconform samenwerken." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
|
||||
concept:55894cb9-2e5f-47b8-8aac-8681180e1f6b
|
||||
rdf:type skos:Concept , code:BijkomendeKwalificatieCode ;
|
||||
mu:uuid "55894cb9-2e5f-47b8-8aac-8681180e1f6b" ;
|
||||
skos:prefLabel "Waterbeheerder" ;
|
||||
code:rechtsgrond "Artikelen 2.1.2. en 2.3.5. van het gecodificeerd Decreet van 15 juni 2018 betreffende het integraal waterbeleid" ;
|
||||
skos:definition "Exploitant van een openbaar waterdistributienetwerk, waterleverancier, rioolbeheerder of uitvoerder van de gemeentelijke saneringsverplichting." ;
|
||||
skos:topConceptOf conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 ;
|
||||
skos:inScheme conceptscheme:48face96-e06d-4a3e-9fc6-f625e763a0a3 .
|
||||
@@ -0,0 +1,11 @@
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://lblod.data.gift/concepts/09ec81e1-2d5a-49dd-a4bc-7c2594108b60>
|
||||
a <http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis> ;
|
||||
<http://mu.semte.ch/vocabularies/core/uuid> "09ec81e1-2d5a-49dd-a4bc-7c2594108b60" ;
|
||||
<http://www.w3.org/2004/02/skos/core#prefLabel> "Wijziging werkingsgebied" ;
|
||||
<http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ,
|
||||
<http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> ;
|
||||
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/e1ff33ee76b5662ec8486f0e2abec384> .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,10 @@
|
||||
@prefix prov: <http://www.w3.org/ns/prov#> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix dct: <http://purl.org/dc/terms/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
|
||||
<http://data.lblod.info/id/chat-agents/rapportassistent>
|
||||
a prov:SoftwareAgent , foaf:Agent ;
|
||||
mu:uuid "802f9924-1933-4884-90eb-3f3f6dd1905f" ;
|
||||
foaf:name "Rapportassistent" ;
|
||||
dct:description "Stel je vraag over de gegevens in het Organisatieportaal. Ik maak er een rapport van." .
|
||||
@@ -0,0 +1,29 @@
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
|
||||
# The bijlagen of the report assistant get a dct:type. Two types for now:
|
||||
# the specification of the report, and the executed report with its results.
|
||||
|
||||
<http://lblod.data.gift/concept-schemes/f1103789-c5c9-406e-8079-be6c833d0d69>
|
||||
rdf:type skos:ConceptScheme ;
|
||||
mu:uuid "f1103789-c5c9-406e-8079-be6c833d0d69" ;
|
||||
skos:prefLabel "Bijlagetypen rapportassistent"@nl, "Report assistant attachment types"@en ;
|
||||
skos:definition "Types bijlage bij berichten van de rapportassistent: rapport specificaties en uitgevoerde rapporten."@nl ;
|
||||
skos:hasTopConcept <http://lblod.data.gift/concepts/6693014e-7b7d-448c-bb24-80c9758521f3>,
|
||||
<http://lblod.data.gift/concepts/28d97698-e219-4a92-bdbd-7ab367a7524e> .
|
||||
|
||||
<http://lblod.data.gift/concepts/6693014e-7b7d-448c-bb24-80c9758521f3>
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "6693014e-7b7d-448c-bb24-80c9758521f3" ;
|
||||
skos:prefLabel "Rapportspecificatie"@nl, "Report specification"@en ;
|
||||
skos:altLabel "Query spec"@nl, "Query spec"@en ;
|
||||
skos:definition "De specificatie die vastlegt welk rapport gemaakt wordt: filter en kolommen."@nl ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/f1103789-c5c9-406e-8079-be6c833d0d69> .
|
||||
|
||||
<http://lblod.data.gift/concepts/28d97698-e219-4a92-bdbd-7ab367a7524e>
|
||||
rdf:type skos:Concept ;
|
||||
mu:uuid "28d97698-e219-4a92-bdbd-7ab367a7524e" ;
|
||||
skos:prefLabel "Uitgevoerd rapport"@nl, "Executed report"@en ;
|
||||
skos:definition "De resultaten van een rapport dat de rapportassistent heeft uitgevoerd."@nl ;
|
||||
skos:inScheme <http://lblod.data.gift/concept-schemes/f1103789-c5c9-406e-8079-be6c833d0d69> .
|
||||
61
config/report-profiles/codes-en-schemas.ttl
Normal file
61
config/report-profiles/codes-en-schemas.ttl
Normal file
@@ -0,0 +1,61 @@
|
||||
# Profiel "Codes en schemas": skos:Concept en skos:ConceptScheme.
|
||||
# De codelijsten van de andere profielen zijn skos:Concept-instanties die bij
|
||||
# een schema horen via skos:inScheme. Met dit profiel kan de LLM een schema
|
||||
# opzoeken en de concepten eruit tonen (bijvoorbeeld om een filterwaarde te
|
||||
# kiezen). De andere profielen verwijzen naar ent:Concept via sh:node; dit
|
||||
# profiel maakt van die entiteiten zelfstandig bevraagbare rapportonderwerpen.
|
||||
#
|
||||
# Rapporten hier zijn leeslijsten: een lijst van de concepten van één schema,
|
||||
# of van schemas zelf. Ze landen in de publieke grafiek.
|
||||
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix dct: <http://purl.org/dc/terms/> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix ent: <http://data.lblod.info/id/report-entities/> .
|
||||
|
||||
<http://data.lblod.info/id/report-profiles/skos-concepten>
|
||||
a owl:Ontology ;
|
||||
dct:title "Codes en schemas" ;
|
||||
sh:prefixes [
|
||||
sh:declare [ sh:prefix "skos" ; sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "dct" ; sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "rdfs" ; sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "xsd" ; sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ] ;
|
||||
] .
|
||||
|
||||
ent:Concept
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "concept" ;
|
||||
sh:targetClass skos:Concept ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:notation ; sh:name "notatie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:definition ; sh:name "definitie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path sh:order ; sh:name "volgorde" ;
|
||||
sh:datatype xsd:decimal ] ;
|
||||
sh:property [ sh:path skos:inScheme ; sh:name "in schema" ;
|
||||
sh:description "Filter hiermee op één codeschema." ;
|
||||
sh:node ent:ConceptSchema ] ;
|
||||
sh:property [ sh:path skos:topConceptOf ; sh:name "top van schema" ;
|
||||
sh:node ent:ConceptSchema ] ;
|
||||
sh:property [ sh:path skos:exactMatch ; sh:name "exacte match" ;
|
||||
sh:node ent:Concept ] .
|
||||
|
||||
ent:ConceptSchema
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "conceptschema" ;
|
||||
sh:targetClass skos:ConceptScheme ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path rdfs:label ; sh:name "label" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path dct:title ; sh:name "titel" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:notation ; sh:name "notatie" ;
|
||||
sh:datatype xsd:string ] .
|
||||
433
config/report-profiles/erediensten.ttl
Normal file
433
config/report-profiles/erediensten.ttl
Normal file
@@ -0,0 +1,433 @@
|
||||
# Profiel "Erediensten": eredienstbestuurseenheden (besturen van de
|
||||
# eredienst, centrale besturen), representatieve organen, eredienst-
|
||||
# mandatarissen, bedienaren (ministers) met hun posities, voorwaarden
|
||||
# en financiering, betrokken lokale besturen.
|
||||
#
|
||||
# Bron: config/resources/domain.json is de autoriteit (worship-
|
||||
# administrative-units, worship-services, central-worship-services,
|
||||
# representative-bodies, worship-mandatories, ministers,
|
||||
# minister-positions, minister-conditions en de bijhorende codes),
|
||||
# aangevuld met de contact- en mandaatvelden van de oudertypes.
|
||||
#
|
||||
# Datatypes volgen de resource-config (number → xsd:decimal,
|
||||
# datetime → xsd:dateTime, boolean → xsd:boolean). De triplestore stond
|
||||
# niet aan tijdens het opstellen; waar de data afwijkt wint later de data.
|
||||
#
|
||||
# Niet opgenomen (geen rapportvelden): harvest-velden en vendor-relaties.
|
||||
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@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 org: <http://www.w3.org/ns/org#> .
|
||||
@prefix locn: <http://www.w3.org/ns/locn#> .
|
||||
@prefix adres: <https://data.vlaanderen.be/ns/adres#> .
|
||||
@prefix schema: <http://schema.org/> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix persoon: <http://data.vlaanderen.be/ns/persoon#> .
|
||||
@prefix person: <http://www.w3.org/ns/person#> .
|
||||
@prefix mandaat: <http://data.vlaanderen.be/ns/mandaat#> .
|
||||
@prefix besluit: <http://data.vlaanderen.be/ns/besluit#> .
|
||||
@prefix generiek: <https://data.vlaanderen.be/ns/generiek#> .
|
||||
@prefix lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/> .
|
||||
@prefix ch: <http://data.lblod.info/vocabularies/contacthub/> .
|
||||
@prefix ere: <http://data.lblod.info/vocabularies/erediensten/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix regorg: <http://www.w3.org/ns/regorg#> .
|
||||
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
|
||||
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
|
||||
@prefix prov: <http://www.w3.org/ns/prov#> .
|
||||
@prefix ent: <http://data.lblod.info/id/report-entities/> .
|
||||
|
||||
<http://data.lblod.info/id/report-profiles/erediensten>
|
||||
a owl:Ontology ;
|
||||
dct:title "Erediensten" ;
|
||||
sh:prefixes [
|
||||
sh:declare [ sh:prefix "ere" ; sh:namespace "http://data.lblod.info/vocabularies/erediensten/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "mandaat" ; sh:namespace "http://data.vlaanderen.be/ns/mandaat#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "besluit" ; sh:namespace "http://data.vlaanderen.be/ns/besluit#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "org" ; sh:namespace "http://www.w3.org/ns/org#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "persoon" ; sh:namespace "http://data.vlaanderen.be/ns/persoon#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "person" ; sh:namespace "http://www.w3.org/ns/person#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "foaf" ; sh:namespace "http://xmlns.com/foaf/0.1/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "skos" ; sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "schema" ; sh:namespace "http://schema.org/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ch" ; sh:namespace "http://data.lblod.info/vocabularies/contacthub/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "code" ; sh:namespace "http://lblod.data.gift/vocabularies/organisatie/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ext" ; sh:namespace "http://mu.semte.ch/vocabularies/ext/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "regorg" ; sh:namespace "http://www.w3.org/ns/regorg#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "geo" ; sh:namespace "http://www.opengis.net/ont/geosparql#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "generiek" ; sh:namespace "https://data.vlaanderen.be/ns/generiek#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "lblodlg" ; sh:namespace "http://data.lblod.info/vocabularies/leidinggevenden/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "dct" ; sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "rdfs" ; sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "xsd" ; sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ] ;
|
||||
] .
|
||||
|
||||
ent:EredienstBestuurseenheid
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "eredienstbestuurseenheid" ;
|
||||
sh:targetClass ere:EredienstBestuurseenheid ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path regorg:legalName ; sh:name "juridische naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuur" ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] ;
|
||||
sh:property [ sh:path regorg:orgStatus ; sh:name "organisatiestatus" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path ere:typeEredienst ; sh:name "type eredienst" ;
|
||||
sh:description "Bv. rooms-katholiek, anglicaans, ..." ;
|
||||
sh:node ent:TypeEredienst ] ;
|
||||
sh:property [ sh:path besluit:werkingsgebied ; sh:name "werkingsgebied" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path geo:sfWithin ; sh:name "ligt in" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath besluit:bestuurt ] ; sh:name "bestuursorganen" ;
|
||||
sh:description "De bestuursorganen van deze eredienst" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path ere:wordtBediendDoor ; sh:name "wordt bediend door" ;
|
||||
sh:description "De posities waarop bedienaren deze eredienst bedienen" ;
|
||||
sh:node ent:PositieBedienaar ] ;
|
||||
sh:property [ sh:path ere:betrokkenBestuur ; sh:name "betrokken lokale besturen" ;
|
||||
sh:description "De lokale besturen waarin deze eredienst betrokken is" ;
|
||||
sh:node ent:BetrokkenLokaleBesturen ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:organization ] ; sh:name "is betrokken bij" ;
|
||||
sh:description "De betrokkenheden waar deze eredienst het eredienstbestuur van is" ;
|
||||
sh:node ent:BetrokkenLokaleBesturen ] .
|
||||
|
||||
ent:BestuurVanDeEredienst
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuur van de eredienst" ;
|
||||
sh:targetClass ere:BestuurVanDeEredienst ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path regorg:legalName ; sh:name "juridische naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuur" ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] ;
|
||||
sh:property [ sh:path regorg:orgStatus ; sh:name "organisatiestatus" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path ere:typeEredienst ; sh:name "type eredienst" ;
|
||||
sh:node ent:TypeEredienst ] ;
|
||||
sh:property [ sh:path ere:denominatie ; sh:name "denominatie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ere:grensoverschrijdend ; sh:name "grensoverschrijdend" ;
|
||||
sh:description "Of het bestuur over de landsgrens werkt" ;
|
||||
sh:datatype xsd:boolean ] ;
|
||||
sh:property [ sh:path besluit:werkingsgebied ; sh:name "werkingsgebied" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath besluit:bestuurt ] ; sh:name "bestuursorganen" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path ere:wordtBediendDoor ; sh:name "wordt bediend door" ;
|
||||
sh:node ent:PositieBedienaar ] ;
|
||||
sh:property [ sh:path ere:betrokkenBestuur ; sh:name "betrokken lokale besturen" ;
|
||||
sh:node ent:BetrokkenLokaleBesturen ] .
|
||||
|
||||
ent:CentraalBestuurVanDeEredienst
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "centraal bestuur van de eredienst" ;
|
||||
sh:targetClass ere:CentraalBestuurVanDeEredienst ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path regorg:legalName ; sh:name "juridische naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuur" ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] ;
|
||||
sh:property [ sh:path regorg:orgStatus ; sh:name "organisatiestatus" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path ere:typeEredienst ; sh:name "type eredienst" ;
|
||||
sh:node ent:TypeEredienst ] ;
|
||||
sh:property [ sh:path besluit:werkingsgebied ; sh:name "werkingsgebied" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath besluit:bestuurt ] ; sh:name "bestuursorganen" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path ere:wordtBediendDoor ; sh:name "wordt bediend door" ;
|
||||
sh:node ent:PositieBedienaar ] .
|
||||
|
||||
ent:RepresentatiefOrgaan
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "representatief orgaan" ;
|
||||
sh:targetClass ere:RepresentatiefOrgaan ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "classificatie" ;
|
||||
sh:node ent:RepresentatiefOrgaanClassificatie ] ;
|
||||
sh:property [ sh:path ere:typeEredienst ; sh:name "type eredienst" ;
|
||||
sh:node ent:TypeEredienst ] ;
|
||||
sh:property [ sh:path [ sh:inversePath ere:behoort ] ; sh:name "bedienaren" ;
|
||||
sh:description "De posities van bedienaren die bij dit orgaan horen" ;
|
||||
sh:node ent:PositieBedienaar ] .
|
||||
|
||||
ent:RepresentatiefOrgaanClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "representatief orgaan classificatie" ;
|
||||
sh:targetClass ext:RepresentatiefOrgaanClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:TypeEredienst
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "type eredienst" ;
|
||||
sh:targetClass code:TypeEredienst ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:BestuurseenheidClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "soort bestuur" ;
|
||||
sh:targetClass code:BestuurseenheidClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:OrganisatieStatus
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "organisatiestatus" ;
|
||||
sh:targetClass code:OrganisatieStatusCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Werkingsgebied
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "werkingsgebied" ;
|
||||
sh:targetClass prov:Location ;
|
||||
sh:property [ sh:path rdfs:label ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ext:werkingsgebiedNiveau ; sh:name "niveau" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Bestuursorgaan
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuursorgaan" ;
|
||||
sh:targetClass besluit:Bestuursorgaan ;
|
||||
sh:property [ sh:path mandaat:bindingStart ; sh:name "binding start" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:bindingEinde ; sh:name "binding einde" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuursorgaan" ;
|
||||
sh:node ent:BestuursorgaanClassificatie ] ;
|
||||
sh:property [ sh:path besluit:bestuurt ; sh:name "bestuurt" ;
|
||||
sh:node ent:EredienstBestuurseenheid ] ;
|
||||
sh:property [ sh:path generiek:isTijdspecialisatieVan ; sh:name "is tijdspecialisatie van" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path [ sh:inversePath generiek:isTijdspecialisatieVan ] ; sh:name "heeft tijdsspecialisaties" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path org:hasPost ; sh:name "bevat mandaat" ;
|
||||
sh:node ent:Mandaat ] .
|
||||
|
||||
ent:BestuursorgaanClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "soort bestuursorgaan" ;
|
||||
sh:targetClass code:BestuursorgaanClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Mandaat
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "mandaat" ;
|
||||
sh:targetClass mandaat:Mandaat ;
|
||||
sh:property [ sh:path mandaat:aantalHouders ; sh:name "aantal houders" ;
|
||||
sh:datatype xsd:decimal ] ;
|
||||
sh:property [ sh:path org:role ; sh:name "bestuursfunctie" ;
|
||||
sh:node ent:BestuursfunctieCode ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:hasPost ] ; sh:name "zit in bestuursorgaan" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:holds ] ; sh:name "bekleders" ;
|
||||
sh:node ent:EredienstMandataris ] .
|
||||
|
||||
ent:BestuursfunctieCode
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuursfunctie" ;
|
||||
sh:targetClass code:BestuursfunctieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:EredienstMandataris
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "eredienstmandataris" ;
|
||||
sh:targetClass ere:EredienstMandataris ;
|
||||
sh:property [ sh:path mandaat:start ; sh:name "start" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:einde ; sh:name "einde" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path ere:geplandeEinddatumAanstelling ; sh:name "geplande einddatum aanstelling" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path ere:redenVanStopzetting ; sh:name "reden van stopzetting" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path mandaat:status ; sh:name "status" ;
|
||||
sh:node ent:MandatarisStatus ] ;
|
||||
sh:property [ sh:path ere:typeHelft ; sh:name "type helft" ;
|
||||
sh:description "Bv. eerste helft, tweede helft van de bestuursperiode" ;
|
||||
sh:node ent:HelftVerkiezing ] ;
|
||||
sh:property [ sh:path mandaat:isBestuurlijkeAliasVan ; sh:name "persoon" ;
|
||||
sh:node ent:Persoon ] ;
|
||||
sh:property [ sh:path org:holds ; sh:name "bekleedt mandaat" ;
|
||||
sh:node ent:Mandaat ] ;
|
||||
sh:property [ sh:path schema:contactPoint ; sh:name "contact" ;
|
||||
sh:node ent:ContactPunt ] .
|
||||
|
||||
ent:MandatarisStatus
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "status" ;
|
||||
sh:targetClass code:MandatarisStatusCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:HelftVerkiezing
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "helft verkiezing" ;
|
||||
sh:targetClass code:HelftVerkiezing ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Persoon
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "persoon" ;
|
||||
sh:targetClass person:Person ;
|
||||
sh:property [ sh:path foaf:givenName ; sh:name "voornaam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path foaf:familyName ; sh:name "achternaam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path persoon:gebruikteVoornaam ; sh:name "gebruikte voornaam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:PositieBedienaar
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "positie" ;
|
||||
sh:targetClass ere:PositieBedienaar ;
|
||||
sh:property [ sh:path ere:functie ; sh:name "functie" ;
|
||||
sh:description "Het beroep van de bedienaar, bv. pastoor, imam" ;
|
||||
sh:node ent:EredienstBeroep ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:holds ] ; sh:name "bedienaren" ;
|
||||
sh:description "De bedienaren die deze positie bekleden" ;
|
||||
sh:node ent:Bedienaar ] ;
|
||||
sh:property [ sh:path [ sh:inversePath ere:wordtBediendDoor ] ; sh:name "eredienstbestuur" ;
|
||||
sh:description "Het eredienstbestuur dat door deze positie bediend wordt" ;
|
||||
sh:node ent:EredienstBestuurseenheid ] ;
|
||||
sh:property [ sh:path ere:behoort ; sh:name "representatief orgaan" ;
|
||||
sh:node ent:RepresentatiefOrgaan ] .
|
||||
|
||||
ent:EredienstBeroep
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "beroep" ;
|
||||
sh:targetClass code:EredienstBeroepen ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ere:vanToepassingBijStatus ; sh:name "van toepassing bij status" ;
|
||||
sh:description "De organisatiestatussen waarbij dit beroep voorkomt" ;
|
||||
sh:node ent:OrganisatieStatus ] .
|
||||
|
||||
ent:Bedienaar
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bedienaar" ;
|
||||
sh:targetClass ere:RolBedienaar ;
|
||||
sh:property [ sh:path ch:startdatum ; sh:name "startdatum" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path ch:eindedatum ; sh:name "eindedatum" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path org:holds ; sh:name "bekleedt positie" ;
|
||||
sh:description "De functiepositie die de bedienaar bekleedt" ;
|
||||
sh:node ent:PositieBedienaar ] ;
|
||||
sh:property [ sh:path ere:financiering ; sh:name "financiering" ;
|
||||
sh:node ent:BedienaarFinancieringCode ] ;
|
||||
sh:property [ sh:path ere:voldoetAan ; sh:name "voldoet aan" ;
|
||||
sh:description "De voorwaarden waaraan de bedienaar voldoet" ;
|
||||
sh:node ent:VoorwaardenBedienaar ] .
|
||||
|
||||
ent:BedienaarFinancieringCode
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "financiering" ;
|
||||
sh:targetClass code:BedienaarFinancieringCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:VoorwaardenBedienaar
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "voorwaarde" ;
|
||||
sh:targetClass ere:VoorwaardenBedienaar ;
|
||||
sh:property [ sh:path ere:voldaan ; sh:name "voldaan" ;
|
||||
sh:datatype xsd:boolean ] ;
|
||||
sh:property [ sh:path ere:criterium ; sh:name "criterium" ;
|
||||
sh:node ent:VoorwaardenBedienaarCriterium ] ;
|
||||
sh:property [ sh:path ere:criteriumbewijsstuktype ; sh:name "bewijsstuktype" ;
|
||||
sh:node ent:BedienaarCriteriumBewijsstuk ] .
|
||||
|
||||
ent:VoorwaardenBedienaarCriterium
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "criterium" ;
|
||||
sh:targetClass code:VoorwaardenBedienaarCriterium ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:BedienaarCriteriumBewijsstuk
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bewijsstuktype" ;
|
||||
sh:targetClass code:BedienaarCriteriumBewijsstuk ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:BetrokkenLokaleBesturen
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "betrokken lokale besturen" ;
|
||||
sh:targetClass ere:BetrokkenLokaleBesturen ;
|
||||
sh:property [ sh:path ere:financieringspercentage ; sh:name "financieringspercentage" ;
|
||||
sh:datatype xsd:decimal ] ;
|
||||
sh:property [ sh:path ere:typebetrokkenheid ; sh:name "type betrokkenheid" ;
|
||||
sh:node ent:TypeBetrokkenheid ] ;
|
||||
sh:property [ sh:path org:organization ; sh:name "eredienstbestuur" ;
|
||||
sh:description "Het eredienstbestuur dat betrokken is" ;
|
||||
sh:node ent:EredienstBestuurseenheid ] ;
|
||||
sh:property [ sh:path [ sh:inversePath ere:betrokkenBestuur ] ; sh:name "bestuurseenheid" ;
|
||||
sh:description "Het lokale bestuur waar de eredienst bij betrokken is" ;
|
||||
sh:node ent:Bestuurseenheid ] .
|
||||
|
||||
ent:TypeBetrokkenheid
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "type betrokkenheid" ;
|
||||
sh:targetClass code:TypeBetrokkenheid ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Bestuurseenheid
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuurseenheid" ;
|
||||
sh:targetClass besluit:Bestuurseenheid ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuur" ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] .
|
||||
|
||||
ent:ContactPunt
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "contactpunt" ;
|
||||
sh:targetClass schema:ContactPoint ;
|
||||
sh:property [ sh:path schema:email ; sh:name "email" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:telephone ; sh:name "telefoon" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:contactType ; sh:name "contactsoort" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:address ; sh:name "adres" ;
|
||||
sh:node ent:Adres ] .
|
||||
|
||||
ent:Adres
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "adres" ;
|
||||
sh:targetClass locn:Address ;
|
||||
sh:property [ sh:path locn:thoroughfare ; sh:name "straat" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:Adresvoorstelling.huisnummer ; sh:name "huisnummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:Adresvoorstelling.busnummer ; sh:name "busnummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:postCode ; sh:name "postcode" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:gemeentenaam ; sh:name "gemeente" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:land ; sh:name "land" ;
|
||||
sh:datatype xsd:string ] .
|
||||
318
config/report-profiles/mandaten.ttl
Normal file
318
config/report-profiles/mandaten.ttl
Normal file
@@ -0,0 +1,318 @@
|
||||
# Profiel "Mandaten": bestuursorganen (in tijd), mandaten,
|
||||
# bestuursfuncties, mandatarissen, functionarissen (leidinggevenden),
|
||||
# personen en hun contacten.
|
||||
#
|
||||
# Bron: config/resources/domain.json is de autoriteit (governing-bodies,
|
||||
# mandates, board-positions, mandatories, functionaries, people,
|
||||
# agents-in-position, posts en de status- en classificatiecodes).
|
||||
#
|
||||
# Datatypes volgen de resource-config (number → xsd:decimal,
|
||||
# datetime → xsd:dateTime). De triplestore stond niet aan tijdens het
|
||||
# opstellen; waar de data afwijkt wint later de data.
|
||||
#
|
||||
# Keten: bestuurseenheid <- bestuursorgaan ("bestuurt", omgekeerd) ->
|
||||
# bestuursorgaan in tijd (generiek:isTijdspecialisatieVan,
|
||||
# mandaat:bindingStart/-Einde) -> mandaat (org:hasPost) -> mandataris
|
||||
# (org:holds) -> persoon (mandaat:isBestuurlijkeAliasVan).
|
||||
#
|
||||
# Bestuursorgaan en bestuursorgaanInTijd delen besluit:Bestuursorgaan als
|
||||
# sh:targetClass; rep:discriminator houdt ze in de seed uit elkaar (een
|
||||
# orgaan in tijd heeft generiek:isTijdspecialisatieVan, een vast orgaan
|
||||
# heeft die niet). Een spec kiest er één met rep:entity.
|
||||
#
|
||||
# Niet opgenomen (geen rapportvelden): harvest-velden en vendor-relaties.
|
||||
# Een generiek org:Post (posts) deelt org:role met het mandaat; hier wint
|
||||
# de lezing van het mandaat (bestuursfunctie). De eredienst-varianten
|
||||
# (EredienstMandataris) staan in erediensten.ttl.
|
||||
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@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 org: <http://www.w3.org/ns/org#> .
|
||||
@prefix locn: <http://www.w3.org/ns/locn#> .
|
||||
@prefix adres: <https://data.vlaanderen.be/ns/adres#> .
|
||||
@prefix schema: <http://schema.org/> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix persoon: <http://data.vlaanderen.be/ns/persoon#> .
|
||||
@prefix person: <http://www.w3.org/ns/person#> .
|
||||
@prefix mandaat: <http://data.vlaanderen.be/ns/mandaat#> .
|
||||
@prefix besluit: <http://data.vlaanderen.be/ns/besluit#> .
|
||||
@prefix generiek: <https://data.vlaanderen.be/ns/generiek#> .
|
||||
@prefix lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/> .
|
||||
@prefix ch: <http://data.lblod.info/vocabularies/contacthub/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
|
||||
@prefix rep: <http://mu.semte.ch/vocabularies/reporting/> .
|
||||
@prefix ent: <http://data.lblod.info/id/report-entities/> .
|
||||
|
||||
<http://data.lblod.info/id/report-profiles/mandaten>
|
||||
a owl:Ontology ;
|
||||
dct:title "Mandaten" ;
|
||||
sh:prefixes [
|
||||
sh:declare [ sh:prefix "mandaat" ; sh:namespace "http://data.vlaanderen.be/ns/mandaat#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "besluit" ; sh:namespace "http://data.vlaanderen.be/ns/besluit#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "org" ; sh:namespace "http://www.w3.org/ns/org#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "generiek" ; sh:namespace "https://data.vlaanderen.be/ns/generiek#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "persoon" ; sh:namespace "https://data.vlaanderen.be/ns/persoon#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "person" ; sh:namespace "http://www.w3.org/ns/person#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "foaf" ; sh:namespace "http://xmlns.com/foaf/0.1/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "skos" ; sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "schema" ; sh:namespace "http://schema.org/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "lblodlg" ; sh:namespace "http://data.lblod.info/vocabularies/leidinggevenden/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ch" ; sh:namespace "http://data.lblod.info/vocabularies/contacthub/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "code" ; sh:namespace "http://lblod.data.gift/vocabularies/organisatie/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ext" ; sh:namespace "http://mu.semte.ch/vocabularies/ext/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "locn" ; sh:namespace "http://www.w3.org/ns/locn#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "adres" ; sh:namespace "https://data.vlaanderen.be/ns/adres#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "dct" ; sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "rdfs" ; sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "xsd" ; sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ] ;
|
||||
] .
|
||||
|
||||
ent:Bestuursorgaan
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuursorgaan" ;
|
||||
sh:targetClass besluit:Bestuursorgaan ;
|
||||
rep:discriminator [ sh:path generiek:isTijdspecialisatieVan ; sh:maxCount 0 ] ;
|
||||
sh:property [ sh:path besluit:bestuurt ; sh:name "bestuurt" ;
|
||||
sh:description "De bestuurseenheid die door dit orgaan bestuurd wordt" ;
|
||||
sh:node ent:Bestuurseenheid ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuursorgaan" ;
|
||||
sh:description "Bv. gemeenteraad, college van burgemeester en schepenen" ;
|
||||
sh:node ent:BestuursorgaanClassificatie ] ;
|
||||
sh:property [ sh:path [ sh:inversePath generiek:isTijdspecialisatieVan ] ; sh:name "heeft tijdsspecialisaties" ;
|
||||
sh:description "De organen in tijd die bij dit vaste orgaan horen" ;
|
||||
sh:node ent:BestuursorgaanInTijd ] .
|
||||
|
||||
ent:BestuursorgaanInTijd
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuursorgaanInTijd" ;
|
||||
sh:targetClass besluit:Bestuursorgaan ;
|
||||
rep:discriminator [ sh:path generiek:isTijdspecialisatieVan ; sh:minCount 1 ] ;
|
||||
sh:property [ sh:path mandaat:bindingStart ; sh:name "binding start" ;
|
||||
sh:description "Start van de bestuursperiode; orgaan in tijd" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:bindingEinde ; sh:name "binding einde" ;
|
||||
sh:description "Einde van de bestuursperiode; orgaan in tijd" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ; sh:name "is tijdspecialisatie van" ;
|
||||
sh:description "Het vaste orgaan waarvan dit orgaan in tijd een periode is" ;
|
||||
sh:node ent:Bestuursorgaan ] ;
|
||||
sh:property [ sh:path org:hasPost ; sh:name "bevat mandaat" ;
|
||||
sh:description "De mandaten die dit orgaan bevat" ;
|
||||
sh:node ent:Mandaat ] ;
|
||||
sh:property [ sh:path lblodlg:heeftBestuursfunctie ; sh:name "bevat bestuursfunctie" ;
|
||||
sh:description "De leidinggevende functies van dit orgaan, bv. secretaris" ;
|
||||
sh:node ent:LeidinggevendeBestuursfunctie ] .
|
||||
|
||||
ent:BestuursorgaanClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "soort bestuursorgaan" ;
|
||||
sh:targetClass code:BestuursorgaanClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ext:appliesWithin ; sh:name "geldt binnen" ;
|
||||
sh:description "De soorten bestuur waarbinnen deze orgaanclassificatie voorkomt" ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] .
|
||||
|
||||
ent:BestuurseenheidClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "soort bestuur" ;
|
||||
sh:targetClass code:BestuurseenheidClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Bestuurseenheid
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuurseenheid" ;
|
||||
sh:targetClass besluit:Bestuurseenheid ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuur" ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] ;
|
||||
sh:property [ sh:path org:hasPrimarySite ; sh:name "hoofdvestiging" ;
|
||||
sh:description "De hoofdvestiging van de bestuurseenheid" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path [ sh:inversePath besluit:bestuurt ] ; sh:name "bestuursorganen" ;
|
||||
sh:description "De bestuursorganen van deze bestuurseenheid" ;
|
||||
sh:node ent:Bestuursorgaan ].
|
||||
|
||||
ent:Mandaat
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "mandaat" ;
|
||||
sh:targetClass mandaat:Mandaat ;
|
||||
sh:property [ sh:path mandaat:aantalHouders ; sh:name "aantal houders" ;
|
||||
sh:description "Aantal mandatarissen dat het mandaat kan hebben" ;
|
||||
sh:datatype xsd:decimal ] ;
|
||||
sh:property [ sh:path org:role ; sh:name "bestuursfunctie" ;
|
||||
sh:description "De functie waarvoor het mandaat geldt, bv. burgemeester" ;
|
||||
sh:node ent:BestuursfunctieCode ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:hasPost ] ; sh:name "zit in bestuursorgaan" ;
|
||||
sh:description "Het bestuursorgaan (in tijd) dat dit mandaat bevat" ;
|
||||
sh:node ent:BestuursorgaanInTijd ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:holds ] ; sh:name "bekleders" ;
|
||||
sh:description "De mandatarissen die dit mandaat bekleden" ;
|
||||
sh:node ent:Mandataris ] .
|
||||
|
||||
ent:BestuursfunctieCode
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuursfunctie" ;
|
||||
sh:targetClass code:BestuursfunctieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ext:appliesTo ; sh:name "geldt voor" ;
|
||||
sh:description "De orgaanclassificaties waarop deze functie van toepassing is" ;
|
||||
sh:node ent:BestuursorgaanClassificatie ] .
|
||||
|
||||
ent:Mandataris
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "mandataris" ;
|
||||
sh:targetClass mandaat:Mandataris ;
|
||||
sh:property [ sh:path mandaat:start ; sh:name "start" ;
|
||||
sh:description "Start van de aanstelling" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:einde ; sh:name "einde" ;
|
||||
sh:description "Einde van de aanstelling" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:status ; sh:name "status" ;
|
||||
sh:description "Status van de mandataris, bv. effectief, verhindering" ;
|
||||
sh:node ent:MandatarisStatus ] ;
|
||||
sh:property [ sh:path mandaat:isBestuurlijkeAliasVan ; sh:name "persoon" ;
|
||||
sh:description "De persoon achter de mandataris" ;
|
||||
sh:node ent:Persoon ] ;
|
||||
sh:property [ sh:path org:holds ; sh:name "bekleedt mandaat" ;
|
||||
sh:description "Het mandaat dat de mandataris bekleedt" ;
|
||||
sh:node ent:Mandaat ] ;
|
||||
sh:property [ sh:path schema:contactPoint ; sh:name "contact" ;
|
||||
sh:node ent:ContactPunt ] .
|
||||
|
||||
ent:MandatarisStatus
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "status" ;
|
||||
sh:targetClass code:MandatarisStatusCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:LeidinggevendeBestuursfunctie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuursfunctie" ;
|
||||
sh:targetClass lblodlg:Bestuursfunctie ;
|
||||
sh:property [ sh:path org:role ; sh:name "functie" ;
|
||||
sh:description "De leidinggevende functie, bv. secretaris, financieel directeur" ;
|
||||
sh:node ent:BestuursfunctieCode ] ;
|
||||
sh:property [ sh:path schema:contactPoint ; sh:name "contact" ;
|
||||
sh:node ent:ContactPunt ] ;
|
||||
sh:property [ sh:path [ sh:inversePath lblodlg:heeftBestuursfunctie ] ; sh:name "in bestuursorgaan" ;
|
||||
sh:description "Het bestuursorgaan waar deze functie bij hoort" ;
|
||||
sh:node ent:BestuursorgaanInTijd ] .
|
||||
|
||||
ent:Functionaris
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "functionaris" ;
|
||||
sh:targetClass lblodlg:Functionaris ;
|
||||
sh:property [ sh:path mandaat:start ; sh:name "start" ;
|
||||
sh:description "Start van de aanstelling" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:einde ; sh:name "einde" ;
|
||||
sh:description "Einde van de aanstelling" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path mandaat:status ; sh:name "status" ;
|
||||
sh:node ent:FunctionarisStatus ] ;
|
||||
sh:property [ sh:path mandaat:isBestuurlijkeAliasVan ; sh:name "persoon" ;
|
||||
sh:description "De persoon achter de functionaris" ;
|
||||
sh:node ent:Persoon ] ;
|
||||
sh:property [ sh:path org:holds ; sh:name "bekleedt bestuursfunctie" ;
|
||||
sh:description "De leidinggevende functie die de functionaris bekleedt" ;
|
||||
sh:node ent:LeidinggevendeBestuursfunctie ] .
|
||||
|
||||
ent:FunctionarisStatus
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "status" ;
|
||||
sh:targetClass lblodlg:FunctionarisStatusCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Persoon
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "persoon" ;
|
||||
sh:targetClass person:Person ;
|
||||
sh:property [ sh:path foaf:givenName ; sh:name "voornaam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path foaf:familyName ; sh:name "achternaam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path persoon:gebruikteVoornaam ; sh:name "gebruikte voornaam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path [ sh:inversePath mandaat:isBestuurlijkeAliasVan ] ; sh:name "mandatarissen" ;
|
||||
sh:description "De mandatarissen van deze persoon" ;
|
||||
sh:node ent:Mandataris ] ;
|
||||
sh:property [ sh:path [ sh:inversePath mandaat:isBestuurlijkeAliasVan ] ; sh:name "functionarissen" ;
|
||||
sh:description "De leidinggevende functies van deze persoon" ;
|
||||
sh:node ent:Functionaris ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:heldBy ] ; sh:name "posities" ;
|
||||
sh:description "De posities (agent-in-positie) van deze persoon" ;
|
||||
sh:node ent:AgentInPositie ] .
|
||||
|
||||
ent:AgentInPositie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "agent in positie" ;
|
||||
sh:targetClass ch:AgentInPositie ;
|
||||
sh:property [ sh:path ch:startdatum ; sh:name "startdatum" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path ch:eindedatum ; sh:name "eindedatum" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path org:heldBy ; sh:name "persoon" ;
|
||||
sh:node ent:Persoon ] ;
|
||||
sh:property [ sh:path schema:contactPoint ; sh:name "contact" ;
|
||||
sh:node ent:ContactPunt ] .
|
||||
|
||||
ent:ContactPunt
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "contactpunt" ;
|
||||
sh:targetClass schema:ContactPoint ;
|
||||
sh:property [ sh:path schema:email ; sh:name "email" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:telephone ; sh:name "telefoon" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:faxNumber ; sh:name "fax" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path foaf:page ; sh:name "website" ;
|
||||
sh:description "URI van de website" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:contactType ; sh:name "contactsoort" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:address ; sh:name "adres" ;
|
||||
sh:node ent:Adres ] .
|
||||
|
||||
ent:Vestiging
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "hoofdvestiging" ;
|
||||
sh:targetClass org:Site ;
|
||||
sh:property [ sh:path dct:description ; sh:name "omschrijving" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:siteAddress ; sh:name "contact" ;
|
||||
sh:description "Contactgegevens (ContactPoint) van de vestiging" ;
|
||||
sh:node ent:ContactPunt ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:hasPrimarySite ] ; sh:name "hoofdvestiging van" ;
|
||||
sh:description "De bestuurseenheid waarvan dit de hoofdvestiging is" ;
|
||||
sh:node ent:Bestuurseenheid ] .
|
||||
|
||||
ent:Adres
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "adres" ;
|
||||
sh:targetClass locn:Address ;
|
||||
sh:property [ sh:path locn:thoroughfare ; sh:name "straat" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:Adresvoorstelling.huisnummer ; sh:name "huisnummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:Adresvoorstelling.busnummer ; sh:name "busnummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:postCode ; sh:name "postcode" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:gemeentenaam ; sh:name "gemeente" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:land ; sh:name "land" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:fullAddress ; sh:name "volledig adres" ;
|
||||
sh:datatype xsd:string ] .
|
||||
543
config/report-profiles/organisaties.ttl
Normal file
543
config/report-profiles/organisaties.ttl
Normal file
@@ -0,0 +1,543 @@
|
||||
# Profiel "Organisaties": organisaties (incl. bestuurseenheden en
|
||||
# geregistreerde organisaties), vestigingen, adressen, contacten,
|
||||
# identificatoren, werkingsgebieden, KBO-gegevens, lidmaatschappen en
|
||||
# veranderingsgebeurtenissen.
|
||||
#
|
||||
# Bron: config/resources/domain.json is de autoriteit (organizations,
|
||||
# administrative-units, registered-organizations, kbo-organizations,
|
||||
# sites, addresses, contact-points, identifiers, locations, memberships,
|
||||
# concepts, sectors, nace-bel-codes en de classificatie- en statuscodes),
|
||||
# aangevuld met config/resources/change-events.json (change-events,
|
||||
# change-event-results, change-event-types, decisions,
|
||||
# decision-activities).
|
||||
#
|
||||
# Datatypes volgen de resource-config (number → xsd:decimal,
|
||||
# datetime → xsd:dateTime, date → xsd:date, boolean → xsd:boolean).
|
||||
# De triplestore stond niet aan tijdens het opstellen; waar de data afwijkt
|
||||
# wint later de data.
|
||||
#
|
||||
# Niet opgenomen (geen rapportvelden): sync- en harvest-velden
|
||||
# (prov:wasGeneratedBy, owl:sameAs, task:modifiedOn, task:modifiedBy,
|
||||
# rdfs:seeAlso), vendor-relaties (muAccount:canActOnBehalfOf,
|
||||
# prov:wasAssociatedWith). De eredienst-tak van het organigram staat in
|
||||
# erediensten.ttl; de bestuursorgaan-/mandaatketen in mandaten.ttl.
|
||||
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@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 org: <http://www.w3.org/ns/org#> .
|
||||
@prefix regorg: <http://www.w3.org/ns/regorg#> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix ere: <http://data.lblod.info/vocabularies/erediensten/> .
|
||||
@prefix locn: <http://www.w3.org/ns/locn#> .
|
||||
@prefix adres: <https://data.vlaanderen.be/ns/adres#> .
|
||||
@prefix adms: <http://www.w3.org/ns/adms#> .
|
||||
@prefix prov: <http://www.w3.org/ns/prov#> .
|
||||
@prefix schema: <http://schema.org/> .
|
||||
@prefix organisatie: <https://data.vlaanderen.be/ns/organisatie#> .
|
||||
@prefix generiek: <https://data.vlaanderen.be/ns/generiek#> .
|
||||
@prefix lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/> .
|
||||
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
|
||||
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
|
||||
@prefix ch: <http://data.lblod.info/vocabularies/contacthub/> .
|
||||
@prefix nacebel: <http://data.gift/vocabularies/nace-bel/> .
|
||||
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
|
||||
@prefix m8g: <http://data.europa.eu/m8g/> .
|
||||
@prefix besluit: <http://data.vlaanderen.be/ns/besluit#> .
|
||||
@prefix eli: <http://data.europa.eu/eli/ontology#> .
|
||||
@prefix besluitvorming: <https://data.vlaanderen.be/ns/besluitvorming#> .
|
||||
@prefix dossier: <https://data.vlaanderen.be/ns/dossier#> .
|
||||
@prefix ent: <http://data.lblod.info/id/report-entities/> .
|
||||
|
||||
<http://data.lblod.info/id/report-profiles/organisaties>
|
||||
a owl:Ontology ;
|
||||
dct:title "Organisaties" ;
|
||||
sh:prefixes [
|
||||
sh:declare [ sh:prefix "org" ; sh:namespace "http://www.w3.org/ns/org#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "besluit" ; sh:namespace "http://data.vlaanderen.be/ns/besluit#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "regorg" ; sh:namespace "http://www.w3.org/ns/regorg#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "skos" ; sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "dct" ; sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "locn" ; sh:namespace "http://www.w3.org/ns/locn#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "adres" ; sh:namespace "https://data.vlaanderen.be/ns/adres#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "adms" ; sh:namespace "http://www.w3.org/ns/adms#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "prov" ; sh:namespace "http://www.w3.org/ns/prov#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "schema" ; sh:namespace "http://schema.org/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "organisatie" ; sh:namespace "https://data.vlaanderen.be/ns/organisatie#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "generiek" ; sh:namespace "https://data.vlaanderen.be/ns/generiek#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "lblodgeneriek" ; sh:namespace "https://data.lblod.info/vocabularies/generiek/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "code" ; sh:namespace "http://lblod.data.gift/vocabularies/organisatie/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ext" ; sh:namespace "http://mu.semte.ch/vocabularies/ext/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ch" ; sh:namespace "http://data.lblod.info/vocabularies/contacthub/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "ere" ; sh:namespace "http://data.lblod.info/vocabularies/erediensten/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "foaf" ; sh:namespace "http://xmlns.com/foaf/0.1/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "geo" ; sh:namespace "http://www.opengis.net/ont/geosparql#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "nacebel" ; sh:namespace "http://data.gift/vocabularies/nace-bel/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "m8g" ; sh:namespace "http://data.europa.eu/m8g/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "eli" ; sh:namespace "http://data.europa.eu/eli/ontology#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "besluitvorming" ; sh:namespace "https://data.vlaanderen.be/ns/besluitvorming#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "dossier" ; sh:namespace "https://data.vlaanderen.be/ns/dossier#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "rdfs" ; sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "xsd" ; sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ] ;
|
||||
] .
|
||||
|
||||
ent:Organisatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "organisatie" ;
|
||||
sh:targetClass org:Organization ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:description "Officiële naam van de organisatie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path regorg:legalName ; sh:name "juridische naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path lblodgeneriek:geplandeEindDatum ; sh:name "geplande einddatum" ;
|
||||
sh:description "Geplande einddatum van de organisatie (fusies)" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path org:purpose ; sh:name "doel" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort organisatie" ;
|
||||
sh:node ent:OrganisatieClassificatie ] ;
|
||||
sh:property [ sh:path organisatie:rechtsvorm ; sh:name "rechtsvorm" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:inhoudelijkThema ; sh:name "inhoudelijk thema" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:bijkomendeKwalificatie ; sh:name "bijkomende kwalificatie" ;
|
||||
sh:node ent:BijkomendeKwalificatie ] ;
|
||||
sh:property [ sh:path adms:identifier ; sh:name "identificator" ;
|
||||
sh:description "Identificatoren van de organisatie, bv. het KBO-nummer zit in de notatie" ;
|
||||
sh:node ent:Identificator ] ;
|
||||
sh:property [ sh:path regorg:orgStatus ; sh:name "organisatiestatus" ;
|
||||
sh:description "Bv. Actief, In oprichting" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path org:hasPrimarySite ; sh:name "hoofdvestiging" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path org:hasSite ; sh:name "vestiging" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:member ] ; sh:name "is lid via" ;
|
||||
sh:description "De lidmaatschappen waarin deze organisatie het lid is" ;
|
||||
sh:node ent:Lidmaatschap ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:organization ] ; sh:name "bevat lidmaatschappen" ;
|
||||
sh:description "De lidmaatschappen die bij deze organisatie horen" ;
|
||||
sh:node ent:Lidmaatschap ] ;
|
||||
sh:property [ sh:path dct:isPartOf ; sh:name "sector" ;
|
||||
sh:node ent:Sector ] ;
|
||||
sh:property [ sh:path regorg:orgActivity ; sh:name "activiteit" ;
|
||||
sh:description "NaceBel-activiteit van de organisatie" ;
|
||||
sh:node ent:NaceBelCode ] ;
|
||||
sh:property [ sh:path [ sh:inversePath owl:sameAs ] ; sh:name "kbo-organisatie" ;
|
||||
sh:description "De KBO-gegevens die met deze organisatie gelijkgesteld zijn" ;
|
||||
sh:node ent:KboOrganisatie ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:originalOrganization ] ; sh:name "veranderd door" ;
|
||||
sh:description "De veranderingsgebeurtenis waarvan deze organisatie het oorspronkelijke bestuur is" ;
|
||||
sh:node ent:Veranderingsgebeurtenis ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:resultingOrganization ] ; sh:name "resulteerde uit" ;
|
||||
sh:description "De veranderingsgebeurtenis waaruit deze organisatie is voortgekomen" ;
|
||||
sh:node ent:Veranderingsgebeurtenis ] ;
|
||||
sh:property [ sh:path [ sh:inversePath ext:resultingOrganization ] ; sh:name "veranderingsresultaat van" ;
|
||||
sh:description "De veranderingsresultaten die naar deze organisatie wijzen" ;
|
||||
sh:node ent:VeranderingsgebeurtenisResultaat ] .
|
||||
|
||||
ent:Bestuurseenheid
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bestuurseenheid" ;
|
||||
sh:targetClass besluit:Bestuurseenheid ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:description "Officiële naam van de bestuurseenheid" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path regorg:legalName ; sh:name "juridische naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path lblodgeneriek:geplandeEindDatum ; sh:name "geplande einddatum" ;
|
||||
sh:description "Geplande einddatum van de bestuurseenheid (fusies)" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path org:purpose ; sh:name "doel" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort bestuur" ;
|
||||
sh:description "Classificatie: gemeente, OCMW, provincie, ..." ;
|
||||
sh:node ent:BestuurseenheidClassificatie ] ;
|
||||
sh:property [ sh:path organisatie:rechtsvorm ; sh:name "rechtsvorm" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:inhoudelijkThema ; sh:name "inhoudelijk thema" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:bijkomendeKwalificatie ; sh:name "bijkomende kwalificatie" ;
|
||||
sh:node ent:BijkomendeKwalificatie ] ;
|
||||
sh:property [ sh:path adms:identifier ; sh:name "identificator" ;
|
||||
sh:description "Identificatoren van de bestuurseenheid, bv. het KBO-nummer zit in de notatie" ;
|
||||
sh:node ent:Identificator ] ;
|
||||
sh:property [ sh:path regorg:orgStatus ; sh:name "organisatiestatus" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path org:hasPrimarySite ; sh:name "hoofdvestiging" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path org:hasSite ; sh:name "vestiging" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path besluit:werkingsgebied ; sh:name "werkingsgebied" ;
|
||||
sh:description "Het territorium waar de bestuurseenheid over gaat" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path geo:sfWithin ; sh:name "ligt in" ;
|
||||
sh:description "Het gebied waar de bestuurseenheid in ligt" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path skos:exactMatch ; sh:name "exacte match" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:member ] ; sh:name "is lid via" ;
|
||||
sh:node ent:Lidmaatschap ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:organization ] ; sh:name "bevat lidmaatschappen" ;
|
||||
sh:node ent:Lidmaatschap ] ;
|
||||
sh:property [ sh:path dct:isPartOf ; sh:name "sector" ;
|
||||
sh:node ent:Sector ] ;
|
||||
sh:property [ sh:path regorg:orgActivity ; sh:name "activiteit" ;
|
||||
sh:node ent:NaceBelCode ] ;
|
||||
sh:property [ sh:path [ sh:inversePath owl:sameAs ] ; sh:name "kbo-organisatie" ;
|
||||
sh:node ent:KboOrganisatie ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:originalOrganization ] ; sh:name "veranderd door" ;
|
||||
sh:node ent:Veranderingsgebeurtenis ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:resultingOrganization ] ; sh:name "resulteerde uit" ;
|
||||
sh:node ent:Veranderingsgebeurtenis ] ;
|
||||
sh:property [ sh:path [ sh:inversePath ext:resultingOrganization ] ; sh:name "veranderingsresultaat van" ;
|
||||
sh:node ent:VeranderingsgebeurtenisResultaat ] .
|
||||
|
||||
ent:GeregistreerdeOrganisatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "geregistreerde organisatie" ;
|
||||
sh:targetClass regorg:RegisteredOrganization ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path regorg:legalName ; sh:name "juridische naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path lblodgeneriek:geplandeEindDatum ; sh:name "geplande einddatum" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path org:purpose ; sh:name "doel" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path org:classification ; sh:name "soort organisatie" ;
|
||||
sh:node ent:GeregistreerdeOrganisatieClassificatie ] ;
|
||||
sh:property [ sh:path organisatie:rechtsvorm ; sh:name "rechtsvorm" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:inhoudelijkThema ; sh:name "inhoudelijk thema" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:bijkomendeKwalificatie ; sh:name "bijkomende kwalificatie" ;
|
||||
sh:node ent:BijkomendeKwalificatie ] ;
|
||||
sh:property [ sh:path adms:identifier ; sh:name "identificator" ;
|
||||
sh:node ent:Identificator ] ;
|
||||
sh:property [ sh:path regorg:orgStatus ; sh:name "organisatiestatus" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path org:hasPrimarySite ; sh:name "hoofdvestiging" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path org:hasSite ; sh:name "vestiging" ;
|
||||
sh:node ent:Vestiging ] ;
|
||||
sh:property [ sh:path dct:spatial ; sh:name "werkingsgebied" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:member ] ; sh:name "is lid via" ;
|
||||
sh:node ent:Lidmaatschap ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:organization ] ; sh:name "bevat lidmaatschappen" ;
|
||||
sh:node ent:Lidmaatschap ] ;
|
||||
sh:property [ sh:path dct:isPartOf ; sh:name "sector" ;
|
||||
sh:node ent:Sector ] ;
|
||||
sh:property [ sh:path regorg:orgActivity ; sh:name "activiteit" ;
|
||||
sh:node ent:NaceBelCode ] ;
|
||||
sh:property [ sh:path [ sh:inversePath owl:sameAs ] ; sh:name "kbo-organisatie" ;
|
||||
sh:node ent:KboOrganisatie ] .
|
||||
|
||||
ent:KboOrganisatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "kbo-organisatie" ;
|
||||
sh:targetClass ext:KboOrganisatie ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ext:rechtsvorm ; sh:name "rechtsvorm" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ext:startDate ; sh:name "startdatum" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path dct:modified ; sh:name "gewijzigd" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path owl:sameAs ; sh:name "organisatie" ;
|
||||
sh:description "De organisatie in dit portaal die aan dit KBO-record gekoppeld is" ;
|
||||
sh:node ent:Organisatie ] .
|
||||
|
||||
ent:OrganisatieClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "organisatieclassificatie" ;
|
||||
sh:targetClass ext:OrganizationClassificationCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:BestuurseenheidClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "soort bestuur" ;
|
||||
sh:targetClass code:BestuurseenheidClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:GeregistreerdeOrganisatieClassificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "soort geregistreerde organisatie" ;
|
||||
sh:targetClass ext:GeregistreerdeOrganisatieClassificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:OrganisatieStatus
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "organisatiestatus" ;
|
||||
sh:targetClass code:OrganisatieStatusCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Vestiging
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "vestiging" ;
|
||||
sh:targetClass org:Site ;
|
||||
sh:property [ sh:path dct:description ; sh:name "omschrijving" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ere:vestigingstype ; sh:name "type vestiging" ;
|
||||
sh:node ent:TypeVestiging ] ;
|
||||
sh:property [ sh:path organisatie:bestaatUit ; sh:name "adres" ;
|
||||
sh:node ent:Adres ] ;
|
||||
sh:property [ sh:path org:siteAddress ; sh:name "contact" ;
|
||||
sh:node ent:ContactPunt ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:hasPrimarySite ] ; sh:name "hoofdvestiging van" ;
|
||||
sh:node ent:Organisatie ] ;
|
||||
sh:property [ sh:path [ sh:inversePath org:hasSite ] ; sh:name "vestiging van" ;
|
||||
sh:node ent:Organisatie ] .
|
||||
|
||||
ent:TypeVestiging
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "type vestiging" ;
|
||||
sh:targetClass code:TypeVestiging ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Adres
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "adres" ;
|
||||
sh:targetClass locn:Address ;
|
||||
sh:property [ sh:path locn:thoroughfare ; sh:name "straat" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:Adresvoorstelling.huisnummer ; sh:name "huisnummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:Adresvoorstelling.busnummer ; sh:name "busnummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:postCode ; sh:name "postcode" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:gemeentenaam ; sh:name "gemeente" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:adminUnitL2 ; sh:name "provincie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:land ; sh:name "land" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:fullAddress ; sh:name "volledig adres" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path adres:verwijstNaar ; sh:name "verwijst naar" ;
|
||||
sh:description "URI van het adres in het adressenregister" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path [ sh:inversePath organisatie:bestaatUit ] ; sh:name "vestiging van" ;
|
||||
sh:node ent:Vestiging ] .
|
||||
|
||||
ent:ContactPunt
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "contactpunt" ;
|
||||
sh:targetClass schema:ContactPoint ;
|
||||
sh:property [ sh:path schema:email ; sh:name "email" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:telephone ; sh:name "telefoon" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:faxNumber ; sh:name "fax" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path foaf:page ; sh:name "website" ;
|
||||
sh:description "URI van de website" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path schema:contactType ; sh:name "contactsoort" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path locn:address ; sh:name "adres" ;
|
||||
sh:node ent:Adres ] .
|
||||
|
||||
ent:Identificator
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "identificator" ;
|
||||
sh:targetClass adms:Identifier ;
|
||||
sh:property [ sh:path skos:notation ; sh:name "notatie" ;
|
||||
sh:description "De waarde van de identificator, bv. het KBO-nummer" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path generiek:gestructureerdeIdentificator ; sh:name "gestructureerde identificator" ;
|
||||
sh:node ent:GestructureerdeIdentificator ] .
|
||||
|
||||
ent:GestructureerdeIdentificator
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "gestructureerde identificator" ;
|
||||
sh:targetClass generiek:GestructureerdeIdentificator ;
|
||||
sh:property [ sh:path generiek:lokaleIdentificator ; sh:name "lokale identificator" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Werkingsgebied
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "werkingsgebied" ;
|
||||
sh:targetClass prov:Location ;
|
||||
sh:property [ sh:path rdfs:label ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ext:werkingsgebiedNiveau ; sh:name "niveau" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path geo:sfWithin ; sh:name "ligt in" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath geo:sfWithin ] ; sh:name "bevat" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath geo:sfWithin ] ; sh:name "bestuurseenheden" ;
|
||||
sh:description "De bestuurseenheden die in dit gebied liggen" ;
|
||||
sh:node ent:Bestuurseenheid ] ;
|
||||
sh:property [ sh:path skos:exactMatch ; sh:name "exacte match" ;
|
||||
sh:node ent:Concept ] .
|
||||
|
||||
ent:Concept
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "concept" ;
|
||||
sh:targetClass skos:Concept ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:notation ; sh:name "notatie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:altLabel ; sh:name "andere naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path sh:order ; sh:name "volgorde" ;
|
||||
sh:datatype xsd:decimal ] ;
|
||||
sh:property [ sh:path skos:inScheme ; sh:name "in schema" ;
|
||||
sh:node ent:ConceptSchema ] .
|
||||
|
||||
ent:ConceptSchema
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "conceptschema" ;
|
||||
sh:targetClass skos:ConceptScheme ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:BijkomendeKwalificatie
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "bijkomende kwalificatie" ;
|
||||
sh:targetClass code:BijkomendeKwalificatieCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:notation ; sh:name "notatie" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path code:rechtsgrond ; sh:name "rechtsgrond" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:definition ; sh:name "definitie" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Sector
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "sector" ;
|
||||
sh:targetClass code:Sector ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:NaceBelCode
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "nace-bel-code" ;
|
||||
sh:targetClass nacebel:NaceBelCode ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:notation ; sh:name "code" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:Lidmaatschap
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "lidmaatschap" ;
|
||||
sh:targetClass org:Membership ;
|
||||
sh:property [ sh:path org:member ; sh:name "lid" ;
|
||||
sh:description "De organisatie die lid is" ;
|
||||
sh:node ent:Organisatie ] ;
|
||||
sh:property [ sh:path org:organization ; sh:name "organisatie" ;
|
||||
sh:description "De organisatie waar het lidmaatschap bij hoort" ;
|
||||
sh:node ent:Organisatie ] ;
|
||||
sh:property [ sh:path org:role ; sh:name "rol" ;
|
||||
sh:node ent:LidmaatschapRol ] ;
|
||||
sh:property [ sh:path m8g:memberDuring ; sh:name "periode" ;
|
||||
sh:node ent:Periode ] .
|
||||
|
||||
ent:LidmaatschapRol
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "lidmaatschapsrol" ;
|
||||
sh:targetClass org:Role ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path skos:broader ; sh:name "bredere rol" ;
|
||||
sh:node ent:LidmaatschapRol ] .
|
||||
|
||||
ent:Periode
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "periode" ;
|
||||
sh:targetClass <http://www.w3.org/2006/time#ProperInterval> ;
|
||||
sh:property [ sh:path <http://www.w3.org/2006/time#hasBeginning> ; sh:name "start" ;
|
||||
sh:datatype xsd:dateTime ] ;
|
||||
sh:property [ sh:path <http://www.w3.org/2006/time#hasEnd> ; sh:name "einde" ;
|
||||
sh:datatype xsd:dateTime ] .
|
||||
|
||||
ent:Veranderingsgebeurtenis
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "veranderingsgebeurtenis" ;
|
||||
sh:targetClass org:ChangeEvent ;
|
||||
sh:property [ sh:path dct:date ; sh:name "datum" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path dct:description ; sh:name "beschrijving" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path ch:typeWijziging ; sh:name "type" ;
|
||||
sh:node ent:VeranderingsgebeurtenisType ] ;
|
||||
sh:property [ sh:path org:resultingOrganization ; sh:name "resulterende organisaties" ;
|
||||
sh:node ent:Organisatie ] ;
|
||||
sh:property [ sh:path org:originalOrganization ; sh:name "oorspronkelijke organisaties" ;
|
||||
sh:node ent:Organisatie ] ;
|
||||
sh:property [ sh:path code:veranderingsgebeurtenisResultaat ; sh:name "resultaten" ;
|
||||
sh:node ent:VeranderingsgebeurtenisResultaat ] ;
|
||||
sh:property [ sh:path m8g:hasFormalFramework ; sh:name "besluit" ;
|
||||
sh:node ent:Besluit ] .
|
||||
|
||||
ent:VeranderingsgebeurtenisType
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "type veranderingsgebeurtenis" ;
|
||||
sh:targetClass code:Veranderingsgebeurtenis ;
|
||||
sh:property [ sh:path skos:prefLabel ; sh:name "naam" ;
|
||||
sh:datatype xsd:string ] .
|
||||
|
||||
ent:VeranderingsgebeurtenisResultaat
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "veranderingsresultaat" ;
|
||||
sh:targetClass code:VeranderingsgebeurtenisResultaat ;
|
||||
sh:property [ sh:path ext:resultingOrganization ; sh:name "resulterende organisatie" ;
|
||||
sh:node ent:Organisatie ] ;
|
||||
sh:property [ sh:path code:resulterendeStatus ; sh:name "resulterende status" ;
|
||||
sh:node ent:OrganisatieStatus ] ;
|
||||
sh:property [ sh:path code:resulterendeRechtsvorm ; sh:name "resulterende rechtsvorm" ;
|
||||
sh:node ent:Concept ] ;
|
||||
sh:property [ sh:path code:resulterendWerkingsgebied ; sh:name "resulterend werkingsgebied" ;
|
||||
sh:node ent:Werkingsgebied ] ;
|
||||
sh:property [ sh:path [ sh:inversePath code:veranderingsgebeurtenisResultaat ] ; sh:name "resulteert uit" ;
|
||||
sh:node ent:Veranderingsgebeurtenis ] .
|
||||
|
||||
ent:Besluit
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "besluit" ;
|
||||
sh:targetClass besluit:Besluit ;
|
||||
sh:property [ sh:path eli:date_publication ; sh:name "publicatiedatum" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path foaf:page ; sh:name "documentlink" ;
|
||||
sh:description "URI van het besluitdocument" ;
|
||||
sh:datatype xsd:string ] ;
|
||||
sh:property [ sh:path [ sh:inversePath prov:generated ] ; sh:name "beslissingsactiviteit" ;
|
||||
sh:node ent:Beslissingsactiviteit ] .
|
||||
|
||||
ent:Beslissingsactiviteit
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "beslissingsactiviteit" ;
|
||||
sh:targetClass besluitvorming:Beslissingsactiviteit ;
|
||||
sh:property [ sh:path dossier:Activiteit.einddatum ; sh:name "einddatum" ;
|
||||
sh:datatype xsd:date ] ;
|
||||
sh:property [ sh:path prov:generated ; sh:name "geeft aanleiding tot" ;
|
||||
sh:node ent:Besluit ] .
|
||||
104
config/report-profiles/report-spec-readme.md
Normal file
104
config/report-profiles/report-spec-readme.md
Normal file
@@ -0,0 +1,104 @@
|
||||
# The report spec, as SHACL
|
||||
|
||||
A spec is `rep:ReportSpec` + `sh:NodeShape`. The shape half selects
|
||||
the subjects and is real SHACL; the `rep:` half says what the CSV holds,
|
||||
which SHACL has no word for. This file is the spec format's own shapes graph:
|
||||
a machine-readable definition that doubles as reference documentation.
|
||||
|
||||
The namespace:
|
||||
|
||||
```
|
||||
rep: → http://mu.semte.ch/vocabularies/reporting/
|
||||
```
|
||||
|
||||
File: `config/report-profiles/report-spec-shapes.ttl`.
|
||||
|
||||
## What it defines
|
||||
|
||||
One `sh:NodeShape` per term:
|
||||
|
||||
- **ReportSpec** — the document. `dct:title`, `rep:profile` (which profile it
|
||||
was written against), `sh:targetClass`, `rep:entity` (optional; picks the
|
||||
shape when two entities share one `sh:targetClass`), `sh:property` (the
|
||||
filters), `rep:columns` (the CSV, in order, an rdf:List).
|
||||
- **Filter** — a `sh:property` on the ReportSpec: `sh:path` plus exactly one
|
||||
condition (`sh:hasValue`, `sh:in`, `sh:minCount`/`sh:maxCount`,
|
||||
`sh:min/maxInclusive`/`sh:min/maxExclusive`, `sh:pattern` + `sh:flags`,
|
||||
`rep:anyOf`). A path with no condition is refused by the validator.
|
||||
Optional `rep:where` (see below).
|
||||
- **Column** — a list item: `sh:path` (hops, or `rep:self` for the row's own
|
||||
subject), `rdfs:label` (unique, required), optional `rep:collect`
|
||||
(`sh:groupConcat` default, `rep:row`, `sh:min`, `sh:max`), optional
|
||||
`sh:separator`, optional `sh:nodeKind sh:IRI` (the cell shows the URI of
|
||||
the node the path ends on; only then may the path end on a link). No
|
||||
constraints on a column — `sh:hasValue` and friends belong in filters, or
|
||||
in the column's `rep:where`.
|
||||
|
||||
## Conditions on the way: rep:where
|
||||
|
||||
A filter tests only the end of its own path, and two filters never share a
|
||||
node. `rep:where` tests a node in the middle of a path. It is written like a
|
||||
filter, with its path from the row. The steps it has in common with its
|
||||
filter or column are the same nodes; its condition tests where its own path
|
||||
ends. On a filter it drops rows; on a column it drops values from the cell,
|
||||
never rows. Several `rep:where` on one filter or column all apply.
|
||||
|
||||
```turtle
|
||||
[ sh:path ( org:holds [ sh:inversePath lblodlg:heeftBestuursfunctie ]
|
||||
generiek:isTijdspecialisatieVan besluit:bestuurt
|
||||
[ sh:inversePath besluit:bestuurt ] [ sh:inversePath generiek:isTijdspecialisatieVan ]
|
||||
org:hasPost [ sh:inversePath org:holds ]
|
||||
mandaat:isBestuurlijkeAliasVan foaf:familyName ) ;
|
||||
rdfs:label "Burgemeester" ;
|
||||
rep:where [ sh:path ( org:holds [ sh:inversePath lblodlg:heeftBestuursfunctie ]
|
||||
generiek:isTijdspecialisatieVan besluit:bestuurt
|
||||
[ sh:inversePath besluit:bestuurt ] [ sh:inversePath generiek:isTijdspecialisatieVan ]
|
||||
org:hasPost org:role ) ;
|
||||
sh:hasValue <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ab0e9b8a3b2ca7c5e000013> ] ]
|
||||
```
|
||||
|
||||
Per leidinggevende: the names of the mandatarissen whose mandate, in an
|
||||
organ of the same bestuurseenheid, has the role Burgemeester. The condition
|
||||
shares seven steps with the column, so it tests the mandate. `validate_spec`
|
||||
says so: `rep:where 1 on column "Burgemeester" applies at "mandaat", after
|
||||
step 7`.
|
||||
|
||||
On a filter with `sh:maxCount 0`, the filter and its `rep:where` together
|
||||
become "none such".
|
||||
|
||||
## What it cannot say (and the runner enforces anyway)
|
||||
|
||||
A shapes graph cannot express "a column must end on a value field, or on a
|
||||
link with `sh:nodeKind sh:IRI`" (that needs the profile), "a path resolves hop by hop" (needs the profile walk),
|
||||
"at most 24 anyOf terms" (cardinality over list contents), or "anyOf takes
|
||||
words, not URIs" (term typing), or "a rep:where shares at least one step with
|
||||
its filter or column", or "a date or number condition ends on a value, not on
|
||||
a link". Those live in the service's `src/runner/check.js`.
|
||||
|
||||
## Not yet
|
||||
|
||||
`sh:count`, `sh:sum`, `sh:orderBy`, `sh:limit`, `sh:offset` (SHACL-AF names for when counting and ordering arrive), `rep:graph` (regex the subject's
|
||||
graph must match).
|
||||
|
||||
## Example
|
||||
|
||||
```turtle
|
||||
<http://data.lblod.info/id/report-specs/e3f1> a rep:ReportSpec , sh:NodeShape ;
|
||||
dct:title "Meldingen met bijlagen" ;
|
||||
rep:profile <http://data.lblod.info/id/report-profiles/toezicht> ;
|
||||
sh:targetClass meb:Submission ;
|
||||
sh:property [ sh:path ( pav:createdBy skos:prefLabel ) ;
|
||||
sh:hasValue "West-Vlaanderen" ] ;
|
||||
rep:columns (
|
||||
[ sh:path rep:self ; rdfs:label "melding" ]
|
||||
[ sh:path nmo:sentDate ; rdfs:label "datumVerstuurd" ]
|
||||
[ sh:path ( prov:generated dct:hasPart nfo:fileName ) ;
|
||||
rdfs:label "bestandsnamen" ; rep:collect rep:row ]
|
||||
) .
|
||||
```
|
||||
|
||||
## Validating a spec against these shapes
|
||||
|
||||
The shapes are self-describing documentation. `validate_spec` (the conversion tool)
|
||||
does more: it walks every path through the mounted profile and refuses
|
||||
what a shapes graph cannot see. Both together are the spec contract.
|
||||
213
config/report-profiles/report-spec-shapes.ttl
Normal file
213
config/report-profiles/report-spec-shapes.ttl
Normal file
@@ -0,0 +1,213 @@
|
||||
# Shapes for the report spec itself (rep:ReportSpec).
|
||||
# Reference definition of the spec format: a machine-readable
|
||||
# contract that doubles as documentation. validate_spec does more than this
|
||||
# graph can express: it walks every path through the mounted profile and
|
||||
# refuses what shapes alone cannot see (columns ending on a link without
|
||||
# sh:nodeKind sh:IRI, unresolved
|
||||
# hops, anyOf term limits, filters without a condition).
|
||||
#
|
||||
# Not yet: sh:count, sh:sum, sh:orderBy, sh:limit, sh:offset, rep:graph.
|
||||
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix dct: <http://purl.org/dc/terms/> .
|
||||
@prefix rep: <http://mu.semte.ch/vocabularies/reporting/> .
|
||||
|
||||
<http://data.lblod.info/id/report-profiles/report-spec>
|
||||
a owl:Ontology ;
|
||||
dct:title "Report spec shapes" ;
|
||||
sh:prefixes [
|
||||
sh:declare [ sh:prefix "rep" ; sh:namespace "http://mu.semte.ch/vocabularies/reporting/"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "sh" ; sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "rdf" ; sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "rdfs"; sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ] ;
|
||||
sh:declare [ sh:prefix "dct" ; sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ] ;
|
||||
] .
|
||||
|
||||
rep:ReportSpecShape
|
||||
a sh:NodeShape ;
|
||||
rdfs:label "rapportspec" ;
|
||||
sh:targetClass rep:ReportSpec ;
|
||||
sh:property [
|
||||
sh:path dct:title ;
|
||||
sh:name "titel" ;
|
||||
sh:datatype xsd:string ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rep:profile ;
|
||||
sh:name "profiel" ;
|
||||
sh:nodeKind sh:IRI ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:targetClass ;
|
||||
sh:name "klasse" ;
|
||||
sh:nodeKind sh:IRI ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
# rep:entity picks the shape when two entities share one sh:targetClass
|
||||
# (the profile lists the entity URI per entity).
|
||||
sh:property [
|
||||
sh:path rep:entity ;
|
||||
sh:name "entiteit" ;
|
||||
sh:nodeKind sh:IRI ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:property ;
|
||||
sh:name "filter" ;
|
||||
sh:node rep:FilterShape ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rep:columns ;
|
||||
sh:name "kolommen" ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] .
|
||||
|
||||
# A filter: a path plus exactly one condition. A path without a condition
|
||||
# selects everything and is refused by check.js (filterConstraint).
|
||||
rep:FilterShape
|
||||
a sh:NodeShape ;
|
||||
sh:property [
|
||||
sh:path sh:path ;
|
||||
sh:name "pad" ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:hasValue ;
|
||||
sh:name "gelijk aan" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:in ;
|
||||
sh:name "in lijst" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:minInclusive ;
|
||||
sh:name "vanaf" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:maxInclusive ;
|
||||
sh:name "tot en met" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:minExclusive ;
|
||||
sh:name "na" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:maxExclusive ;
|
||||
sh:name "voor" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:pattern ;
|
||||
sh:name "regex" ;
|
||||
sh:datatype xsd:string ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:flags ;
|
||||
sh:name "regex-vlaggen" ;
|
||||
sh:datatype xsd:string ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:minCount ;
|
||||
sh:name "minimaal aantal" ;
|
||||
sh:datatype xsd:integer ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:maxCount ;
|
||||
sh:name "maximaal aantal" ;
|
||||
sh:datatype xsd:integer ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rep:anyOf ;
|
||||
sh:name "een van deze woorden" ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
# rep:where: a condition on a node this filter walks through, written as a
|
||||
# filter from the row. The steps it shares with this filter are the same
|
||||
# nodes. check.js refuses one that shares no step, and one nested in
|
||||
# another (whereConditions).
|
||||
sh:property [
|
||||
sh:path rep:where ;
|
||||
sh:name "voorwaarde onderweg" ;
|
||||
sh:node rep:FilterShape ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rdfs:label ;
|
||||
sh:name "label" ;
|
||||
sh:maxCount 0 ;
|
||||
] .
|
||||
|
||||
# A column: path, label, collect mode, separator. No constraints here;
|
||||
# check.js refuses a constraint inside rep:columns (columnPure). The one
|
||||
# exception is sh:nodeKind sh:IRI: the cell shows the URI of the node the
|
||||
# path ends on, and only then may the path end on a link. A condition
|
||||
# on a node the column walks through goes in rep:where; it drops values from
|
||||
# the cell, never rows.
|
||||
rep:ColumnShape
|
||||
a sh:NodeShape ;
|
||||
sh:property [
|
||||
sh:path sh:path ;
|
||||
sh:name "pad" ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rdfs:label ;
|
||||
sh:name "kolomnaam" ;
|
||||
sh:datatype xsd:string ;
|
||||
sh:minCount 1 ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rep:collect ;
|
||||
sh:name "verzamelwijze" ;
|
||||
sh:nodeKind sh:IRI ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:separator ;
|
||||
sh:name "scheidingsteken" ;
|
||||
sh:datatype xsd:string ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path sh:nodeKind ;
|
||||
sh:name "toon de URI" ;
|
||||
sh:in ( sh:IRI ) ;
|
||||
sh:maxCount 1 ;
|
||||
] ;
|
||||
sh:property [
|
||||
sh:path rep:where ;
|
||||
sh:name "voorwaarde onderweg" ;
|
||||
sh:node rep:FilterShape ;
|
||||
] .
|
||||
|
||||
# rep:collect takes exactly these values (SHACL Core groupConcat is the
|
||||
# default when absent; min/max are SHACL-AF names). A shapes graph cannot
|
||||
# enumerate an IRI value set without a class; check.js enforces it (columnPure).
|
||||
rep:RowShape
|
||||
a sh:NodeShape ; rdfs:comment "rep:collect value: one CSV line per value" .
|
||||
|
||||
# rep:self as sh:path marks the row's own subject URI: nothing to walk,
|
||||
# the runner takes it from the seed.
|
||||
rep:self
|
||||
a rdf:Property ;
|
||||
rdfs:comment "in a column's sh:path slot: the row's own subject URI" .
|
||||
226
config/reports/administrative-units-report.js
Normal file
226
config/reports/administrative-units-report.js
Normal file
@@ -0,0 +1,226 @@
|
||||
import { generateReportFromData, batchedQuery } from "../helpers.js";
|
||||
import { PREFIXES } from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 1 * * *",
|
||||
name: "administrativeUnits",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "administrative units",
|
||||
description: "List of the administrative units",
|
||||
filePrefix: "exports/administrative-units",
|
||||
};
|
||||
|
||||
console.log("Generating administrative units report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
|
||||
SELECT DISTINCT
|
||||
?Bestuurseenheid
|
||||
?JuridischeNaam
|
||||
?AlternatieveNaam
|
||||
?Classificatie
|
||||
?Status
|
||||
?KBO_nr
|
||||
?OVO_nr
|
||||
?Sharepoint_id
|
||||
?NIS_code
|
||||
?JuridischeVorm
|
||||
?Regio
|
||||
?Werkingsgebied
|
||||
?GeplandeEinddatum
|
||||
?Provincie
|
||||
?Straat
|
||||
?Huisnummer
|
||||
?Busnummer
|
||||
?Postcode
|
||||
?Gemeente
|
||||
(STR(?GrensoverschrijdendBoolean) AS ?Grensoverschrijdend)
|
||||
?TypeEredienst
|
||||
?BestuurseenheidURI
|
||||
?Stekking
|
||||
{
|
||||
VALUES ?type {
|
||||
besluit:Bestuurseenheid
|
||||
ere:BestuurVanDeEredienst
|
||||
org:Organization
|
||||
ere:EredienstBestuurseenheid
|
||||
ere:CentraalBestuurVanDeEredienst
|
||||
}
|
||||
|
||||
?BestuurseenheidURI
|
||||
a ?type.
|
||||
OPTIONAL { ?BestuurseenheidURI skos:prefLabel ?Bestuurseenheid . }
|
||||
OPTIONAL { ?BestuurseenheidURI org:classification/skos:prefLabel ?Classificatie. }
|
||||
OPTIONAL { ?BestuurseenheidURI regorg:legalName ?JuridischeNaam. }
|
||||
OPTIONAL { ?BestuurseenheidURI organisatie:rechtsvorm/skos:prefLabel ?JuridischeVorm. }
|
||||
OPTIONAL { ?BestuurseenheidURI lblodgeneriek:geplandeEindDatum ?GeplandeEinddatum. }
|
||||
|
||||
OPTIONAL {
|
||||
SELECT ?BestuurseenheidURI (GROUP_CONCAT(DISTINCT ?altLabelValue; separator=", ") AS ?AlternatieveNaam)
|
||||
WHERE {
|
||||
?BestuurseenheidURI skos:altLabel ?altLabelValue .
|
||||
}
|
||||
GROUP BY ?BestuurseenheidURI
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
SELECT ?BestuurseenheidURI (GROUP_CONCAT(DISTINCT ?scopeLabel; separator=", ") AS ?Werkingsgebied)
|
||||
WHERE {
|
||||
{
|
||||
?BestuurseenheidURI besluit:werkingsgebied ?scopeURI .
|
||||
} UNION {
|
||||
?BestuurseenheidURI dc_terms:spatial ?scopeURI .
|
||||
}
|
||||
?scopeURI rdfs:label ?scopeLabel .
|
||||
}
|
||||
GROUP BY ?BestuurseenheidURI
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?BestuurseenheidURI besluit:werkingsgebied ?werkingsgebiedURI.
|
||||
?werkingsgebiedURI rdfs:label ?werkingsgebied.
|
||||
OPTIONAL {
|
||||
?werkingsgebiedURI geo:sfWithin ?regionURI.
|
||||
?regionURI
|
||||
ext:werkingsgebiedNiveau "Referentieregio"@nl;
|
||||
rdfs:label ?langRegio.
|
||||
}
|
||||
OPTIONAL {
|
||||
?werkingsgebiedURI skos:exactMatch ?nisArea.
|
||||
?nisArea skos:inScheme ?NISCodeScheme;
|
||||
skos:notation ?NIS_code.
|
||||
|
||||
FILTER (?NISCodeScheme IN ( <http://vocab.belgif.be/auth/refnis2019>, <http://vocab.belgif.be/auth/refnis2025>))
|
||||
}
|
||||
}
|
||||
OPTIONAL {
|
||||
?BestuurseenheidURI org:hasPrimarySite/organisatie:bestaatUit ?address .
|
||||
?address adres:gemeentenaam ?Gemeente .
|
||||
|
||||
?municipalityRegio a besluit:Bestuurseenheid ;
|
||||
skos:prefLabel ?Gemeente ;
|
||||
org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> ;
|
||||
besluit:werkingsgebied ?werkingsgebiedRegioURI.
|
||||
|
||||
?werkingsgebiedRegioURI geo:sfWithin ?regioViaAddressURI.
|
||||
?regioViaAddressURI
|
||||
ext:werkingsgebiedNiveau "Referentieregio"@nl;
|
||||
rdfs:label ?langRegioViaAddress.
|
||||
}
|
||||
|
||||
BIND(IF(BOUND(?langRegio) && strlen(?langRegio)>0, str(?langRegio), str(?langRegioViaAddress)) AS ?Regio)
|
||||
|
||||
OPTIONAL { ?BestuurseenheidURI regorg:orgStatus/skos:prefLabel ?Status. }
|
||||
OPTIONAL { ?BestuurseenheidURI ere:typeEredienst ?typeEredienstUri.
|
||||
OPTIONAL { ?typeEredienstUri skos:prefLabel ?TypeEredienst. }
|
||||
}
|
||||
OPTIONAL { ?BestuurseenheidURI ere:grensoverschrijdend ?GrensoverschrijdendBoolean. }
|
||||
OPTIONAL { ?BestuurseenheidURI org:hasPrimarySite/organisatie:bestaatUit ?address .
|
||||
OPTIONAL { ?address locn:thoroughfare ?Straat }
|
||||
OPTIONAL { ?address adres:Adresvoorstelling.huisnummer ?Huisnummer . }
|
||||
OPTIONAL { ?address adres:Adresvoorstelling.busnummer ?Busnummer . }
|
||||
OPTIONAL { ?address locn:postCode ?Postcode . }
|
||||
OPTIONAL { ?address adres:gemeentenaam ?Gemeente . }
|
||||
OPTIONAL { ?address locn:adminUnitL2 ?Provincie . }
|
||||
OPTIONAL { ?address adres:land ?Land . }
|
||||
}
|
||||
OPTIONAL {
|
||||
?BestuurseenheidURI adms:identifier ?kbo_identifier .
|
||||
?kbo_identifier
|
||||
skos:notation ?kbo_notation;
|
||||
generiek:gestructureerdeIdentificator/generiek:lokaleIdentificator ?KBO_nr.
|
||||
FILTER (str(?kbo_notation) = "KBO nummer")
|
||||
}
|
||||
OPTIONAL {
|
||||
?BestuurseenheidURI adms:identifier ?ovo_identifier .
|
||||
?ovo_identifier
|
||||
skos:notation ?ovo_notation;
|
||||
generiek:gestructureerdeIdentificator/generiek:lokaleIdentificator ?OVO_nr.
|
||||
FILTER (str(?ovo_notation) = "OVO-nummer")
|
||||
}
|
||||
OPTIONAL {
|
||||
?BestuurseenheidURI adms:identifier ?sp_identifier .
|
||||
?sp_identifier
|
||||
skos:notation ?sp_notation;
|
||||
generiek:gestructureerdeIdentificator/generiek:lokaleIdentificator ?Sharepoint_id.
|
||||
FILTER (str(?sp_notation) = "SharePoint identificator")
|
||||
}
|
||||
OPTIONAL {
|
||||
?changeEvent org:resultingOrganization ?BestuurseenheidURI;
|
||||
ch:typeWijziging <http://lblod.data.gift/concepts/e4c3d1ef-a34d-43b0-a18c-f4e60e2c8af3>.
|
||||
<http://lblod.data.gift/concepts/e4c3d1ef-a34d-43b0-a18c-f4e60e2c8af3> skos:prefLabel ?stadsTitel
|
||||
}
|
||||
OPTIONAL { ?BestuurseenheidURI ere:denominatie ?Stekking. }
|
||||
} ORDER BY DESC(?Classificatie) ?Bestuurseenheid
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
Bestuurseenheid: getSafeValue(row, "Bestuurseenheid"),
|
||||
JuridischeNaam: getSafeValue(row, "JuridischeNaam"),
|
||||
AlternatieveNaam: getSafeValue(row, "AlternatieveNaam"),
|
||||
Classificatie: getSafeValue(row, "Classificatie"),
|
||||
Status: getSafeValue(row, "Status"),
|
||||
KBO_nr: getSafeValue(row, "KBO_nr"),
|
||||
OVO_nr: getSafeValue(row, "OVO_nr"),
|
||||
Sharepoint_id: getSafeValue(row, "Sharepoint_id"),
|
||||
NIS_code: getSafeValue(row, "NIS_code"),
|
||||
JuridischeVorm: getSafeValue(row, "JuridischeVorm"),
|
||||
Regio: getSafeValue(row, "Regio"),
|
||||
Werkingsgebied: getSafeValue(row, "Werkingsgebied"),
|
||||
GeplandeEinddatum: getSafeValue(row, "GeplandeEinddatum"),
|
||||
Provincie: getSafeValue(row, "Provincie"),
|
||||
Straat: getSafeValue(row, "Straat"),
|
||||
Huisnummer: getSafeValue(row, "Huisnummer"),
|
||||
Busnummer: getSafeValue(row, "Busnummer"),
|
||||
Postcode: getSafeValue(row, "Postcode"),
|
||||
Gemeente: getSafeValue(row, "Gemeente"),
|
||||
Grensoverschrijdend: getSafeValue(row, "Grensoverschrijdend"),
|
||||
TypeEredienst: getSafeValue(row, "TypeEredienst"),
|
||||
BestuurseenheidURI: getSafeValue(row, "BestuurseenheidURI"),
|
||||
Stekking: getSafeValue(row, "Stekking"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"Bestuurseenheid",
|
||||
"JuridischeNaam",
|
||||
"AlternatieveNaam",
|
||||
"Classificatie",
|
||||
"Status",
|
||||
"KBO_nr",
|
||||
"OVO_nr",
|
||||
"Sharepoint_id",
|
||||
"NIS_code",
|
||||
"JuridischeVorm",
|
||||
"Regio",
|
||||
"Werkingsgebied",
|
||||
"GeplandeEinddatum",
|
||||
"Provincie",
|
||||
"Straat",
|
||||
"Huisnummer",
|
||||
"Busnummer",
|
||||
"Postcode",
|
||||
"Gemeente",
|
||||
"Grensoverschrijdend",
|
||||
"TypeEredienst",
|
||||
"BestuurseenheidURI",
|
||||
"Stekking",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
135
config/reports/change-events-report.js
Normal file
135
config/reports/change-events-report.js
Normal file
@@ -0,0 +1,135 @@
|
||||
import {generateReportFromData, batchedQuery} from "../helpers.js";
|
||||
import {PREFIXES} from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 3 * * *",
|
||||
name: "changeEvents",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "change events",
|
||||
description:
|
||||
"List of change events",
|
||||
filePrefix: "exports/change-events",
|
||||
};
|
||||
|
||||
console.log("Generating change events report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX regorg: <http://www.w3.org/ns/regorg#>
|
||||
PREFIX dct: <http://purl.org/dc/terms/>
|
||||
PREFIX m8g: <http://data.europa.eu/m8g/>
|
||||
PREFIX eli: <http://data.europa.eu/eli/ontology#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX prov: <http://www.w3.org/ns/prov#>
|
||||
PREFIX dossier: <https://data.vlaanderen.be/ns/dossier#>
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
|
||||
SELECT DISTINCT
|
||||
?organisatie
|
||||
?organisatieLabel
|
||||
?classificatieLabel
|
||||
?statusLabel
|
||||
?resulterendeOrganisatie
|
||||
?resulterendeOrganisatieLabel
|
||||
?resulterendeClassificatieLabel
|
||||
?resulterendeStatusLabel
|
||||
?veranderingsgebeurtenisTypeLabel
|
||||
?beschrijving
|
||||
?linkNaarBesluit
|
||||
?datumMinisterieelBesluit
|
||||
?datumPublicatieBS
|
||||
?datumVeranderingsgebeurtenis
|
||||
WHERE {
|
||||
{
|
||||
SELECT DISTINCT ?organisatie ?organisatieLabel ?veranderingsgebeurtenis
|
||||
WHERE {
|
||||
?organisatie a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid> ;
|
||||
skos:prefLabel ?organisatieLabel .
|
||||
|
||||
?veranderingsgebeurtenis a org:ChangeEvent ;
|
||||
org:originalOrganization ?organisatie .
|
||||
}
|
||||
}
|
||||
|
||||
OPTIONAL { ?organisatie org:classification/skos:prefLabel ?classificatieLabel . }
|
||||
OPTIONAL { ?organisatie regorg:orgStatus/skos:prefLabel ?statusLabel . }
|
||||
|
||||
OPTIONAL {
|
||||
?veranderingsgebeurtenis org:resultingOrganization ?resulterendeOrganisatie .
|
||||
OPTIONAL { ?resulterendeOrganisatie skos:prefLabel ?resulterendeOrganisatieLabel . }
|
||||
OPTIONAL { ?resulterendeOrganisatie org:classification/skos:prefLabel ?resulterendeClassificatieLabel . }
|
||||
OPTIONAL { ?resulterendeOrganisatie regorg:orgStatus/skos:prefLabel ?resulterendeStatusLabel . }
|
||||
}
|
||||
|
||||
OPTIONAL { ?veranderingsgebeurtenis ch:typeWijziging/skos:prefLabel ?veranderingsgebeurtenisTypeLabel . }
|
||||
OPTIONAL { ?veranderingsgebeurtenis dct:description ?beschrijving . }
|
||||
OPTIONAL { ?veranderingsgebeurtenis dct:date ?datumVeranderingsgebeurtenis . }
|
||||
|
||||
OPTIONAL {
|
||||
?veranderingsgebeurtenis m8g:hasFormalFramework ?besluit .
|
||||
OPTIONAL { ?besluit foaf:page ?linkNaarBesluit . }
|
||||
OPTIONAL { ?besluit eli:date_publication ?datumPublicatieBS . }
|
||||
OPTIONAL {
|
||||
?beslissingsactiviteit prov:generated ?besluit ;
|
||||
dossier:Activiteit.einddatum ?datumMinisterieelBesluit .
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
ORDER BY ?organisatieLabel ?datumVeranderingsgebeurtenis
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
organisatie: getSafeValue(row, "organisatie"),
|
||||
organisatieLabel: getSafeValue(row, "organisatieLabel"),
|
||||
classificatieLabel: getSafeValue(row, "classificatieLabel"),
|
||||
statusLabel: getSafeValue(row, "statusLabel"),
|
||||
resulterendeOrganisatie: getSafeValue(row, "resulterendeOrganisatie"),
|
||||
resulterendeOrganisatieLabel: getSafeValue(row, "resulterendeOrganisatieLabel"),
|
||||
resulterendeClassificatieLabel: getSafeValue(row, "resulterendeClassificatieLabel"),
|
||||
resulterendeStatusLabel: getSafeValue(row, "resulterendeStatusLabel"),
|
||||
veranderingsgebeurtenisTypeLabel: getSafeValue(row, "veranderingsgebeurtenisTypeLabel"),
|
||||
beschrijving: getSafeValue(row, "beschrijving"),
|
||||
linkNaarBesluit: getSafeValue(row, "linkNaarBesluit"),
|
||||
datumMinisterieelBesluit: getSafeValue(row, "datumMinisterieelBesluit"),
|
||||
datumPublicatieBS: getSafeValue(row, "datumPublicatieBS"),
|
||||
datumVeranderingsgebeurtenis: getSafeValue(row, "datumVeranderingsgebeurtenis"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"organisatie",
|
||||
"organisatieLabel",
|
||||
"classificatieLabel",
|
||||
"statusLabel",
|
||||
"resulterendeOrganisatie",
|
||||
"resulterendeOrganisatieLabel",
|
||||
"resulterendeClassificatieLabel",
|
||||
"resulterendeStatusLabel",
|
||||
"veranderingsgebeurtenisTypeLabel",
|
||||
"beschrijving",
|
||||
"linkNaarBesluit",
|
||||
"datumMinisterieelBesluit",
|
||||
"datumPublicatieBS",
|
||||
"datumVeranderingsgebeurtenis",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
@@ -1,7 +1,21 @@
|
||||
import OrganizationsReport from './organizations-report'
|
||||
import RelatedOrganizationsReport from './related-organizations-report'
|
||||
import KboOrganizationsReport from './kbo-organizations-report'
|
||||
import OrganizationsDetailReport from './organizations-detail-report'
|
||||
import OrganizationsPlatformReport from './organizations-platform-report'
|
||||
import AdministrativeUnitsReport from "./administrative-units-report";
|
||||
import ChangeEventsReport from "./change-events-report";
|
||||
import OrganizationsNoAddressReport from "./organizations-no-address-report";
|
||||
import OrganizationsInFrontendReport from "./organizations-in-frontend-report";
|
||||
|
||||
export default [
|
||||
OrganizationsReport,
|
||||
RelatedOrganizationsReport,
|
||||
KboOrganizationsReport,
|
||||
OrganizationsDetailReport,
|
||||
OrganizationsPlatformReport,
|
||||
AdministrativeUnitsReport,
|
||||
ChangeEventsReport,
|
||||
OrganizationsNoAddressReport,
|
||||
OrganizationsInFrontendReport,
|
||||
];
|
||||
|
||||
108
config/reports/kbo-organizations-report.js
Normal file
108
config/reports/kbo-organizations-report.js
Normal file
@@ -0,0 +1,108 @@
|
||||
import { generateReportFromData, batchedQuery } from "../helpers.js";
|
||||
import { PREFIXES } from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 4 * * *",
|
||||
name: "kboOrganizations",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "kbo organizations",
|
||||
description: "List of KBO Organizations with contact information",
|
||||
filePrefix: "exports/kbo-organizations",
|
||||
};
|
||||
|
||||
console.log("Generating KBO organizations report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
|
||||
SELECT DISTINCT
|
||||
?org
|
||||
?org_legal_name
|
||||
?org_classification_label
|
||||
?org_status_label
|
||||
?org_kbo_number
|
||||
?org_contact_point
|
||||
?org_full_address
|
||||
?org_email
|
||||
?org_telephone
|
||||
?website
|
||||
WHERE {
|
||||
?org <http://purl.org/dc/terms/source> <https://economie.fgov.be/> .
|
||||
?org a <http://mu.semte.ch/vocabularies/ext/KboOrganisatie> .
|
||||
|
||||
OPTIONAL { ?org regorg:legalName ?org_legal_name . }
|
||||
|
||||
OPTIONAL {
|
||||
?org <http://mu.semte.ch/vocabularies/ext/rechtsvorm> ?org_classification_label .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org regorg:orgStatus ?org_status .
|
||||
?org_status skos:prefLabel ?org_status_label .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org adms:identifier ?identifier .
|
||||
?identifier skos:notation "KBO nummer" ;
|
||||
generiek:gestructureerdeIdentificator ?id1 .
|
||||
?id1 generiek:lokaleIdentificator ?org_kbo_number .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org schema:contactPoint ?org_contact_point .
|
||||
|
||||
OPTIONAL {
|
||||
?org_contact_point locn:address ?org_address .
|
||||
?org_address locn:fullAddress ?org_full_address .
|
||||
}
|
||||
|
||||
OPTIONAL { ?org_contact_point schema:email ?org_email . }
|
||||
OPTIONAL { ?org_contact_point schema:telephone ?org_telephone . }
|
||||
OPTIONAL { ?org_contact_point foaf:page ?website . }
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
org: getSafeValue(row, "org"),
|
||||
org_legal_name: getSafeValue(row, "org_legal_name"),
|
||||
org_classification_label: getSafeValue(row, "org_classification_label"),
|
||||
org_status_label: getSafeValue(row, "org_status_label"),
|
||||
org_kbo_number: getSafeValue(row, "org_kbo_number"),
|
||||
org_contact_point: getSafeValue(row, "org_contact_point"),
|
||||
org_full_address: getSafeValue(row, "org_full_address"),
|
||||
org_email: getSafeValue(row, "org_email"),
|
||||
org_telephone: getSafeValue(row, "org_telephone"),
|
||||
website: getSafeValue(row, "website"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"org",
|
||||
"org_legal_name",
|
||||
"org_classification_label",
|
||||
"org_status_label",
|
||||
"org_kbo_number",
|
||||
"org_contact_point",
|
||||
"org_full_address",
|
||||
"org_email",
|
||||
"org_telephone",
|
||||
"website",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
147
config/reports/organizations-detail-report.js
Normal file
147
config/reports/organizations-detail-report.js
Normal file
@@ -0,0 +1,147 @@
|
||||
import { generateReportFromData, batchedQuery } from "../helpers.js";
|
||||
import { PREFIXES } from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 4 * * *",
|
||||
name: "organizationsDetail",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "organizations detail",
|
||||
description:
|
||||
"List of Organizations with address and contact information",
|
||||
filePrefix: "exports/organizations-detail",
|
||||
};
|
||||
|
||||
console.log("Generating organizations detail report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
|
||||
SELECT DISTINCT ?org
|
||||
?org_pref_label ?org_classification_label ?org_status_label ?org_kbo_number
|
||||
|
||||
?primary_email
|
||||
?website
|
||||
?primary_telephone
|
||||
?secondary_telephone
|
||||
|
||||
?full_address
|
||||
?land
|
||||
?gemeente
|
||||
?straat
|
||||
?huisnummer
|
||||
?busnummer
|
||||
?postcode
|
||||
?province
|
||||
|
||||
WHERE {
|
||||
?org a org:Organization .
|
||||
OPTIONAL { ?org regorg:legalName ?org_legal_name . }
|
||||
OPTIONAL { ?org skos:prefLabel ?org_pref_label . }
|
||||
OPTIONAL {
|
||||
?org org:classification ?org_classification .
|
||||
?org_classification skos:prefLabel ?org_classification_label .
|
||||
}
|
||||
OPTIONAL {
|
||||
?org regorg:orgStatus ?org_status .
|
||||
?org_status skos:prefLabel ?org_status_label .
|
||||
}
|
||||
OPTIONAL {
|
||||
?org adms:identifier ?identifier .
|
||||
?identifier skos:notation "KBO nummer" ;
|
||||
generiek:gestructureerdeIdentificator ?id1 .
|
||||
?id1 generiek:lokaleIdentificator ?org_kbo_number .
|
||||
}
|
||||
OPTIONAL {
|
||||
?org org:hasPrimarySite ?org_site .
|
||||
?org_site organisatie:bestaatUit ?org_address .
|
||||
?org_site org:siteAddress ?org_contact_point .
|
||||
|
||||
OPTIONAL {
|
||||
?org_contact_point schema:email ?primary_email .
|
||||
?org_contact_point schema:contactType "Primary" .
|
||||
}
|
||||
OPTIONAL {
|
||||
?org_contact_point schema:telephone ?primary_telephone .
|
||||
?org_contact_point schema:contactType "Primary" .
|
||||
}
|
||||
OPTIONAL {
|
||||
?org_contact_point schema:telephone ?secondary_telephone .
|
||||
?org_contact_point schema:contactType "Secondary" .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org_contact_point foaf:page ?website .
|
||||
?org_contact_point schema:contactType "Primary" .
|
||||
}
|
||||
|
||||
OPTIONAL { ?org_contact_point schema:contactType ?contact_type . }
|
||||
|
||||
OPTIONAL { ?org_address locn:fullAddress ?full_address . }
|
||||
OPTIONAL { ?org_address adres:land ?land . }
|
||||
OPTIONAL { ?org_address adres:gemeentenaam ?gemeente . }
|
||||
OPTIONAL { ?org_address locn:thoroughfare ?straat . }
|
||||
OPTIONAL { ?org_address adres:Adresvoorstelling.huisnummer ?huisnummer . }
|
||||
OPTIONAL { ?org_address adres:Adresvoorstelling.busnummer ?busnummer . }
|
||||
OPTIONAL { ?org_address locn:postCode ?postcode . }
|
||||
OPTIONAL { ?org_address locn:adminUnitL2 ?province . }
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
org: getSafeValue(row, "org"),
|
||||
org_pref_label: getSafeValue(row, "org_pref_label"),
|
||||
org_classification_label: getSafeValue(row, "org_classification_label"),
|
||||
org_status_label: getSafeValue(row, "org_status_label"),
|
||||
org_kbo_number: getSafeValue(row, "org_kbo_number"),
|
||||
primary_email: getSafeValue(row, "primary_email"),
|
||||
website: getSafeValue(row, "website"),
|
||||
primary_telephone: getSafeValue(row, "primary_telephone"),
|
||||
secondary_telephone: getSafeValue(row, "secondary_telephone"),
|
||||
full_address: getSafeValue(row, "full_address"),
|
||||
land: getSafeValue(row, "land"),
|
||||
gemeente: getSafeValue(row, "gemeente"),
|
||||
straat: getSafeValue(row, "straat"),
|
||||
huisnummer: getSafeValue(row, "huisnummer"),
|
||||
busnummer: getSafeValue(row, "busnummer"),
|
||||
postcode: getSafeValue(row, "postcode"),
|
||||
province: getSafeValue(row, "province"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"org",
|
||||
"org_pref_label",
|
||||
"org_classification_label",
|
||||
"org_status_label",
|
||||
"org_kbo_number",
|
||||
"primary_email",
|
||||
"website",
|
||||
"primary_telephone",
|
||||
"secondary_telephone",
|
||||
"full_address",
|
||||
"land",
|
||||
"gemeente",
|
||||
"straat",
|
||||
"huisnummer",
|
||||
"busnummer",
|
||||
"postcode",
|
||||
"province",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
102
config/reports/organizations-in-frontend-report.js
Normal file
102
config/reports/organizations-in-frontend-report.js
Normal file
@@ -0,0 +1,102 @@
|
||||
import { generateReportFromData, batchedQuery } from "../helpers.js";
|
||||
import { PREFIXES } from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 23 * * *",
|
||||
name: "organizationsInFrontend",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "organisations in frontend",
|
||||
description: "List of the Organisations shown in the frontend",
|
||||
filePrefix: "exports/organizations-in-frontend",
|
||||
};
|
||||
|
||||
console.log("Generating organizations in frontend report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
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 skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
|
||||
PREFIX dct: <http://purl.org/dc/terms/>
|
||||
SELECT DISTINCT
|
||||
?bestuur
|
||||
?label
|
||||
?classification
|
||||
?typeEredienst
|
||||
?provincie
|
||||
?status
|
||||
WHERE {
|
||||
?bestuur a org:Organization .
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/org#hasPrimarySite> ?site.
|
||||
?site <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?address.
|
||||
?address <http://www.w3.org/ns/locn#adminUnitL2> ?provincie.
|
||||
}
|
||||
OPTIONAL {?bestuur <http://data.lblod.info/vocabularies/erediensten/typeEredienst> ?typeEredienst.}
|
||||
OPTIONAL {?bestuur skos:prefLabel ?label}
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/org#classification> ?org_classification .
|
||||
?org_classification skos:prefLabel ?classification.
|
||||
}
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/regorg#orgStatus> ?org_status.
|
||||
?org_status skos:prefLabel ?status.
|
||||
}
|
||||
|
||||
FILTER(
|
||||
NOT EXISTS {
|
||||
?bestuur org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>.
|
||||
}
|
||||
||
|
||||
EXISTS {
|
||||
?bestuur besluit:werkingsgebied ?werkingsgebied .
|
||||
?werkingsgebied geosparql:sfWithin ?parent .
|
||||
}
|
||||
)
|
||||
|
||||
FILTER(
|
||||
NOT EXISTS {
|
||||
?bestuur org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/52cc9d8d-1c9a-4d92-9936-da9d4a622ec4>.
|
||||
}
|
||||
|
||||
)
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
bestuur: getSafeValue(row, "bestuur"),
|
||||
label: getSafeValue(row, "label"),
|
||||
classification: getSafeValue(row, "classification"),
|
||||
typeEredienst: getSafeValue(row, "typeEredienst"),
|
||||
provincie: getSafeValue(row, "provincie"),
|
||||
status: getSafeValue(row, "status"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"bestuur",
|
||||
"label",
|
||||
"classification",
|
||||
"typeEredienst",
|
||||
"provincie",
|
||||
"status",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
98
config/reports/organizations-no-address-report.js
Normal file
98
config/reports/organizations-no-address-report.js
Normal file
@@ -0,0 +1,98 @@
|
||||
import { generateReportFromData, batchedQuery } from "../helpers.js";
|
||||
import { PREFIXES } from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 23 * * *",
|
||||
name: "organizationsNoAddressregister",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "missing address URI's",
|
||||
description: "List of Organizations with addresses that have no address URI",
|
||||
filePrefix: "exports/organizations-no-addressregister",
|
||||
};
|
||||
|
||||
console.log("Generating organizations no addressregister report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
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 skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
SELECT DISTINCT
|
||||
?bestuur
|
||||
?label
|
||||
?classification
|
||||
?status
|
||||
?street
|
||||
?number
|
||||
?bus
|
||||
?postal
|
||||
?location
|
||||
WHERE {
|
||||
?bestuur a org:Organization .
|
||||
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/org#hasPrimarySite> ?site .
|
||||
?site <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?address .
|
||||
OPTIONAL{?address <https://data.vlaanderen.be/ns/adres#verwijstNaar> ?adressenregister .}
|
||||
OPTIONAL{?address <http://www.w3.org/ns/locn#thoroughfare> ?street . }
|
||||
OPTIONAL{?address <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer> ?number . }
|
||||
OPTIONAL{?address <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer> ?bus . }
|
||||
OPTIONAL{?address <http://www.w3.org/ns/locn#postCode> ?postal . }
|
||||
OPTIONAL{?address <https://data.vlaanderen.be/ns/adres#gemeentenaam> ?location . }
|
||||
}
|
||||
|
||||
OPTIONAL {?bestuur skos:prefLabel ?label}
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/org#classification> ?org_classification .
|
||||
?org_classification skos:prefLabel ?classification .
|
||||
}
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/regorg#orgStatus> ?org_status .
|
||||
?org_status skos:prefLabel ?status .
|
||||
}
|
||||
FILTER(!BOUND(?adressenregister))
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
bestuur: getSafeValue(row, "bestuur"),
|
||||
label: getSafeValue(row, "label"),
|
||||
classification: getSafeValue(row, "classification"),
|
||||
status: getSafeValue(row, "status"),
|
||||
street: getSafeValue(row, "street"),
|
||||
number: getSafeValue(row, "number"),
|
||||
bus: getSafeValue(row, "bus"),
|
||||
postal: getSafeValue(row, "postal"),
|
||||
location: getSafeValue(row, "location"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"bestuur",
|
||||
"label",
|
||||
"classification",
|
||||
"status",
|
||||
"street",
|
||||
"number",
|
||||
"bus",
|
||||
"postal",
|
||||
"location",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
123
config/reports/organizations-platform-report.js
Normal file
123
config/reports/organizations-platform-report.js
Normal file
@@ -0,0 +1,123 @@
|
||||
import { generateReportFromData, batchedQuery } from "../helpers.js";
|
||||
import { PREFIXES } from "./utils";
|
||||
|
||||
export default {
|
||||
cronPattern: "0 00 2 * * *",
|
||||
name: "organizationsPlatform",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "organizations platform",
|
||||
description: "List of Organizations with digital platform information",
|
||||
filePrefix: "exports/organizations-platform",
|
||||
};
|
||||
|
||||
console.log("Generating organizations platform report");
|
||||
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
PREFIX muAccount: <http://mu.semte.ch/vocabularies/account/>
|
||||
|
||||
SELECT
|
||||
?org
|
||||
?org_pref_label
|
||||
?org_classification_label
|
||||
?org_status_label
|
||||
?org_legal_name
|
||||
?org_alt_label
|
||||
?org_werkingsgebied_label
|
||||
?org_ovo_number
|
||||
?org_kbo_number
|
||||
(COALESCE(?platforms, "Loket voor Lokale Besturen") AS ?org_digitaal_platform)
|
||||
WHERE {
|
||||
?org a org:Organization .
|
||||
|
||||
OPTIONAL { ?org skos:prefLabel ?org_pref_label }
|
||||
OPTIONAL { ?org skos:altLabel ?org_alt_label }
|
||||
|
||||
OPTIONAL {
|
||||
?org regorg:legalName ?org_legal_name .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org org:classification ?org_classification .
|
||||
?org_classification skos:prefLabel ?org_classification_label .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org regorg:orgStatus ?org_status .
|
||||
?org_status skos:prefLabel ?org_status_label .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org besluit:werkingsgebied ?org_werkingsgebied .
|
||||
?org_werkingsgebied rdfs:label ?org_werkingsgebied_label .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org adms:identifier ?identifier1 .
|
||||
?identifier1 skos:notation "KBO nummer" ;
|
||||
generiek:gestructureerdeIdentificator ?id1 .
|
||||
?id1 generiek:lokaleIdentificator ?org_kbo_number .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?org adms:identifier ?identifier2 .
|
||||
?identifier2 skos:notation "OVO-nummer" ;
|
||||
generiek:gestructureerdeIdentificator ?id2 .
|
||||
?id2 generiek:lokaleIdentificator ?org_ovo_number .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
SELECT ?org (GROUP_CONCAT(DISTINCT ?digitaal_platform; separator=", ") AS ?platforms)
|
||||
WHERE {
|
||||
?vendor a ext:Vendor ;
|
||||
muAccount:canActOnBehalfOf ?org ;
|
||||
foaf:name ?digitaal_platform .
|
||||
}
|
||||
GROUP BY ?org
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
"URI organisatie": getSafeValue(row, "org"),
|
||||
"label naam": getSafeValue(row, "org_pref_label"),
|
||||
"label classificatie": getSafeValue(row, "org_classification_label"),
|
||||
"label status": getSafeValue(row, "org_status_label"),
|
||||
"label juridische naam": getSafeValue(row, "org_legal_name"),
|
||||
"label alternatieve naam": getSafeValue(row, "org_alt_label"),
|
||||
"label werkingsgebied": getSafeValue(row, "org_werkingsgebied_label"),
|
||||
"label OVO nummer": getSafeValue(row, "org_ovo_number"),
|
||||
"label KBO nummer": getSafeValue(row, "org_kbo_number"),
|
||||
"label digitaal platform": getSafeValue(row, "org_digitaal_platform"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
data,
|
||||
[
|
||||
"URI organisatie",
|
||||
"label naam",
|
||||
"label classificatie",
|
||||
"label status",
|
||||
"label juridische naam",
|
||||
"label alternatieve naam",
|
||||
"label werkingsgebied",
|
||||
"label OVO nummer",
|
||||
"label KBO nummer",
|
||||
"label digitaal platform",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
function getSafeValue(entry, property) {
|
||||
return entry[property] ? wrapInQuote(entry[property].value) : null;
|
||||
}
|
||||
|
||||
// Some values might contain commas; wrapping them in escapes quotes doesn't disrupt the columns.
|
||||
function wrapInQuote(value) {
|
||||
return `\"${value}\"`;
|
||||
}
|
||||
@@ -6,93 +6,68 @@ export default {
|
||||
name: "organizations",
|
||||
execute: async () => {
|
||||
const reportData = {
|
||||
title: "organizations",
|
||||
description: "List of the Organizations",
|
||||
title: "organisations in database",
|
||||
description: "List of the Organisations in the database",
|
||||
filePrefix: "exports/organizations",
|
||||
};
|
||||
|
||||
console.log("Generating organizations report");
|
||||
|
||||
const queryStringPart1 = `
|
||||
const queryString = `
|
||||
${PREFIXES}
|
||||
|
||||
SELECT DISTINCT ?bestuur ?label ?classification ?typeEredienst
|
||||
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 skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
SELECT DISTINCT
|
||||
?bestuur
|
||||
?label
|
||||
?classification
|
||||
?typeEredienst
|
||||
?provincie
|
||||
?status
|
||||
WHERE {
|
||||
GRAPH ?g {
|
||||
?bestuur a org:Organization .
|
||||
OPTIONAL { ?bestuur skos:prefLabel ?label. }
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?bestuur org:classification ?classificationUri .
|
||||
?classificationUri skos:prefLabel ?classification.
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
?bestuur ere:typeEredienst ?typeEredienstUri.
|
||||
?typeEredienstUri skos:prefLabel ?typeEredienst.
|
||||
}
|
||||
|
||||
FILTER (?g IN ( <http://mu.semte.ch/graphs/administrative-unit>, <http://mu.semte.ch/graphs/worship-service>, <http://mu.semte.ch/graphs/shared>))
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponsePart1 = await batchedQuery(queryStringPart1);
|
||||
|
||||
const dataPart1 = queryResponsePart1.results.bindings.reduce((acc, row) => {
|
||||
acc[getSafeValue(row, "bestuur")] = {
|
||||
bestuur: getSafeValue(row, "bestuur"),
|
||||
label: getSafeValue(row, "label"),
|
||||
classification: getSafeValue(row, "classification"),
|
||||
typeEredienst: getSafeValue(row, "typeEredienst"),
|
||||
};
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const queryStringPart2 = `
|
||||
${PREFIXES}
|
||||
|
||||
SELECT DISTINCT ?bestuur ?provincie
|
||||
WHERE {
|
||||
GRAPH ?g {
|
||||
?bestuur a org:Organization .
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
GRAPH ?h {
|
||||
?bestuur org:hasPrimarySite ?primarySite.
|
||||
|
||||
?bestuur a org:Organization .
|
||||
OPTIONAL {
|
||||
?primarySite organisatie:bestaatUit ?sa.
|
||||
OPTIONAL { ?sa locn:adminUnitL2 ?provincie. }
|
||||
?bestuur <http://www.w3.org/ns/org#hasPrimarySite> ?site.
|
||||
?site <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?address.
|
||||
?address <http://www.w3.org/ns/locn#adminUnitL2> ?provincie
|
||||
}
|
||||
}
|
||||
FILTER (?h IN ( <http://mu.semte.ch/graphs/administrative-unit>, <http://mu.semte.ch/graphs/worship-service> ))
|
||||
}
|
||||
|
||||
FILTER (?g IN ( <http://mu.semte.ch/graphs/administrative-unit>, <http://mu.semte.ch/graphs/worship-service>, <http://mu.semte.ch/graphs/shared>))
|
||||
|
||||
OPTIONAL {?bestuur <http://data.lblod.info/vocabularies/erediensten/typeEredienst> ?typeEredienst.}
|
||||
OPTIONAL {?bestuur skos:prefLabel ?label}
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/org#classification> ?org_classification .
|
||||
?org_classification skos:prefLabel ?classification
|
||||
}
|
||||
OPTIONAL {
|
||||
?bestuur <http://www.w3.org/ns/regorg#orgStatus> ?org_status.
|
||||
?org_status skos:prefLabel ?status.
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const queryResponsePart2 = await batchedQuery(queryStringPart2);
|
||||
const dataPart2 = queryResponsePart2.results.bindings.reduce((acc, row) => {
|
||||
let dataPart = {
|
||||
bestuur: getSafeValue(row, "bestuur"),
|
||||
provincie: getSafeValue(row, "provincie"),
|
||||
};
|
||||
const queryResponse = await batchedQuery(queryString);
|
||||
|
||||
acc[getSafeValue(row, "bestuur")] = Object.assign(
|
||||
dataPart,
|
||||
dataPart1[getSafeValue(row, "bestuur")],
|
||||
);
|
||||
return acc;
|
||||
}, {});
|
||||
const data = queryResponse.results.bindings.map((row) => ({
|
||||
"bestuur": getSafeValue(row, "bestuur"),
|
||||
"label": getSafeValue(row, "label"),
|
||||
"classification": getSafeValue(row, "classification"),
|
||||
"typeEredienst": getSafeValue(row, "typeEredienst"),
|
||||
"provincie": getSafeValue(row, "provincie"),
|
||||
"status": getSafeValue(row, "status"),
|
||||
}));
|
||||
|
||||
await generateReportFromData(
|
||||
Object.values(dataPart2),
|
||||
["bestuur", "label", "classification", "typeEredienst", "provincie"],
|
||||
reportData,
|
||||
data,
|
||||
[
|
||||
"bestuur",
|
||||
"label",
|
||||
"classification",
|
||||
"typeEredienst",
|
||||
"provincie",
|
||||
"status",
|
||||
],
|
||||
reportData,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@ export const PREFIXES = `
|
||||
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 lblodgeneriek: <https://data.lblod.info/vocabularies/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#>
|
||||
@@ -26,4 +27,5 @@ export const PREFIXES = `
|
||||
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#>
|
||||
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
|
||||
`;
|
||||
|
||||
@@ -53,6 +53,12 @@
|
||||
"target": "user",
|
||||
"cardinality": "one",
|
||||
"inverse": true
|
||||
},
|
||||
"gebruiker": {
|
||||
"predicate": "foaf:account",
|
||||
"target": "gebruikers",
|
||||
"cardinality": "one",
|
||||
"inverse": true
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/account/"
|
||||
|
||||
@@ -67,6 +67,16 @@
|
||||
"target": "organization-status-codes",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"resulting-legal-form": {
|
||||
"predicate": "code:resulterendeRechtsvorm",
|
||||
"target": "concepts",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"resulting-scope": {
|
||||
"predicate": "code:resulterendWerkingsgebied",
|
||||
"target": "locations",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"result-from": {
|
||||
"predicate": "code:veranderingsgebeurtenisResultaat",
|
||||
"target": "change-events",
|
||||
|
||||
165
config/resources/chat-domain.json
Normal file
165
config/resources/chat-domain.json
Normal file
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"version": "0.1",
|
||||
"prefixes": {
|
||||
"sioc": "http://rdfs.org/sioc/ns#",
|
||||
"sioct": "http://rdfs.org/sioc/types#",
|
||||
"as": "https://www.w3.org/ns/activitystreams#",
|
||||
"dct": "http://purl.org/dc/terms/",
|
||||
"foaf": "http://xmlns.com/foaf/0.1/",
|
||||
"mu": "http://mu.semte.ch/vocabularies/core/",
|
||||
"prov": "http://www.w3.org/ns/prov#",
|
||||
"org": "http://www.w3.org/ns/org#",
|
||||
"besluit": "http://data.vlaanderen.be/ns/besluit#",
|
||||
"skos": "http://www.w3.org/2004/02/skos/core#",
|
||||
"code": "http://lblod.data.gift/vocabularies/organisatie/"
|
||||
},
|
||||
"resources": {
|
||||
"gebruikers": {
|
||||
"class": "foaf:Person",
|
||||
"attributes": {
|
||||
"voornaam": {
|
||||
"type": "string",
|
||||
"predicate": "foaf:firstName"
|
||||
},
|
||||
"achternaam": {
|
||||
"type": "string",
|
||||
"predicate": "foaf:familyName"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"account": {
|
||||
"predicate": "foaf:account",
|
||||
"target": "account",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"bestuurseenheden": {
|
||||
"predicate": "foaf:member",
|
||||
"target": "bestuurseenheden",
|
||||
"cardinality": "many"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/gebruiker/"
|
||||
},
|
||||
"bestuurseenheden": {
|
||||
"class": "besluit:Bestuurseenheid",
|
||||
"attributes": {
|
||||
"naam": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"classificatie": {
|
||||
"predicate": "org:classification",
|
||||
"target": "bestuurseenheid-classificatie-codes",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/bestuurseenheden/"
|
||||
},
|
||||
"bestuurseenheid-classificatie-codes": {
|
||||
"class": "code:BestuurseenheidClassificatieCode",
|
||||
"attributes": {
|
||||
"label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
},
|
||||
"scope-note": {
|
||||
"type": "string",
|
||||
"predicate": "skos:scopeNote"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/"
|
||||
},
|
||||
"chat-conversations": {
|
||||
"name": "chat-conversation",
|
||||
"class": "sioc:Thread",
|
||||
"attributes": {
|
||||
"title": {
|
||||
"type": "string",
|
||||
"predicate": "dct:title"
|
||||
},
|
||||
"created": {
|
||||
"type": "datetime",
|
||||
"predicate": "dct:created"
|
||||
},
|
||||
"last-activity": {
|
||||
"type": "datetime",
|
||||
"predicate": "sioc:last_activity_date"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"creator": {
|
||||
"predicate": "foaf:maker",
|
||||
"target": "gebruikers",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"messages": {
|
||||
"predicate": "sioc:has_container",
|
||||
"target": "chat-message",
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/chat-conversations/"
|
||||
},
|
||||
"chat-messages": {
|
||||
"name": "chat-message",
|
||||
"class": "sioc:Post",
|
||||
"attributes": {
|
||||
"content": {
|
||||
"type": "string",
|
||||
"predicate": "sioc:content"
|
||||
},
|
||||
"created": {
|
||||
"type": "datetime",
|
||||
"predicate": "dct:created"
|
||||
},
|
||||
"maker": {
|
||||
"type": "uri",
|
||||
"predicate": "foaf:maker"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"conversation": {
|
||||
"predicate": "sioc:has_container",
|
||||
"target": "chat-conversation",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"attachments": {
|
||||
"predicate": "as:attachment",
|
||||
"target": "file",
|
||||
"cardinality": "many"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/chat-messages/"
|
||||
},
|
||||
"chat-instant-messages": {
|
||||
"name": "chat-instant-message",
|
||||
"class": "sioct:InstantMessage",
|
||||
"super": ["chat-message"],
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/chat-messages/"
|
||||
},
|
||||
"chat-agents": {
|
||||
"class": "prov:SoftwareAgent",
|
||||
"attributes": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"predicate": "foaf:name"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"predicate": "dct:description"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/chat-agents/"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,11 @@
|
||||
"geo": "http://www.opengis.net/ont/geosparql#",
|
||||
"nacebel": "http://data.gift/vocabularies/nace-bel/",
|
||||
"time": "http://www.w3.org/2006/time#",
|
||||
"muAccount": "http://mu.semte.ch/vocabularies/account/"
|
||||
"muAccount": "http://mu.semte.ch/vocabularies/account/",
|
||||
"sh": "http://www.w3.org/ns/shacl#",
|
||||
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
|
||||
"owl": "http://www.w3.org/2002/07/owl#",
|
||||
"task": "http://redpencil.data.gift/vocabularies/tasks/"
|
||||
},
|
||||
"resources": {
|
||||
"agents": {
|
||||
@@ -65,9 +69,30 @@
|
||||
"first-name-used": {
|
||||
"type": "string",
|
||||
"predicate": "persoon:gebruikteVoornaam"
|
||||
},
|
||||
"harvest-source": {
|
||||
"type": "string",
|
||||
"predicate": "prov:wasGeneratedBy"
|
||||
},
|
||||
"harvest-original-uri": {
|
||||
"type": "uri",
|
||||
"predicate": "owl:sameAs"
|
||||
},
|
||||
"harvest-date": {
|
||||
"type": "datetime",
|
||||
"predicate": "task:modifiedOn"
|
||||
},
|
||||
"harvest-job": {
|
||||
"type": "uri",
|
||||
"predicate": "task:modifiedBy"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"vendor": {
|
||||
"predicate": "prov:wasAssociatedWith",
|
||||
"target": "vendors",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"mandatories": {
|
||||
"predicate": "mandaat:isBestuurlijkeAliasVan",
|
||||
"target": "mandatories",
|
||||
@@ -100,9 +125,34 @@
|
||||
"agent-end-date": {
|
||||
"type": "datetime",
|
||||
"predicate": "ch:eindedatum"
|
||||
},
|
||||
"harvest-source": {
|
||||
"type": "string",
|
||||
"predicate": "prov:wasGeneratedBy"
|
||||
},
|
||||
"harvest-original-uri": {
|
||||
"type": "uri",
|
||||
"predicate": "owl:sameAs"
|
||||
},
|
||||
"harvest-date": {
|
||||
"type": "datetime",
|
||||
"predicate": "task:modifiedOn"
|
||||
},
|
||||
"harvest-job": {
|
||||
"type": "uri",
|
||||
"predicate": "task:modifiedBy"
|
||||
},
|
||||
"harvestLink": {
|
||||
"type": "uri",
|
||||
"predicate": "rdfs:seeAlso"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"vendor": {
|
||||
"predicate": "prov:wasAssociatedWith",
|
||||
"target": "vendors",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"person": {
|
||||
"predicate": "org:heldBy",
|
||||
"target": "people",
|
||||
@@ -196,9 +246,30 @@
|
||||
"reason-stopped": {
|
||||
"type": "string",
|
||||
"predicate": "ere:redenVanStopzetting"
|
||||
},
|
||||
"harvest-source": {
|
||||
"type": "string",
|
||||
"predicate": "prov:wasGeneratedBy"
|
||||
},
|
||||
"harvest-original-uri": {
|
||||
"type": "uri",
|
||||
"predicate": "owl:sameAs"
|
||||
},
|
||||
"harvest-date": {
|
||||
"type": "datetime",
|
||||
"predicate": "task:modifiedOn"
|
||||
},
|
||||
"harvest-job": {
|
||||
"type": "uri",
|
||||
"predicate": "task:modifiedBy"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"vendor": {
|
||||
"predicate": "prov:wasAssociatedWith",
|
||||
"target": "vendors",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"type-half": {
|
||||
"predicate": "ere:typeHelft",
|
||||
"target": "half-elections",
|
||||
@@ -239,9 +310,30 @@
|
||||
"type": {
|
||||
"type": "string",
|
||||
"predicate": "schema:contactType"
|
||||
},
|
||||
"harvest-source": {
|
||||
"type": "string",
|
||||
"predicate": "prov:wasGeneratedBy"
|
||||
},
|
||||
"harvest-original-uri": {
|
||||
"type": "uri",
|
||||
"predicate": "owl:sameAs"
|
||||
},
|
||||
"harvest-date": {
|
||||
"type": "datetime",
|
||||
"predicate": "task:modifiedOn"
|
||||
},
|
||||
"harvest-job": {
|
||||
"type": "uri",
|
||||
"predicate": "task:modifiedBy"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"vendor": {
|
||||
"predicate": "prov:wasAssociatedWith",
|
||||
"target": "vendors",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"contact-address": {
|
||||
"predicate": "locn:address",
|
||||
"target": "addresses",
|
||||
@@ -404,6 +496,21 @@
|
||||
"target": "organization-classification-codes",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"legal-form": {
|
||||
"predicate": "organisatie:rechtsvorm",
|
||||
"target": "concepts",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"content-themes": {
|
||||
"predicate": "code:inhoudelijkThema",
|
||||
"target": "concepts",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"additional-qualifications": {
|
||||
"predicate": "code:bijkomendeKwalificatie",
|
||||
"target": "additional-qualification-codes",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"identifiers": {
|
||||
"predicate": "adms:identifier",
|
||||
"target": "identifiers",
|
||||
@@ -521,6 +628,13 @@
|
||||
"registered-organizations": {
|
||||
"class": "regorg:RegisteredOrganization",
|
||||
"super": ["organizations"],
|
||||
"relationships": {
|
||||
"scope": {
|
||||
"predicate": "dc_terms:spatial",
|
||||
"target": "locations",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/geregistreerdeOrganisaties/"
|
||||
},
|
||||
"organization-classification-codes": {
|
||||
@@ -529,6 +643,10 @@
|
||||
"label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
},
|
||||
"alt-label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:altLabel"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.vlaanderen.be/id/concept/OrganizationClassificationCode/"
|
||||
@@ -581,6 +699,7 @@
|
||||
"cardinality": "many"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/vendors/"
|
||||
},
|
||||
"worship-services": {
|
||||
@@ -824,9 +943,30 @@
|
||||
"address-register-uri": {
|
||||
"type": "url",
|
||||
"predicate": "adres:verwijstNaar"
|
||||
},
|
||||
"harvest-source": {
|
||||
"type": "string",
|
||||
"predicate": "prov:wasGeneratedBy"
|
||||
},
|
||||
"harvest-original-uri": {
|
||||
"type": "uri",
|
||||
"predicate": "owl:sameAs"
|
||||
},
|
||||
"harvest-date": {
|
||||
"type": "datetime",
|
||||
"predicate": "task:modifiedOn"
|
||||
},
|
||||
"harvest-job": {
|
||||
"type": "uri",
|
||||
"predicate": "task:modifiedBy"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"vendor": {
|
||||
"predicate": "prov:wasAssociatedWith",
|
||||
"target": "vendors",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"source": {
|
||||
"predicate": "dc_terms:source",
|
||||
"target": "concepts",
|
||||
@@ -938,10 +1078,47 @@
|
||||
"alt-label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:altLabel"
|
||||
},
|
||||
"order": {
|
||||
"type": "number",
|
||||
"predicate": "sh:order"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"in-scheme": {
|
||||
"predicate": "skos:inScheme",
|
||||
"target": "concept-schemes",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"additional-qualification-codes": {
|
||||
"class": "code:BijkomendeKwalificatieCode",
|
||||
"super": ["concepts"],
|
||||
"attributes": {
|
||||
"legal-basis": {
|
||||
"type": "string",
|
||||
"predicate": "code:rechtsgrond"
|
||||
},
|
||||
"definition": {
|
||||
"type": "string",
|
||||
"predicate": "skos:definition"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"concept-schemes": {
|
||||
"class": "skos:ConceptScheme",
|
||||
"attributes": {
|
||||
"label": {
|
||||
"type": "string",
|
||||
"predicate": "skos:prefLabel"
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.vlaanderen.be/id/conceptscheme/"
|
||||
},
|
||||
"organization-status-codes": {
|
||||
"class": "code:OrganisatieStatusCode",
|
||||
"attributes": {
|
||||
@@ -1106,6 +1283,13 @@
|
||||
"predicate": "skos:prefLabel"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"applicable-statuses": {
|
||||
"predicate": "ere:vanToepassingBijStatus",
|
||||
"target": "organization-status-codes",
|
||||
"cardinality": "many"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://lblod.data.gift/concepts/"
|
||||
},
|
||||
"financing-codes": {
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
|
||||
(read-domain-file "domain.json")
|
||||
(read-domain-file "auth.json")
|
||||
(read-domain-file "change-events.json")
|
||||
(read-domain-file "file.json")
|
||||
(read-domain-file "chat-domain.json")
|
||||
(read-domain-file "change-events.json")
|
||||
(read-domain-file "dcat.json")
|
||||
(read-domain-file "privacy-centric-service.json")
|
||||
(read-domain-file "job.json")
|
||||
|
||||
@@ -663,6 +663,10 @@
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"classification_alternative_name": [
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://www.w3.org/2004/02/skos/core#altLabel"
|
||||
],
|
||||
"status": [
|
||||
"http://www.w3.org/ns/regorg#orgStatus",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
@@ -693,6 +697,18 @@
|
||||
"http://www.w3.org/ns/adms#identifier",
|
||||
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator",
|
||||
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
|
||||
],
|
||||
"operation_area": [
|
||||
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
|
||||
"http://www.w3.org/2000/01/rdf-schema#label"
|
||||
],
|
||||
"operation_area_spatial": [
|
||||
"http://purl.org/dc/terms/spatial",
|
||||
"http://www.w3.org/2000/01/rdf-schema#label"
|
||||
],
|
||||
"vendor": [
|
||||
"^http://mu.semte.ch/vocabularies/account/canActOnBehalfOf",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
]
|
||||
},
|
||||
"mappings": {
|
||||
@@ -745,6 +761,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"classification_alternative_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -795,6 +820,27 @@
|
||||
"normalizer": "identifier_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"operation_area": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"operation_area_spatial": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"vendor": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,6 +97,8 @@ services:
|
||||
BASE_URL: "http://localhost/ldes/"
|
||||
kbo-data-sync:
|
||||
restart: "no"
|
||||
link-adressenregister-uri:
|
||||
restart: "no"
|
||||
error-alert:
|
||||
environment:
|
||||
EMAIL_FROM: 'test@example.com'
|
||||
|
||||
@@ -8,7 +8,8 @@ services:
|
||||
identifier:
|
||||
image: semtech/mu-identifier:1.10.3
|
||||
environment:
|
||||
DEFAULT_MU_AUTH_ALLOWED_GROUPS_HEADER: '[{"variables":[],"name":"public"}]'
|
||||
# It is INCREDIBLY important that the "clean" group is part of this config, DO NOT ADJUST unless you know EXACTLY what you're doing
|
||||
DEFAULT_MU_AUTH_ALLOWED_GROUPS_HEADER: '[{"variables":[],"name":"clean"}, {"variables":[],"name":"public"}]'
|
||||
SESSION_COOKIE_SECURE: "on"
|
||||
labels:
|
||||
- "logging=true"
|
||||
@@ -33,8 +34,9 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
db:
|
||||
image: semtech/mu-authorization:feature-service-roam-r1.1
|
||||
image: semtech/sparql-parser:0.0.15
|
||||
environment:
|
||||
LISP_DYNAMIC_SPACE_SIZE: 8192
|
||||
MU_SPARQL_ENDPOINT: "http://triplestore:8890/sparql"
|
||||
LOG_OUTGOING_SPARQL_QUERIES: "true"
|
||||
LOG_INCOMING_SPARQL_QUERIES: "true"
|
||||
@@ -45,6 +47,7 @@ services:
|
||||
QUERY_MAX_EXECUTION_TIME: "300000"
|
||||
volumes:
|
||||
- ./config/authorization:/config
|
||||
- ./data/authorization:/data
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
@@ -89,9 +92,10 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
resource:
|
||||
image: semtech/mu-cl-resources:1.24.0
|
||||
image: semtech/mu-cl-resources:1.27.2
|
||||
environment:
|
||||
CACHE_CLEAR_PATH: "http://cache/.mu/clear-keys"
|
||||
LISP_DYNAMIC_SPACE_SIZE: "8192" # 1GB by default, increase to 8GB on systems with a lot of data
|
||||
links:
|
||||
- db:database
|
||||
volumes:
|
||||
@@ -140,7 +144,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
login:
|
||||
image: lblod/acmidm-login-service:0.12.0
|
||||
image: lblod/acmidm-login-service:0.12.1.rc-2
|
||||
environment:
|
||||
MU_APPLICATION_AUTH_USERID_CLAIM: "vo_id"
|
||||
MU_APPLICATION_GRAPH: "http://mu.semte.ch/graphs/contacthub/accounts"
|
||||
@@ -156,7 +160,7 @@ services:
|
||||
links:
|
||||
- db:database
|
||||
login-dashboard:
|
||||
image: lblod/acmidm-login-service:0.12.0
|
||||
image: lblod/acmidm-login-service:0.12.1.rc-2
|
||||
environment:
|
||||
LOG_SINK_URL: "http://sink"
|
||||
MU_APPLICATION_AUTH_ROLE_CLAIM: "abb_organisatieportaal_rol_2d"
|
||||
@@ -212,11 +216,12 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
frontend:
|
||||
image: lblod/frontend-organization-portal:1.36.4
|
||||
image: lblod/frontend-organization-portal:1.42.0
|
||||
volumes:
|
||||
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
|
||||
environment:
|
||||
EMBER_ENABLE_EDIT_CONTACT_DATA_FEATURE: "true"
|
||||
EMBER_ENABLE_LEGAL_FORM_EDITABLE_FEATURE: "true"
|
||||
EMBER_OAUTH_API_REDIRECT_URL: "https://organisaties.abb.lblod.info/authorization/callback"
|
||||
EMBER_OAUTH_API_KEY: "677af572-2e2f-4e61-ad38-036723bb314c"
|
||||
EMBER_OAUTH_API_BASE_URL: "https://authenticatie-ti.vlaanderen.be/op/v1/auth"
|
||||
@@ -304,7 +309,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
construct-organization-relationships:
|
||||
image: lblod/construct-organization-relationships-service:1.0.3
|
||||
image: lblod/construct-organization-relationships-service:1.2.0
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
@@ -312,7 +317,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
scope-of-operation:
|
||||
image: lblod/scope-of-operation-service:0.1.1
|
||||
image: lblod/scope-of-operation-service:0.2.0
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
@@ -344,13 +349,21 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
kbo-data-sync:
|
||||
image: lblod/sync-wegwijs-organization-service:2.0.4
|
||||
image: lblod/sync-wegwijs-organization-service:2.0.5
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
link-adressenregister-uri:
|
||||
image: lblod/link-adressenregister-uri-service:0.1.1
|
||||
environment:
|
||||
MU_SPARQL_ENDPOINT: "http://triplestore:8890/sparql"
|
||||
MU_SPARQL_UPDATEPOINT: "http://triplestore:8890/sparql"
|
||||
CRON_SCHEDULE: "0 0 * * *"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
|
||||
################################################################################
|
||||
# DELTA GENERAL
|
||||
@@ -382,6 +395,8 @@ services:
|
||||
image: lblod/delta-producer-background-jobs-initiator:1.0.1
|
||||
volumes:
|
||||
- ./config/delta-producer/background-job-initiator:/config
|
||||
environment:
|
||||
JOB_TIMEOUT_MINUTES: 1380 # 23h
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
@@ -389,7 +404,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
delta-producer-publication-graph-maintainer:
|
||||
image: lblod/delta-producer-publication-graph-maintainer:1.2.2
|
||||
image: lblod/delta-producer-publication-graph-maintainer:1.4.3
|
||||
environment:
|
||||
MAX_BODY_SIZE: "50mb"
|
||||
PRETTY_PRINT_DIFF_JSON: "true"
|
||||
@@ -669,6 +684,40 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
|
||||
################################################################################
|
||||
# CHAT / NATURAL LANGUAGE REPORTS
|
||||
################################################################################
|
||||
natural-language-report:
|
||||
image: lblod/natural-language-report-service:0.2.0
|
||||
build: ../natural-language-report-service/
|
||||
volumes:
|
||||
- ./data/files:/share
|
||||
- ./config/report-profiles/:/config/profiles/
|
||||
environment:
|
||||
MU_SPARQL_ENDPOINT: "http://db:8890/sparql"
|
||||
CSV_SEPARATOR: ";"
|
||||
SUBJECT_CHUNK_SIZE: "100"
|
||||
ROW_LIMIT: "200000"
|
||||
MAX_PATH_DEPTH: "12"
|
||||
INLINE_VALUES_MAX: "50"
|
||||
VALUES_TTL: "3600"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
chat:
|
||||
image: lblod/frontend-lblod-chat:0.1.0
|
||||
build: ../frontend-lblod-chat/
|
||||
links:
|
||||
- identifier:backend
|
||||
environment:
|
||||
EMBER_ASSISTANT_PATH: "/assistant"
|
||||
EMBER_APP_NAME: "Rapportassistent"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
|
||||
###################################################################################
|
||||
# MU SCRIPTS
|
||||
# #################################################################################
|
||||
|
||||
Reference in New Issue
Block a user