Compare commits

...

789 Commits

Author SHA1 Message Date
felix
4f8babb9ae update classificatieCode representatief orgaan export 2024-11-12 13:25:57 +01:00
cecemel
644fbfaae3 Merge pull request #476 from lblod/chore/export-representatief-orgaan-classificatie-code
update RO - concept to export
2024-11-12 11:37:12 +01:00
felix
9d5d11f922 update RO - concept to epxport 2024-11-12 11:31:11 +01:00
mirdono
13c862f689 chore: bump frontend 2024-11-05 18:22:19 +01:00
cecemel
1031b78ac7 Merge pull request #475 from lblod/hotfix/export-ABB-to-public-export
Added config export to export ABB
2024-11-05 11:49:52 +01:00
cecemel
03ad3c2089 Merge pull request #474 from lblod/hotfix/export-vgc-to-public
Hotfix/export vgc to public
2024-11-05 11:48:16 +01:00
felix
f79d31e153 update migration 2024-11-05 11:36:41 +01:00
felix
023114fcab added migration to add classification 2024-11-05 11:28:06 +01:00
felix
ac0f5764df updated producer config 2024-11-05 11:27:50 +01:00
felix
dc9d060d49 Added config export to export ABB 2024-10-30 15:49:17 +01:00
felix
3eceefce12 Added VGC export 2024-10-30 15:20:18 +01:00
cecemel
f026723aee Merge pull request #473 from lblod/hotfix/fix-missing-organen
adding missing organen from original OP export
2024-10-30 14:15:17 +01:00
felix
43b5f5e7eb Update migrations 2024-10-30 10:51:35 +01:00
felix
41a497dc71 adding missing organen from original OP export 2024-10-29 13:37:25 +01:00
cecemel
39226cdf24 Merge pull request #472 from lblod/hotfix/remove-functionarissen-newly-created-organen
Removes the newly created bestuursorganen for leidinggevenden
2024-10-28 14:55:34 +01:00
felix
9b3dd7201b update migration 2024-10-28 14:50:56 +01:00
felix
5d20fee494 Removes the newly created bestuursorganen for leidinggevenden
They have another lifecycle than political mandates.
2024-10-28 13:02:22 +01:00
cecemel
4e30c155ef Merge pull request #468 from lblod/hotfix/add-enddates-bestuursorganen
Added migration to add end-dates to bestuursorganen
2024-10-28 11:52:35 +01:00
cecemel
7294052c75 Merge pull request #471 from lblod/hotfix/add-heeft-bestuursfunctie
Added missing predicate: `lblodlg:heeftBestuursfunctie`
2024-10-28 10:27:27 +01:00
cecemel
ccac93121b Merge pull request #470 from lblod/fix/produce-missing-classifications
Produce missing classifications
2024-10-28 10:27:14 +01:00
felix
58742fdf5e Added missing predicate 2024-10-28 10:24:01 +01:00
Claire Lovisa
12efbcc9fd Produce GeregistreerdeOrganisatieClassificatieCode in public producer 2024-10-25 09:25:11 +02:00
Claire Lovisa
0426f0f35e Add missing organen to public producer 2024-10-24 16:05:52 +02:00
mirdono
04298db9e5 fix: delete superfluous relations between APBs and municipalities
A number of APBs were accidentally `org:linkedTo` all municipalities in
municipality and an APB for which:
- the APB is linked to more than 1 municipality; and
- the municipality does not match that of the APB's primary site.

The first condition avoids we remove `org:linkedTo` triples for APBs that were
created by the users, as these are only linked with a single municipality.
2024-10-24 14:49:07 +02:00
felix
799999f051 updated migration 2024-10-23 13:21:01 +02:00
felix
8f8557d733 Added migration to add end-dates to bestuursorganen 2024-10-23 12:46:34 +02:00
cecemel
fc6b2d3b80 Merge pull request #466 from lblod/hotfix/bump-delta-dump-file-producer
Bump lblod/delta-producer-dump-file-publisher:0.10.3
2024-10-22 17:47:49 +02:00
felix
99f5c9fc91 dump lblod/delta-producer-dump-file-publisher:0.10.3 2024-10-22 17:46:29 +02:00
cecemel
3870dac1f8 Merge pull request #465 from lblod/hotfix/add-bestuurseenheid-to-eredienstbesturen
Ensure types and subtypes are added to EredienstBestuurseenheid
2024-10-22 12:46:12 +02:00
felix
08b0e29f20 Ensure types and subtypes are adde to EredienstBestuurseenheid 2024-10-22 12:12:10 +02:00
cecemel
76d7964e5c Merge pull request #464 from lblod/hotfix/dump-file-producer-config-should-get-data-from-publication-triple-store
DumpfilePublisher needs to fetch from publication-triplestore
2024-10-21 11:47:04 +02:00
felix
bc10af81f4 DumpfilePublisher needs to fetch from publication-triplestore 2024-10-21 11:38:17 +02:00
cecemel
14a290b82f Merge pull request #463 from lblod/hotfix/add-type-bestuurseenheid-to-centrale-besturen
Added migration to add besluit:Bestuurseenheid to centrale besturen
2024-10-18 11:29:15 +02:00
felix
ba4a4aa5da Added migration to add besluit:Bestuurseenheid to centrale besture 2024-10-18 11:20:37 +02:00
mirdono
b1cc9c7329 fix: correct governing body start dates for new legislature
Originally the starting dates for the new governing bodies for the new
legislature was set to `2025-01-01` for all relevant municipalities, OCMWs,
districts, and provinces.

These migrations change that to more correct starting dates:
* For organisations that are **not** involved in mergers the new starting data
  is `2024-12-02`, the first day installation meetings are allowed[1].
* For organisations that are involved in mergers the new starting date is
  `2025-01-01`, the first work day of the new year on which the mergers take
  effect. Note: this migration assumes there are no other start dates on
  `2025-01-01`, so the migrations have to be run in the specified order.

[1] https://www.vlaanderen.be/lokaal-bestuur/organisatie-en-werking/gemeenteraad/installatie
2024-10-17 15:16:54 +02:00
mirdono
98ed3260ed fix: remove incorrect image line 2024-10-17 12:19:54 +02:00
Achraf Atauil
5e0d47053d Small indent issue 2024-10-17 11:11:41 +02:00
cecemel
99dd506f8f Merge pull request #458 from lblod/chore/remove-latest-tags-from-docker-compose-dev
Chore/remove latest tags from docker compose dev
2024-10-15 10:49:54 +02:00
cecemel
b9695eb255 Merge branch 'master' into chore/remove-latest-tags-from-docker-compose-dev 2024-10-15 10:49:41 +02:00
cecemel
4389a743b6 Merge pull request #459 from lblod/fix/produce-bestuursfunctie
Link missing classifications to public producer concept scheme
2024-10-15 10:48:52 +02:00
cecemel
e40d85b22c Merge pull request #452 from lblod/feature/bump-delta-producers-and-move-to-publication-triplestore
Bump delta producers and move to publication triplestore
2024-10-15 10:48:36 +02:00
felix
340937bc85 Remove the :latest tag from frontend in docker-compose.dev.yml 2024-10-15 10:36:50 +02:00
felix
f08e2e3df0 changed mock-login-service to tagged version in drc.dev.yml 2024-10-15 10:36:38 +02:00
Claire Lovisa
77245adbaa Link missing classifications to public producer concept scheme 2024-10-15 10:27:46 +02:00
felix
cb0191f28b Fix syntax issue in docker-compose.dev.yml 2024-10-14 15:04:22 +02:00
felix
3f460ce329 Some uri's of JobOperations were off. Fixing it here. 2024-10-14 14:51:20 +02:00
felix
6397ce2923 Change the namse of the stream to be in line with previous 2024-10-14 14:50:54 +02:00
felix
7e0a668573 Restore the old public path, to not break clients 2024-10-14 14:50:14 +02:00
Riad Abdallah
b6dd8b4519 Fix public info stream name 2024-10-08 13:35:35 +02:00
Riad Abdallah
797d3a8d44 Fix public info stream name 2024-10-08 13:19:00 +02:00
Riad Abdallah
a98f860d3c Remove individual delta rules 2024-10-03 17:05:19 +02:00
Riad Abdallah
162a6ff654 Update dispatcher rules for the delta streams 2024-10-03 16:42:00 +02:00
Riad Abdallah
d3b40b88ea Remove individual streams from docker compose configs 2024-10-03 16:40:08 +02:00
Riad Abdallah
a7d6dcfb32 Move streams to consolidated background job initiator 2024-10-03 16:39:14 +02:00
Riad Abdallah
d4f9352c61 Move streams to consolidated publication graph maintainer 2024-10-03 16:38:57 +02:00
mirdono
0ba4a6f393 fix: let relevant producers export representative body classification
Each producer that export representative bodies should include the
classification corresponding triples. Otherwise receives might run into
problems.
2024-09-04 18:02:53 +02:00
Boris De Vloed
2e6dd74b72 export ro classifcation in other public producer too 2024-09-04 18:02:53 +02:00
Riad Abdallah
1412a767ad Merge pull request #449 from lblod/fix/remove-duplicate-uri-for-ibeg
Remove duplicate URI for IBEG
2024-09-04 13:45:55 +02:00
Riad Abdallah
e755d615fc Remove properties attached to bestuursorgaan in tijd 2024-09-04 11:30:13 +02:00
Riad Abdallah
974a966576 Remove duplicate URI for IBEG 2024-09-03 16:53:40 +02:00
mirdono
78ce1f7071 feat: mandates and functions for governing bodies legislature 2025
For each of the governing bodies created by the migrations in the previous
commit, now add the corresponding mandates and functions.

Within a organisation some governing bodies share the same mandates. For
example, for municipalities the governing body "Burgemeester" and "College van
burgemeester en schepen" both refer to the SAME instance of mandates for
"Burgemeester" and "Aangewezen burgemeester".
To achieve this the some migrations contain a second `INSERT` clause in which
the other governing body that contains the necessary mandates is selected to be
able to determine the correct mandate URI. This only works on two conditions:
1. Migrations that depend on each must be executed in the correct order. For
   example, the migration inserting the mandates for "College van burgemeester
   en schepen" must be executed after that for "Burgemeester". The former will
   reuse mandates created by the latter.
2. The UUID for the shared mandates is calculated in exactly the same way in
   migrations that depend on each other.
2024-09-02 16:44:32 +02:00
mirdono
a647c7ea69 fix: add missing governing bodies for merging OCMWs
The merged OCMWs as imported in #442 were lacking some governing bodies that are
used to relation funcations to. These migration add the missing governing
bodies for these OCMWs.
2024-09-02 16:44:32 +02:00
mirdono
8c1538d45e feat: add migrations for governing bodies 2025
These migrations create the necessary time specialised governing bodies for
municipalities, OCMWs, district and provinces for the next legislature.

The migrations work by creating a new time specialisation, with an appropriate
starting date, for each abstract governing body associated with an active
organisation. For municipalities and OCMWs some instances are explicitly
filtered, these are municipalities (OCMWs) that will be merged with another one
as of 01-01-2025 and therefore will become inactive. The listed
municipalities (OCMWs) are extracted from data provided by business.
2024-09-02 16:44:32 +02:00
mirdono
48cefe143e chore: bump frontend to latest release 2024-08-31 14:57:19 +02:00
mirdono
296f18e41c feat: add new district Borsbeek
The municipality of Borsbeek will merge with the municipality Antwerp as of
01-01-2025. This will result in a new district Borsbeek part of municipality
Antwerp.

This migration adds that new district such that a URI is assigned to it and its
governing bodies are created. The information available at this time is limited
its (legal) name. Other core data, such as identifiers, and further information
such as site addresses will be added later by business.
2024-08-29 12:43:43 +00:00
Boris De Vloed
51dce798bc Merge pull request #446 from lblod/hotfix/ro-classification-public-producer
export representative organ classification
2024-08-27 16:29:39 +02:00
Boris De Vloed
63979c19ab export representative organ classification 2024-08-27 16:03:12 +02:00
mirdono
5da229f198 chore: bump frontend version 2024-08-27 12:47:12 +02:00
mirdono
da5c9fb35b chore: bump frontend to new pre-release 2024-08-26 12:49:47 +02:00
mirdono
53f8de39eb chore: bump frontend 2024-08-26 12:38:50 +02:00
Laurent Deketelaere
d570e94f22 feat: Remove CLB data from the producer 2024-08-26 10:32:25 +00:00
mirdono
c9af936b43 fix: user INSERT DATA instead of INSERT where appropriate 2024-08-26 10:31:49 +00:00
mirdono
b9348a5076 fix: relate sharepoint with organisations and ensure unique prefixes
- The previous version of the migrations lacked the triple actually linking the
  new organisations with the placeholder for SharePoint identifier. This triple
  was now added.
- Ensure the timestamp prefixes are unique by adding 1 second delay in between
  generating each migration.
2024-08-26 10:31:49 +00:00
mirdono
429072dd18 feat: add new merged municipalities and OCMWs
As part of the municipality mergers for 2025, four new municipalities and their
corresponding OCMWs will have new KBO numbers. Consequently, these organizations
need to be fully manually created.

This commit adds the migrations to import the organisations for the merged
municipalities and OCMWs such that their URIs can already be shared among
applications.

The currently imported data concerns:
- core data such as (legal) name, region, status, KBO, and OVO number
- the necessary governing bodies, with as starting date 2025-01-01

The NIS-codes (and associated data) will be added in future migrations when the
NIS2025 update has been released.

Other missing data, such as addresses and contact details, will be added later
on by business.
2024-08-26 10:31:49 +00:00
mirdono
fdd83c93bb feat: migration to import actual VGC
The Vlaamse Gemeenschapscommissie is a special kind of administrative unit, with
its own specific classification code (which was added in a previous commit). The
core data, address, and contact information was provided by the business.

Note: currently the province in the address is intentionally left empty. This
data will be provided (or entered) later by business.
2024-08-26 10:31:22 +00:00
mirdono
e0d945f960 feat: add new classification code Vlaamse gemeenschapscommissie 2024-08-26 10:31:22 +00:00
Boris De Vloed
2478d1dc06 Merge pull request #441 from lblod/hotfix/bump-old-producers
Bump old producers, from 0.15.4 -> 0.15.5
2024-08-23 11:02:14 +02:00
felix
543ce252f8 Bump old producers, from 0.15.4 -> 0.15.5
There was an issue with the old producers not taking into account all
graph filters, thereby exporting sometimes too many triples.

Note: please consider moving these old producers to the latest
one. (It should be a matter of shuffling config around)
2024-08-18 18:51:02 +02:00
Laurent Deketelaere
bc98cf12f9 chore: bump kalliope-api to 2.0.0 2024-07-19 17:10:48 +00:00
mirdono
bfb02afcdf feat: import legal and alternative names for worship services 2024-07-18 14:47:49 +00:00
mirdono
4602842e99 fix: combine merger change events
- add the missing original organisation and matching change event result to one
  merger change event
- remove the superfluous merger change event, except for its reused change event
  result
2024-07-18 13:48:35 +00:00
mirdono
bbcc6928e7 chore: bump frontend 2024-06-24 17:20:13 +02:00
mirdono
399387e301 chore: bump frontend 2024-06-21 18:22:40 +02:00
mirdono
07687f5e35 Merge branch 'master' into development 2024-06-21 18:06:39 +02:00
mirdono
11508cf310 fix: added migration to import the participating municipalities
The original migration to import the participants for public OCMW associations
contained a bug causing it to not match municipalities. More specifically:
- the type triple for municipalities is located in the `shared` graph;
- consequently the `FILTER EXISTS` statements to limit matches to administrative
  units could not succeed for municipalities as the queries are limited to the
  `administrative-unit` graph.

This new migration fixes this problem by changing the `FILTER EXISTS` into a
`FILTER NOT EXISTS` to exclude resourses of type `ext:KboOrganisatie`.
2024-06-21 09:40:50 +00:00
mirdono
43cf1fd323 chore: removed unneeded migration
With the addition of the migration removing relations with `ext:KboOrganisatie`
resources this migration becomes unnecessary.
2024-06-21 09:40:50 +00:00
mirdono
a6b7321cf0 fix: remove org:memberOf triples with KBO organizations as object
The migration importing related organizations for public OCMW associations was
incorrect in that it did not exclude resources of type `ext:KboOrganisatie`
being matched. This migration removes all incorrectly inserted triples.
2024-06-19 13:41:03 +00:00
mirdono
d88adeee15 chore: bump construct-organization-relationship-service 2024-06-14 13:18:58 +00:00
mirdono
155162eb45 feat: added classification code for associations and corporations 2024-06-14 13:18:58 +00:00
mirdono
592b728611 Merge branch 'master' into development 2024-06-12 11:13:20 +02:00
mirdono
0ab1b278d5 chore: bump frontend 2024-06-12 11:04:03 +02:00
mirdono
f562d711f9 fix: corrected typo in search configuration 2024-06-10 14:17:09 +02:00
mirdono
1420b1a3e8 Merge branch 'development' 2024-06-10 12:33:17 +02:00
mirdono
b9fabc764f chore: bump frontend 2024-06-10 12:30:14 +02:00
Laurent Deketelaere
9db9d86609 Merge pull request #433 from lblod/fix/disable-kbo-organizations-cache
Disable cache on `/kbo-organizations/*`
2024-06-07 12:23:55 +02:00
Laurent Deketelaere
826a9cdf08 fix: Disable cache on /kbo-organizations/* 2024-06-07 11:39:55 +02:00
Laurent Deketelaere
d57eb0c20c Merge pull request #432 from lblod/fix/cache-organizations-route
Fix cache organizations route
2024-06-07 10:08:51 +02:00
Laurent Deketelaere
e6111fffff feat: Enable cache on domaine doutes 2024-06-06 15:40:20 +02:00
Laurent Deketelaere
cdb9bdb803 chore: Bump mu-cl-resources to 1.24.0 2024-06-06 15:31:51 +02:00
Laurent Deketelaere
73492d0217 Merge branch 'master' into development 2024-06-06 10:19:51 +02:00
Laurent Deketelaere
bc9e827703 Merge pull request #431 from lblod/fix/delete-duplicate-organization-identifier
Delete duplicate identifier on organization
2024-06-06 08:57:37 +02:00
Laurent Deketelaere
800924db2e chore: Bump frontend to pre-release v1.24.0 2024-06-05 18:24:18 +02:00
Laurent Deketelaere
97361f7f48 fix: Add migration to delete duplicate identifier 2024-06-05 08:38:22 +02:00
Laurent Deketelaere
5bbd9a9d69 chore: Bump frontend to pre-release v1.24.0-4 2024-06-04 12:20:10 +02:00
Laurent Deketelaere
4435c1d544 Merge pull request #430 from lblod/fix/correct-agb-addresses-and-contact-data
Remove faulty address and contact data for AGBs
2024-06-04 12:14:57 +02:00
mirdono
714994bc3c fix: remove faulty contact data for some AGBs
The migrations importing the public OCMW association's contact data contained a
faulty query that matched on empty KBO numbers. As a result contact data was
incorrectly inserted to some AGBs that also do not have a KBO number. This
migration removes the incorrect data.
2024-06-03 16:07:52 +02:00
mirdono
74a0c92b31 fix: remove faulty address data for some AGBs
The migrations importing the public OCMW association's address data contained a
faulty query that matched on empty KBO numbers. As a result address data was
incorrectly inserted to some AGBs that also do not have a KBO number.

This migration removes the incorrect data, which as inserted into the
triplestore next to actual address. Furthermore, this also (re-)inserts the
correct provinces for the affected AGBs.
2024-06-03 14:55:12 +02:00
mirdono
a9e9e761c0 chore: removed faulty queries from migration
Removed incorrect queries that match on empty KBO numbers. This is to avoid the
same incorrect data being imported in case the migration is executed again at
some point.
2024-06-03 13:27:13 +02:00
mirdono
e76f9c1a2e chore: bumped relationship service version 2024-06-03 07:48:41 +00:00
mirdono
3938191666 refactor: updated docker compose to new service name 2024-06-03 07:48:41 +00:00
mirdono
681fa0ce0a refactor: updated dispatcher to new service name 2024-06-03 07:48:41 +00:00
mirdono
b4b599d091 feat: add recently onboarded organisations to producers
* `organizations` and `organizations-public-info`
- Add the new type of registered organisations to the export configuration

* `public`
- Use a migration to add the classification codes of all recently onboarded
  classes of organisations to the `concept-scheme` used by the producer. These
  were not added during the initial onboarding:
  This includes:
  + public OCMW associations
    - Welzijnsvereniging
    - Autonome verzorgingsinstelling
  + private OCMW associations
    - Ziekenhuisvereniging
    - Vereniging of vennootschap voor sociale dienstverlening
    - Woonzorgvereniging of woonzorgvennootschap
  + PEVAs
    - PEVA gemeente
    - PEVA province
- Add the new type of registered organisations to the export configuration
2024-05-24 14:56:32 +00:00
mirdono
fd0a417ad1 fix: exclude KBO organisations as participants
The initial version of the migration to import related organisations only
matched based on KBO numbers. This risks including resources from the type
`ext:KboOrganisatie` as participants. The migration was regenerated including an
additional `FILTER` to exclude organisations of that type from matching.
2024-05-24 14:56:32 +00:00
mirdono
cd2ee5bea3 feat: added participants for private OCMW associations 2024-05-24 14:56:32 +00:00
mirdono
a94bb7f7e2 fix: regenerated migrations after business data update 2024-05-24 14:56:32 +00:00
mirdono
b9be63f193 fix: corrected the provinces in the address import 2024-05-24 14:56:32 +00:00
mirdono
4b45093572 feat: import contact details for private ocmw associations 2024-05-24 14:56:32 +00:00
mirdono
6c7e5428dc feat: import addresses for private ocmw associations 2024-05-24 14:56:32 +00:00
mirdono
29f0b3e9a1 feat: import core data for private ocmw associations 2024-05-24 14:56:32 +00:00
mirdono
a3dff637e3 fix: exclude KBO organisations as participants
The initial version of the migration to import related organisations only
matched based on KBO numbers. This risks including resources from the type
`ext:KboOrganisatie` as participants. The migration was regenerated including an
additional `FILTER` to exclude organisations of that type from matching.
2024-05-24 14:52:46 +00:00
mirdono
71b21e4716 feat: added participants for private OCMW associations 2024-05-24 14:52:46 +00:00
mirdono
d49ebea0bd fix: regenerated migrations after business data update 2024-05-24 14:52:46 +00:00
mirdono
d35b9fc3a1 fix: corrected the provinces in the address import 2024-05-24 14:52:46 +00:00
mirdono
80a503c132 feat: import contact details for private ocmw associations 2024-05-24 14:52:46 +00:00
mirdono
a0400563da feat: import addresses for private ocmw associations 2024-05-24 14:52:46 +00:00
mirdono
369a2ad483 feat: import core data for private ocmw associations 2024-05-24 14:52:46 +00:00
Laurent Deketelaere
50c03a2205 chore: Bump frontend to pre-release v1.24.0-2 2024-05-24 12:38:14 +02:00
Laurent Deketelaere
2c7fa2d69e Merge pull request #427 from lblod/remove-sync-ovo-number-path
Remove obsolete kbo-data-sync endpoint
2024-05-23 15:37:23 +02:00
Laurent Deketelaere
66c3703f22 refactor: Remove obsolete kbo-data-sync endpoint 2024-05-23 11:28:31 +02:00
mirdono
660c9b6848 fix: exclude KBO organisations as participants
The initial version of these migrations were defined too broadly. Since they
only matched on KBO numbers they also included the KBO organisations, imported
from wegwijs, adding them as participants.

This commit adds extra checks to exclude KBO organisations from being added as a
participant for a public OCMW association. Furthermore, the main migration is
split into two parts to work around an error otherwise encountered when
executing the migration as a single whole.
2024-05-22 12:29:06 +00:00
mirdono
bf77794d08 fix: removed faulty trailing comma 2024-05-22 12:22:50 +00:00
mirdono
994c26b58d feat: added paths for registered organizations 2024-05-22 12:22:50 +00:00
mirdono
dd3cbc16e8 feat: added registered organization classification codes 2024-05-22 12:22:50 +00:00
mirdono
89435073c7 feat: include registered organizations in search index 2024-05-22 12:22:50 +00:00
mirdono
5ff3f5b121 feat: added registered organizations to resources service 2024-05-22 12:22:50 +00:00
mirdono
288bf42aa3 feat: import participants for public OCMW associations 2024-05-22 07:39:49 +00:00
mirdono
178f5c17e6 refactor: dispatch requests on organization path to resources service
Forwarding requests on the organizations path to the cache leads to issues were
changes that the user just made are not shown. For example, when adding a
related organization the newly added organization would not show up in the list
unless the cache was restarted.
2024-05-16 15:03:54 +00:00
mirdono
d28cb221da refactor: renamed units index to organizations
Soon we want to introduce (additional) non-administrative unit
organizations. This renaming makes it more clear this index is not limited to
administrative units, both here as where it is used in the frontend. Note,
technically the 'units' name was already incorrect as a 'Representatief orgaan'
is not an administrative unit.
2024-05-16 15:03:54 +00:00
mirdono
8423d24230 refactor: moved classification relation to organization 2024-05-16 15:03:54 +00:00
Laurent Deketelaere
842e9f7205 chore: Bump frontend to per-release v1.24.0-0 2024-05-16 10:06:09 +02:00
Laurent Deketelaere
c562698edf Merge pull request #422 from lblod/fix/sync-wegwijs-api
Fix kbo-data-sync rewrite all `fullAddress` and override `sameAs`
2024-05-03 09:35:40 +02:00
Laurent Deketelaere
a7708255f9 fix: kbo-data-sync rewrite all fullAddress and override sameAs
- Bump `sync-wegwijs-organization-service` to v2.0.2
- Stop using v0.1.0 when feature flag off on frontend
2024-05-02 22:18:26 +02:00
YJouhar47
697fd814fc add site to representative organs 2024-05-02 10:14:16 +00:00
mirdono
f30fcfda22 fix: remove dangling change event results
The change events related to an organisation contains some data errors:
- There is a change event result without any corresponding change event. This
  causes an error when visiting the change events page for this organisation.
- There are two identical change event results for the same change event. This
  causes the change event to be shown twice in the table. (Only on PROD)

The added migration removes these unnecessary elements change event results.
2024-05-02 07:39:50 +00:00
Laurent Deketelaere
26d5a23a3c Merge pull request #417 from lblod/fix/adminitrative-unit-dump-publisher
Fix prefLabel missing in Kalliope dump after edition
2024-04-29 14:40:43 +02:00
Laurent Deketelaere
e7129dc41d chore: Clear producer organizations graph from main triplestore 2024-04-29 11:08:13 +02:00
Laurent Deketelaere
b5b8df6610 chore: Bump delta-producer-publication-graph-maintainer to v1.1.1-rc.1 2024-04-26 13:22:15 +02:00
Dachamelemon
0616d24ad0 Merge pull request #419 from lblod/fix/change-event-date-update-migration
fix/change-event-date-update-migration
2024-04-26 10:23:20 +02:00
Laurent Deketelaere
94baeb539f chore: Bump delta-producer-publication-graph-maintainer to 1.0.9-rc2 + enable other producers 2024-04-25 16:10:28 +02:00
Elias Papanikitas
007b0a35ee removed references to administrative units 2024-04-25 10:47:35 +02:00
Elias Papanikitas
131ecd4f1e fixed migraition 2024-04-24 14:41:29 +02:00
Oscar Rodriguez Villalobos
c260c5c3df Merge pull request #416 from lblod/feat/consumer-perfomance-improvements
avoid inserting duplicate triples to the database
2024-04-23 15:56:57 +02:00
Laurent Deketelaere
723527fb62 chore: Disable more 2024-04-23 13:08:58 +02:00
Laurent Deketelaere
fc4fcfddf8 chore: Bum delta-producer organizations to v1.0.8 + disabled not need for testing purpose 2024-04-23 13:07:08 +02:00
Oscar
449204a9d1 avoid inserting duplicate triples to the database 2024-04-23 12:51:04 +02:00
mirdono
4252004fc2 Merge branch 'master' into development 2024-04-23 09:36:28 +02:00
Laurent Deketelaere
730f99cf2b Merge pull request #415 from lblod/fix/add-missing-prefix-reasoner
fix: add missing prefix
2024-04-22 19:58:09 +02:00
mirdono
6223301f6f fix: add missing prefix 2024-04-22 17:50:57 +02:00
Oscar Rodriguez Villalobos
09d499fc01 Merge pull request #414 from lblod/bug/fix-shared-graph-edge-case
Fix consumer problem with admin units in shared graph
2024-04-18 14:53:58 +02:00
Oscar Rodriguez Villalobos
6ef0386a2b Add clarifying comment 2024-04-18 09:43:42 +02:00
Oscar Rodriguez Villalobos
4edfd3d08a Fix consumer problem with admin units in shared graph 2024-04-17 13:10:46 +02:00
Dachamelemon
410377d3e5 Merge pull request #410 from lblod/improvement/update-change-event-dates
Improvement/update change event dates
2024-04-17 11:26:21 +02:00
Elias Papanikitas
6305343672 Merge branch 'development' into improvement/update-change-event-dates 2024-04-17 11:24:25 +02:00
Elias Papanikitas
1a0987afeb removed 2 migrations that snuck in by accident 2024-04-17 10:37:02 +02:00
Dachamelemon
30504c9135 Merge pull request #413 from lblod/enhancement/remove-empty-literals
Enhancement/remove empty literals
2024-04-17 10:06:19 +02:00
Alexander van den Berghe
cdf6f8f75f Merge pull request #412 from lblod/fix/correct-representative-body-classification-code-type
Fix: corrected type for representative body classification code to match resources configuration
2024-04-15 14:18:00 +00:00
Elias Papanikitas
976b2b02df Merge branch 'development' into enhancement/remove-empty-literals 2024-04-15 11:53:42 +02:00
Elias Papanikitas
95e737873a removed migration for empty URIs 2024-04-15 11:52:42 +02:00
mirdono
48b5a82fda fix: correct type for classification to match resource configuration 2024-04-15 11:21:02 +02:00
Oscar Rodriguez Villalobos
3b6b6d6b21 Merge pull request #383 from lblod/feat/clb-consumer
Feat/clb consumer
2024-04-12 10:59:37 +02:00
Laurent Deketelaere
4691a18407 Merge pull request #411 from lblod/bump-sync-wegwijs-organization-service
Bump sync-wegwijs-organization-service to v2.0.0
2024-04-11 19:56:06 +02:00
Laurent Deketelaere
43523ec37d chore: Bump sync-wegwijs-organization-service to v2.0.0 2024-04-11 18:11:36 +02:00
mirdono
f4bd10fa46 Merge branch 'master' into development 2024-04-11 17:43:12 +02:00
mirdono
df5d249246 chore: frontend bump 2024-04-11 17:38:07 +02:00
Oscar
9e3f365ee3 fixed bug with object not present in triggering triple 2024-04-11 14:03:48 +02:00
Oscar
41f5b74b8f revert to old version 2024-04-11 14:03:48 +02:00
Oscar
188d7f0e18 Fix bugs (not tested) 2024-04-11 14:03:47 +02:00
Oscar
3052bf8315 fix bug site and primary site was not being added to the correct graph 2024-04-11 14:03:47 +02:00
Oscar
c34ff82125 changed default landing zone graph 2024-04-11 14:03:47 +02:00
Oscar
c483546709 improve readability of the code 2024-04-11 14:03:47 +02:00
Oscar
ce93e787e6 typo cleanup and update consumer 2024-04-11 14:03:47 +02:00
Oscar
c0e802d1f3 Remove unused graph bindings 2024-04-11 14:03:47 +02:00
Oscar
0b1d8f3b12 avoid code between function and documentation 2024-04-11 14:03:47 +02:00
Oscar
1bf7b59905 Delete target graph as it's not used 2024-04-11 14:03:47 +02:00
Oscar
02b0e825f1 bug fixes 2024-04-11 14:03:47 +02:00
Oscar Rodriguez Villalobos
d569d15360 bug fixes 2024-04-11 14:03:47 +02:00
Oscar Rodriguez Villalobos
64044b2ce0 Added first version of the clb consumer 2024-04-11 14:03:47 +02:00
Elias Papanikitas
c0fad917f1 leave out structured identifiers from deletion 2024-04-11 12:38:22 +02:00
Elias Papanikitas
857919804d used regex for filtering empty literals 2024-04-11 10:22:07 +02:00
mirdono
a12293e460 Merge branch 'master' into development 2024-04-10 16:22:59 +02:00
mirdono
0ad11a2289 chore: bump frontend 2024-04-10 16:18:02 +02:00
Elias Papanikitas
ea83f49a0f updated dates for change events 2024-04-10 11:04:24 +02:00
Elias Papanikitas
27f240f25c removed empty literals and uris 2024-04-09 09:49:41 +02:00
mirdono
ed28ca6983 Merge branch 'master' into development 2024-04-08 13:48:59 +02:00
mirdono
6b89b32e99 chore: bump frontend 2024-04-08 13:45:34 +02:00
mirdono
c7650d6379 Merge branch 'master' into development 2024-04-05 16:16:11 +02:00
mirdono
8e090ca872 chore: bump frontend 2024-04-05 16:03:37 +02:00
Oscar Rodriguez Villalobos
2e4c0702a6 Merge pull request #406 from lblod/feat/add-legal-and-alternative-names
Add legal and alternative names to producer
2024-04-04 15:35:30 +02:00
mirdono
53c5bd1275 feat: export legal and alternative names via producers 2024-04-04 13:31:18 +00:00
Oscar Rodriguez Villalobos
675a984cc4 alt label was already present 2024-04-04 14:54:28 +02:00
Laurent Deketelaere
dc842b7c6b Merge branch 'master' into development 2024-04-04 11:59:00 +02:00
Laurent Deketelaere
e507c31a3d Merge pull request #407 from lblod/hotfix/1.23.1-1
Update adressenregister to use basisregisters adressen V2 API
2024-04-04 11:51:39 +02:00
Laurent Deketelaere
a966e25832 fix: Update adressenregister to use basisregisters adressen V2 API 2024-04-04 11:50:08 +02:00
Oscar Rodriguez Villalobos
9367256717 Add legal and alternative names to producer 2024-04-04 10:35:14 +02:00
Laurent Deketelaere
aa6b9c803b Merge pull request #405 from lblod/fix-reset-elastic-permission
Add execute permission on `scripts/reset-elastic.sh`
2024-04-03 15:38:54 +02:00
Laurent Deketelaere
0fd50697f6 chore: Add execute permission 2024-04-03 15:35:19 +02:00
mirdono
a8607f9c1a fix: remove empty alternative names for administrative units 2024-04-03 11:57:46 +00:00
Laurent Deketelaere
e97e0d3477 Merge pull request #391 from lblod/delta-producer-organisations-add-administrative-unit
Add administrative-unit in delta-producer/organisations
2024-04-02 13:47:52 +02:00
Laurent Deketelaere
8326d02d3c feat: Add Location in delta-producer/organisations
related to OP-3128
2024-04-02 10:55:17 +02:00
Laurent Deketelaere
b9911887c2 feat: Add page in organization ContactPoint export 2024-04-02 10:55:17 +02:00
Laurent Deketelaere
8a1c6323c0 Add administrative-unit in delta-producer/organisations 2024-04-02 10:55:17 +02:00
Dachamelemon
bff78b12d6 Merge pull request #375 from lblod/feat/wegwijs-service-integration
Feat/wegwijs service integration
2024-04-02 10:22:36 +02:00
Laurent Deketelaere
ec749c81dd Merge pull request #403 from lblod/hotfix/ws-consumer-tweaks
bump + tweaked ingestion blobs to smaller amounts
2024-04-02 10:16:08 +02:00
mirdono
aa7ce23a85 chore: bumped consumers to latest version 2024-04-02 08:10:18 +00:00
mirdono
0592e10a8c chore: bump mu-search version 2024-04-02 08:08:48 +00:00
felix
c24f56c7cb bump + tweaked ingestion blobs to smaller amounts
to make it more digestable for OP (+ search)
2024-04-02 10:01:10 +02:00
Laurent Deketelaere
69fa0b5d8b chore: Bump frontend to v1.23.0 2024-04-02 09:43:35 +02:00
Laurent Deketelaere
f07c1a561b Merge pull request #402 from lblod/revert-add-recognized-worship-types
Revert "Merge pull request #397 from lblod/fix/add-recognized-worship-types"
2024-04-02 09:24:20 +02:00
Laurent Deketelaere
954f72ef7e Revert "Merge pull request #397 from lblod/fix/add-recognized-worship-types"
This reverts commit 9ed2cfa080, reversing
changes made to 37f071c065.
2024-03-29 16:00:01 +01:00
Laurent Deketelaere
23e7ee7ff2 chore: Bump frontend to v1.23.0-1 2024-03-29 13:59:04 +01:00
Laurent Deketelaere
6e0e3cd8ea Merge pull request #399 from lblod/revert-exclude-clb-data-from-producer
Revert "Merge pull request #387 from lblod/feat/exclude-clb-data-from-producer"
2024-03-28 09:47:35 +01:00
Laurent Deketelaere
6c572992be Revert "Merge pull request #387 from lblod/feat/exclude-clb-data-from-producer"
This reverts commit 25a5adaf5e, reversing
changes made to c6bb94816d.
2024-03-27 16:17:41 +01:00
Elias Papanikitas
402f7ffce3 bumped new vervsion kbo-sync 2024-03-27 10:38:07 +01:00
Laurent Deketelaere
51d7c53970 Merge pull request #384 from lblod/chore/add-migration-template-samples
Chore: Add migration template samples
2024-03-27 09:55:14 +01:00
Laurent Deketelaere
54f1d8932c Add remove-stale-jobs.sparql-template migration 2024-03-27 09:52:28 +01:00
Elias Papanikitas
a169184fca renamed to kboOrganization and linked to organisation 2024-03-26 17:38:42 +01:00
Laurent Deketelaere
6ec4784a53 chore: Bump frontend to v1.23.0-0 2024-03-25 13:25:53 +01:00
mirdono
f5a23bc37b Merge branch 'master' into development 2024-03-22 15:49:32 +01:00
Alexander van den Berghe
4e0ec40f51 Merge pull request #393 from lblod/fix/remove-local-involvement
Fix: remove superfluous local involvement
2024-03-22 13:56:05 +00:00
Alexander van den Berghe
d493c7601a Merge pull request #396 from lblod/chore/add-merge-change-event-pz-aalter-maldegem
Feature: add merge change event pz aalter maldegem
2024-03-22 13:55:37 +00:00
Elias Papanikitas
23199fc896 updated kbo data sync service version 2024-03-22 13:12:22 +01:00
Dachamelemon
125b281eac Merge pull request #355 from lblod/improvement/convert-date-to-datetime
converted-date-to-datetime
2024-03-21 16:41:39 +01:00
Elias Papanikitas
7901485e01 updated to correct woodpecker release 2024-03-21 16:29:56 +01:00
mirdono
19f9d6f4e8 refactor: update backward arrow rule comment 2024-03-21 16:27:57 +01:00
mirdono
8755bbc432 fix/refactor: removed duplicate rule, correct predicate names, improved variable names 2024-03-21 15:35:22 +01:00
Elias Papanikitas
b00983c580 setup for async release 2024-03-21 15:34:41 +01:00
Elias Papanikitas
0b3d1febdf added 2 hours extra to timezone to prevent duplpication 2024-03-21 13:59:38 +01:00
Elias Papanikitas
d42986ff43 added reasoner to private-info 2024-03-21 13:26:52 +01:00
Elias Papanikitas
0e63fcc8b0 applied changed according to merge with development 2024-03-21 11:40:02 +01:00
Elias Papanikitas
6c80037fb5 Merge branch 'development' into feat/wegwijs-service-integration 2024-03-21 10:26:11 +01:00
Dachamelemon
e985662313 Merge pull request #398 from lblod/fix/typo-representative-organ
Fix:typo representative organ
2024-03-20 16:57:26 +01:00
Dachamelemon
9ed2cfa080 Merge pull request #397 from lblod/fix/add-recognized-worship-types
Adding 2 new recognized worship types
2024-03-20 16:57:10 +01:00
Elias Papanikitas
33a7d6eff6 Merge branch 'development' into improvement/convert-date-to-datetime 2024-03-19 16:06:21 +01:00
Elias Papanikitas
7c625b3348 fixed typo boeddistiche to boeddistische 2024-03-19 11:51:07 +01:00
Elias Papanikitas
20bf82a36a added Boeddistisch and Niet-confessioneel to reconized worship type and linked to Representative Organ 2024-03-19 11:48:22 +01:00
mirdono
37f071c065 Merge branch 'master' into development 2024-03-19 10:50:27 +01:00
mirdono
2d79ec5852 chore: bump frontend 2024-03-19 10:32:40 +01:00
mirdono
04a749020e feat: change merged PZ's status to not active 2024-03-15 17:31:57 +01:00
mirdono
0d1b610dcf feat: import fusion change event for PZ Aalter and PZ Maldegem 2024-03-15 12:08:46 +01:00
mirdono
7bdc6519a9 feat: import juridical and alternative names for PZ and HVZ 2024-03-14 15:59:20 +00:00
mirdono
84d59bb173 feat: include alternative name in search index 2024-03-14 15:29:59 +00:00
mirdono
6513bfcfd5 feat: allow organisations to have multiple alternative names 2024-03-14 15:29:59 +00:00
mirdono
0c09c0cb1b fix: limit migration to unit graph and split into multiple ones
Virtuoso occasionally fails to properly process the original migrations due to
too many requests. To counter this the graph operated on is explicitly specified
and the migration for OCMW associations is split into multiple ones.
2024-03-14 15:20:51 +00:00
Oscar Rodriguez Villalobos
25a5adaf5e Merge pull request #387 from lblod/feat/exclude-clb-data-from-producer
Exclude the data of CLB from the producer
2024-03-14 11:39:47 +01:00
Elias Papanikitas
e80d231f35 fixed taking out Z in reasoner for date time conversion 2024-03-13 18:36:53 +01:00
Elias Papanikitas
7c7c6ffe60 Merge branch 'development' into improvement/convert-date-to-datetime 2024-03-13 16:41:38 +01:00
Elias Papanikitas
fc6f5139c4 added relationships for kbo administrative units 2024-03-13 16:18:51 +01:00
Elias Papanikitas
3f81847c94 updated the altlable for shortname/commercialname 2024-03-13 16:09:14 +01:00
mirdono
5b38e70b61 fix: remove superfluous local involvement 2024-03-13 15:24:45 +01:00
mirdono
21717dff0e chore: bump frontend version 2024-03-12 09:46:43 +01:00
mirdono
c6bb94816d Merge branch 'master' into development 2024-03-06 17:14:58 +01:00
mirdono
15f050aaff fix: set correct value for provinces of OCMW associations and PEVAs 2024-03-06 15:42:55 +00:00
mirdono
650ba77d6c fix: add/create missing bestuursfuncties for OCMW associations and PEVAs
The initial migrations lacked the necessary bestuursfuncties for the onboarded
organisations, consequently the synchronisation of functionaries with Loket did
not work properly. These new migrations add the necessary bestuursfuncties
as extracted from Loket. Furthermore, the migrations creating governing bodies
and bestuursfuncties for organisations not in Loket are corrected as they
previously had no effect due to errors in their queries.
2024-03-06 14:46:36 +00:00
Nordine Bittich
b9e8d72f01 Update dispatcher.ex (#386) 2024-03-06 11:20:08 +01:00
Elias Papanikitas
1b2268fc6a updated configuration to handle new service name 2024-03-04 14:12:48 +01:00
mirdono
4e0a9170d9 refactor: combined different queries in migration into one 2024-03-04 09:20:12 +00:00
mirdono
3cc305982a fix: removed write access to shared graph
This access was required to edit the (legal) name of municipalities and
provinces. This did lead to an issue were data for administrative units was
incorrectly written to both graphs. To avoid this we decided that, at least for
the moment, the name of municipalities and provinces is not editable, removing
the need to be able to write to the shared graph.
2024-03-04 09:20:12 +00:00
mirdono
d10465b73f feat: allow administrator to edit data in shared graph, added error_type 2024-03-04 09:20:12 +00:00
mirdono
36670ebfa4 feat: index legal name for administrative units 2024-03-04 09:20:12 +00:00
mirdono
1289f1d78a refactor: added newline 2024-03-04 09:20:12 +00:00
mirdono
ead102d8c6 feat: Allow editor role to write to shared graph
The shared graph contains, among others, the (legal) names of municipalities and
provinces. So far their names were not modifiable in OP. This change allows
these names to be modified in that graph by the users with the appropriate role.
2024-03-04 09:20:12 +00:00
mirdono
b7279d2640 fix: also copy name to legal name for organisations in the shared graph 2024-03-04 09:20:12 +00:00
mirdono
e70c112f20 feat: Added migration to copy preferred name to new legal name property 2024-03-04 09:20:12 +00:00
mirdono
607844ae33 feat: added attribute for legal name to organisations 2024-03-04 09:20:12 +00:00
Oscar
f518646c06 Exclude the data of CLB from the producer 2024-03-01 14:33:03 +01:00
mirdono
12d3ae6d10 Chore: bump frontend to new pre-release version 2024-03-01 14:13:59 +01:00
mirdono
9900b23eee Chore: bump frontend to new pre-release version 2024-03-01 11:57:10 +01:00
Laurent Deketelaere
4dc4bf84fa Add remove-type-in-producer-graph.sparql-template 2024-02-28 12:16:35 +01:00
Laurent Deketelaere
60ba1df934 chore: gitignore migrations/local 2024-02-27 15:27:08 +01:00
Laurent Deketelaere
1fc6a43e9c chore: Add migration samples 2024-02-27 15:21:39 +01:00
mirdono
c5888b8f8d Chore: bump mu-cl-resources to latest version 2024-02-27 12:39:48 +00:00
mirdono
51b8c2303e Merge branch 'development' 2024-02-23 09:42:29 +01:00
mirdono
846c3f4543 Bump frontend 2024-02-23 09:41:53 +01:00
mirdono
3d5b962931 Fix: removed migration importing founders for public OCMW associations and remove these already imported founders from DEV 2024-02-23 08:25:45 +00:00
Elias Papanikitas
a8274a8925 added all kbo fields to backend 2024-02-20 10:38:40 +01:00
mirdono
c850677776 Feature: data import for PEVA municipality and PEVA province 2024-02-19 18:18:16 +00:00
mirdono
44c9f44737 Feature: data import for public OCMW associations 2024-02-19 18:17:10 +00:00
Oscar Rodriguez Villalobos
2ee40fc923 Merge pull request #373 from lblod/feat/add-nis-to-producer
Feat/add nis to producer
2024-02-09 13:36:21 +01:00
mirdono
c8d46edd67 Merge branch 'master' into development 2024-02-08 19:26:32 +01:00
mirdono
7d2ed8d741 Added migration to combine merger change events 2024-02-08 16:35:56 +00:00
Nordine Bittich
a093ecb309 fix missing resulting org & betrokke (#369) (#376) 2024-02-08 16:07:40 +01:00
Elias Papanikitas
cefdd9aaea fixed domain 2024-02-07 13:50:12 +01:00
Elias Papanikitas
108e29e4a1 Merge branch 'development' into feat/wegwijs-service-integration 2024-02-07 13:13:44 +01:00
Elias Papanikitas
52bb3b8d6b fixed missing } 2024-02-07 13:12:54 +01:00
Elias Papanikitas
24e9659c3d added contacts 2024-02-07 12:52:19 +01:00
Elias Papanikitas
b676c0a743 draft: adding more data to kbo-administrative-unit 2024-02-07 10:45:47 +01:00
Elias Papanikitas
764cfb6f1c added kbo-administrative-unit model 2024-02-06 11:08:40 +01:00
Alexander van den Berghe
dbb80aba03 Fix: reduce resource usage by migrations
* Renamed migrations

* Limit queries to specific graphs and move filters up
2024-02-05 10:56:08 +00:00
Oscar
50d47c2395 put concept in the wrong export 2024-01-31 18:02:29 +01:00
Oscar
b1e3d00974 fix migration 2024-01-30 11:53:20 +01:00
Oscar Rodriguez Villalobos
21bfd7096f migration didn't got pushed correctly, and export type correctly 2024-01-30 11:24:29 +01:00
Oscar Rodriguez Villalobos
e9b21036ea add migration for the concept scheme 2024-01-30 10:52:10 +01:00
Oscar Rodriguez Villalobos
c567c06262 Merge pull request #371 from lblod/feat/site-names
add site type name attribute
2024-01-25 13:14:59 +01:00
Oscar Rodriguez Villalobos
082d923f2e Merge pull request #370 from lblod/feat/replace-site-type
Feat/replace site type
2024-01-24 10:58:21 +01:00
Oscar Rodriguez Villalobos
10eee92e1c add site type name attribute 2024-01-24 10:56:34 +01:00
Oscar Rodriguez Villalobos
792a08124f restrict graph to administrative unit 2024-01-24 10:42:58 +01:00
Oscar Rodriguez Villalobos
ea56b77b57 Merge pull request #366 from lblod/feat/fix-duplicate-lang-strings
Bugt/fix duplicate lang strings
2024-01-19 15:08:19 +01:00
Oscar Rodriguez Villalobos
6d47523e15 make also subject match 2024-01-19 12:55:46 +01:00
Laurent Deketelaere
7730ccc3cb Merge pull request #332 from lblod/fix/boolean
Fix/boolean
2024-01-19 12:49:09 +01:00
Elias Papanikitas
3bef65188c fixed migration accordingly due to bug in virtuoso 2024-01-18 15:05:33 +01:00
Elias Papanikitas
e414a9e086 replaced orignal backwards arrowrule with new rule 2024-01-18 14:59:14 +01:00
Oscar Rodriguez Villalobos
8573d7bd14 make predicate also match 2024-01-17 15:14:55 +01:00
Oscar
ac7232c8af moved migration and deleted ander administrative adres 2024-01-17 14:58:13 +01:00
Oscar Rodriguez Villalobos
3ac31fe810 Replace ander admini... by andere 2024-01-17 14:07:51 +01:00
Nordine Bittich
458395931b fix missing resulting org & betrokke (#369) 2024-01-17 12:20:07 +01:00
Elias Papanikitas
8b001b93c8 Merge branch 'development' into improvement/convert-date-to-datetime 2024-01-16 10:39:16 +01:00
Alexander van den Berghe
99f5f5365b Merge pull request #368 from lblod/feature/onboarding-peva
Feature: Added new classification codes for PEVAs
2024-01-11 12:04:59 +00:00
mirdono
a1fc67b970 Bump construct-administrative-unit-relationships-service 2024-01-10 17:15:07 +01:00
Elias Papanikitas
97c1929346 re;oved bindingstart and eindedatum from mapping + added conversions to migrations 2024-01-10 14:48:10 +01:00
mirdono
1d14452084 Added new classification codes for PEVAs 2024-01-09 17:23:54 +01:00
mirdono
e67e8e749f Revert "Added classification codes for PEVAs"
This reverts commit df3ccdc06a.
2024-01-09 17:18:19 +01:00
Elias Papanikitas
a53f0d3f30 fixed copy paste errors... 2024-01-09 11:35:42 +01:00
mirdono
df3ccdc06a Added classification codes for PEVAs 2024-01-08 15:55:40 +01:00
Alexander van den Berghe
df9c5fc126 Merge pull request #367 from lblod/feature/onboarding-public-ocmw-associations
Feature: onboarding public OCMW associations
2024-01-04 16:08:32 +00:00
Elias Papanikitas
76784840a4 removed rule for mandaat because it's already datetime 2024-01-04 16:21:01 +01:00
Elias Papanikitas
6fae30d245 fixed typo 2024-01-02 12:18:16 +01:00
mirdono
9637ed4cfa Added OVO number 2023-12-22 13:28:56 +01:00
mirdono
15a033af93 Use unique identifiers 2023-12-22 12:36:02 +01:00
Elias Papanikitas
11105113a9 added backwards arrow rule to reasoner 2023-12-22 10:46:37 +01:00
mirdono
2eb960265f Added example Welzijnsvereniging that syncs with Loket 2023-12-22 10:40:18 +01:00
mirdono
d57c850ba4 Removed remnants from registered organisations attempt 2023-12-21 18:56:15 +01:00
mirdono
0a7fc133de Merge branch 'development' into feature/onboarding-ocmw-verenigingen 2023-12-21 18:46:48 +01:00
Oscar Rodriguez Villalobos
482f34a836 Merge remote-tracking branch 'origin/development' into feat/fix-duplicate-lang-strings 2023-12-21 15:42:54 +01:00
Oscar Rodriguez Villalobos
b4208f0d0a Fix duplicate lang strings 2023-12-21 15:42:44 +01:00
Claire Lovisa
d1be8f8eff Merge branch 'master' into development 2023-12-20 09:46:41 +01:00
mirdono
d752d162af Renamed was-founde-organization association to plural to match its multiplicity 2023-12-19 18:10:31 +01:00
Claire Lovisa
518db8fb3f Bump frontend 2023-12-19 17:00:30 +01:00
Claire Lovisa
0e85e069b1 Merge branch 'development' into improvement/convert-date-to-datetime 2023-12-19 12:11:27 +01:00
Claire Lovisa
9c8616ffab Add fusion change events for gemeenten and ocmws from 2019 (#365) 2023-12-19 12:00:04 +01:00
Elias Papanikitas
e8061f6a0b commit 2023-12-19 11:01:02 +01:00
Elias Papanikitas
65efd72683 Merge branch 'improvement/convert-date-to-datetime' of github.com:lblod/app-organization-portal into improvement/convert-date-to-datetime 2023-12-19 10:58:40 +01:00
Elias Papanikitas
70e79734df removed datetime to date conversions from reasoner 2023-12-19 10:51:10 +01:00
Elias Papanikitas
329e87f0eb converted-date-to-datetime 2023-12-19 10:51:10 +01:00
Elias Papanikitas
663c975725 removed datetime to date conversions from reasoner 2023-12-19 10:50:50 +01:00
Claire Lovisa
53bbc00327 Replace https by http in lblodlg prefix (#364)
This prefix has wrongly been defined with https instead of http.
Luckily, it has no impact on the data because everywhere where it has
been defined that way, it also never has been used. So here we just
rectify the (unused) prefixes to avoid bringing further confusion.
2023-12-18 13:30:21 +01:00
mirdono
c9c2cd23ed Allow an organisation to be founded by multiple other organisations 2023-12-18 11:58:17 +01:00
mirdono
4418349b9e Added query rule for OCMW associations 2023-12-15 18:34:41 +01:00
Claire Lovisa
f104078cd6 Add placeholder variables to prevent deltanotifier being slow (#363) 2023-12-15 09:07:36 +01:00
Claire Lovisa
78ff81de65 Ignore publication triplestore data folder (#362) 2023-12-14 16:47:47 +01:00
mirdono
9c322a2fab Bump frontend version 2023-12-14 14:24:15 +01:00
Claire Lovisa
76a0715df3 Add purpose and expected end date to producer (#361) 2023-12-14 11:04:00 +01:00
mirdono
66f907eddc Added some comments indicating which type or organisation a rule covers 2023-12-13 14:14:01 +01:00
Claire Lovisa
17f7c04065 Import contact data from sharepoint (#360) 2023-12-12 16:31:26 +01:00
Claire Lovisa
6429ae4ab8 Fix file graph for organizations public info dumps 2023-12-12 11:15:25 +01:00
Alexander van den Berghe
c93bfa6a2e Merge pull request #359 from lblod/fix/delete-change-event
Fix: delete unnecessary change event
2023-12-11 12:57:03 +00:00
mirdono
6d790078a3 Also delete the decision related to the change event 2023-12-11 12:10:30 +01:00
mirdono
cdf17e128b Fix: delete unnecessary change event 2023-12-08 20:09:42 +01:00
Dachamelemon
51c2476562 Merge pull request #358 from lblod/fix/reasoner-phone-number-rule
Fix/reasoner phone number rule
2023-12-07 16:23:09 +01:00
Elias Papanikitas
fbde10887b cleaned up code 2023-12-07 13:35:47 +01:00
Elias Papanikitas
b9263514b2 updated to handle more number correctly 2023-12-07 13:09:31 +01:00
mirdono
c5990c40f0 Merge branch 'development' into feature/onboarding-ocmw-verenigingen 2023-12-07 11:22:36 +01:00
Alexander van den Berghe
7bcc9f09ee Merge pull request #357 from lblod/chore/bump-construct-administrative-unit-relationships-service
Bump construct-administrative-unit-relationships-service
2023-12-07 09:49:52 +00:00
mirdono
8c2cd9c959 Chore: bumped construct-administrative-unit-relationships-service to v0.1.6 2023-12-07 10:43:00 +01:00
mirdono
60b5f1e3a0 Introducing registered organisations 2023-12-06 16:32:42 +01:00
mirdono
b49f0ffd3f Corrected migrations for non-administrative unit OCMW vereniging organisations 2023-12-06 16:31:41 +01:00
Claire Lovisa
ddb13e210d Fix relative file path of producer 2023-12-06 14:50:57 +01:00
Claire Lovisa
79d2dda77a Add publication triplestore and organizations public info producer (#356) 2023-12-06 14:09:38 +01:00
Elias Papanikitas
54e381bfad converted-date-to-datetime 2023-12-05 11:58:54 +01:00
mirdono
13a9b599a5 Formatted authorisation configuration 2023-12-05 10:31:42 +01:00
Dachamelemon
2a66359ebd Merge pull request #354 from lblod/fix/migratin-name-typo-fix
fixed typo
2023-12-04 17:33:00 +01:00
Elias Papanikitas
7cbf418fcc fixed typo 2023-12-04 16:36:36 +01:00
Dachamelemon
7eb7a50e41 Merge pull request #349 from lblod/feat/phone-number-format-migration
Feat/phone number format migration
2023-12-04 14:49:14 +01:00
Claire Lovisa
562f463af3 Add missing rule for contact point of leidinggevenden 2023-12-04 11:51:52 +01:00
Claire Lovisa
771ac03c13 Merge branch 'development' into feat/phone-number-format-migration 2023-12-04 10:40:12 +01:00
Claire Lovisa
bf425b7dbb Bump reasoner service 2023-12-04 10:24:35 +01:00
Claire Lovisa
4dfe1953a7 Bump reasoner service 2023-12-04 09:34:07 +01:00
Elias Papanikitas
d5c6a3f666 added rules to maininfo 2023-11-30 18:36:54 +01:00
Elias Papanikitas
a944075616 updated prefixes 2023-11-30 18:30:48 +01:00
Elias Papanikitas
78baadce4f changed :s to ?s 2023-11-30 13:42:39 +01:00
Claire Lovisa
d34e28ec0e Add report generation service + orgs report (#331)
* Add report generation service + orgs report

* Adapt configuration

* Add download-exports service to the stack

* Update gitignore

* Bump report generation service

* Remove unnecessary import

* Add dispatcher rule for download exports
2023-11-30 13:18:50 +01:00
Elias Papanikitas
4e8af93f23 reasoner changes 2023-11-30 11:43:07 +01:00
Elias Papanikitas
122b51ad0e migration check 2023-11-30 11:12:02 +01:00
Elias Papanikitas
672b4bce6a reasoner buf fixed 2023-11-30 10:49:47 +01:00
mirdono
0bcfc6a63a Migrations to add new classification codes for
- Autonome verzorgingsinstelling
- Ziekenhuisvereniging
- Vereniging of vennootschap voor sociale dienstverlening
- Woonzorgvereniging of woonzorgvennootschap
2023-11-29 15:51:29 +01:00
Elias Papanikitas
674f27bff8 saving progress for pr review 2023-11-29 09:57:47 +01:00
Claire Lovisa
a462b53d06 Bump op-sync-with-sharepoint-service 2023-11-28 19:22:55 +01:00
Claire Lovisa
2fd9ce3774 Sync with Sharepoint list Organisaties (#304)
* Set up deltas for sync with sharepoint

* add service

* add dev environment variables

* Extract config to the stack

* Adjust the config and mappings

* Filter out worship services

* Add contacten sp list service

* Add configuration for contact list

* Add config files for contacten sync

* Wire sharepoint sync on main graph instead of producer

* Add env variables

* Add op sync initiator

* Minor updates

* Improve config, add job controller rules and more

* Adjust rules

* Remove unused producer changes

* Don't restart initiator on dev setup

* Sync OP status to a dedicated column

* Add ABB_ID and split bus and house numbers

* Remove config file we will not use

* Add NIS and secondary phone number, rename columns

* Remove isInitialMatchingMapping, not used anymore

* Match on URI instead of UUID

* Adapt field names to new lists

* Specify matching field in config

* Set version of op-sync-with-sharepoint

---------

Co-authored-by: Nordine Bittich <nordine@bittich.be>
2023-11-28 16:49:58 +01:00
Alexander van den Berghe
1324cd4e58 Merge pull request #350 from lblod/refactor/model-agent-person-organization
Refactor: Introduce generic Agent resource
2023-11-27 15:52:15 +00:00
Claire Lovisa
a114380a6b Update main-info config so that added types can flow over 2023-11-27 15:40:35 +01:00
Claire Lovisa
00ca7aded0 Add missing prefix 2023-11-27 15:40:10 +01:00
mirdono
cc1aa08b36 Put general rule below specific ones 2023-11-27 10:59:36 +01:00
mirdono
90012767a2 Added agent-in-position and agent rules to main-info 2023-11-27 10:59:04 +01:00
mirdono
3259a80083 Added rule to add AgentInPositie and Agent types for mandatories 2023-11-27 10:19:29 +01:00
Claire Lovisa
51c1889a7f Fix dev mandatarissen without persons (#353)
* Fix dev mandatarissen without persons

* Extend migration to mandatarissen without type

Fortunately they all seemed to have a start date, so I used this
predicate to get all the mandatarissen without a type and delete them.
2023-11-27 07:31:49 +01:00
Claire Lovisa
67bedc108c Remove mandataris without person (#352) 2023-11-25 20:50:45 +01:00
Claire Lovisa
b1d5a374f2 Fix typo in migration name 2023-11-24 23:03:19 +01:00
mirdono
f295f10d00 Added rules to add Agent and AgentInPosition types 2023-11-24 14:01:58 +01:00
mirdono
90f8e4b5d1 Added migration to ensure mandatories are also agents-in-position and agents 2023-11-23 16:34:35 +01:00
mirdono
9a3c0b3dbc Added migration to make functionaries agents-in-position and agent 2023-11-23 16:09:18 +01:00
Dachamelemon
7d93978327 Merge pull request #351 from lblod/fix/typo-bedienaarsfinancieringcode-migration
fixed typo
2023-11-23 10:57:09 +01:00
Elias Papanikitas
89f6c5dc7b limited graphs, corrected migration name 2023-11-23 10:36:02 +01:00
Elias Papanikitas
45b145847a fixed typo 2023-11-22 11:37:24 +01:00
Elias Papanikitas
866cff52cc fixed weird + issue 2023-11-21 11:09:07 +01:00
mirdono
a23c817256 Fix: added missing relation 2023-11-20 14:49:47 +01:00
Elias Papanikitas
30f4341e01 fixnig remarks 2023-11-20 11:03:31 +01:00
mirdono
118c78ce97 Added migrations to introduce Agent type for people, organisations, and agents-in-position 2023-11-20 10:24:47 +01:00
mirdono
de9f2f19c1 Added new Agent resource 2023-11-20 10:20:28 +01:00
mirdono
375865e548 Renamed Agent/Agents to Functionary/Functionaries 2023-11-20 08:59:08 +01:00
Elias Papanikitas
57e09e9b47 migration OK 2023-11-17 11:41:06 +01:00
Elias Papanikitas
f120638741 phone number migration OP-1464 2023-11-17 09:54:53 +01:00
Claire Lovisa
7c96be523c Bump frontend 2023-11-14 16:50:28 +01:00
Claire Lovisa
848d3b893d Propagate contact info to pz secondary sites (#348) 2023-11-10 10:03:01 +01:00
Claire Lovisa
4443e7de5f Bump frontend 2023-11-08 16:07:07 +01:00
Claire Lovisa
7128591a49 Add contact info PZ & HVZ (#347) 2023-11-08 15:35:53 +01:00
Claire Lovisa
d19464ce36 Fix vast bureau concept data (#346) 2023-11-08 11:02:17 +01:00
Claire Lovisa
42cb016c47 Bump frontend 2023-10-31 14:04:33 +01:00
Claire Lovisa
bd9058d186 Merge branch 'development' 2023-10-31 14:04:07 +01:00
Claire Lovisa
fcbe6c60be Add hoofdcommissariaat addresses to PZ (#345) 2023-10-31 10:03:35 +01:00
Claire Lovisa
d0238045bd Primary sites and related organizations of Politiezones and Hulpverleningszones (#344)
* Add primary sites of PZ and HVZ

* Add related organizations of PZ and HVZ
2023-10-30 16:04:25 +01:00
Nordine Bittich
3f37d7ebbc Feature/non admin units (#342) 2023-10-30 09:05:06 +01:00
Claire Lovisa
ada7193f73 Add new site type hoofdcommissariaat (#343) 2023-10-26 11:02:21 +02:00
Claire Lovisa
ad20c5efb2 Remove empty administrative units (#341) 2023-10-20 15:17:15 +02:00
Claire Lovisa
36e638c262 Reorganize migrations 2023-10-10 13:30:32 +02:00
Alexander van den Berghe
1902b4b9e4 Merge pull request #340 from lblod/fix/identifier-index
Fix: add an alphanumeric only index field for identifiers
2023-10-09 11:07:32 +00:00
Alexander van den Berghe
81963cb4c8 Fix: add an alphanumeric only index field for identifiers 2023-10-06 19:27:21 +02:00
Claire Lovisa
60b9459854 Set up auto sync of OVO numbers (#333)
* Add delta rules

* Remove delta rules

We need to use a direct endpoint to trigger the update instead of the
deltas to be able to see in the frontend the direct result of our change

* Add dispatching rule to sync ovo service

* Add released sync-ovo-number service
2023-10-06 11:31:40 +02:00
Claire Lovisa
c35b3c6c3a Import PZ & HVZ basic data (#339) 2023-10-06 10:51:08 +02:00
Claire Lovisa
ef50e761f8 Bump privacy service 2023-10-05 19:03:29 +02:00
Alexander van den Berghe
b4804f1ef3 Merge pull request #338 from lblod/bump-mu-search
Bumped mu-search version to 0.9.1
2023-10-05 11:53:48 +00:00
Alexander van den Berghe
f6cc456483 Bumped mu-search version to 0.9.1 2023-10-05 12:32:24 +02:00
Alexander van den Berghe
8494a22621 Merge pull request #337 from lblod/feature/index-unit-identifiers
Feature: index identifiers for administrative units
2023-10-05 07:59:57 +00:00
Alexander van den Berghe
0265b73a27 Index identifiers for administrative units 2023-10-04 10:32:06 +02:00
Dachamelemon
281e7fcfe0 Merge pull request #335 from lblod/feature/abp-ovo-number-migration
Insert missing ovo numbers of APBs
2023-10-02 09:46:31 +02:00
Elias Papanikitas
76bbfb9300 feature: insert missing ovo numbers for every item found in wegwijs #REF: OP-2633 2023-09-26 09:25:04 +02:00
Aad Versteden
4b3ee6ef58 chore: bump mu-identifier (#334)
Bumps runtime and more aggressive header clearing for requests.
2023-09-25 10:02:44 +02:00
Boris De Vloed
de6058acab Merge branch 'development' into fix/boolean 2023-09-20 11:28:28 +02:00
Claire Lovisa
c5699d6bf5 Merge branch 'master' into development 2023-09-19 18:19:22 +02:00
Claire Lovisa
ad8f2620da Bump frontend 2023-09-19 18:14:12 +02:00
Boris De Vloed
0e54bf206a cleanup custom booleans 2023-09-19 14:48:09 +02:00
Boris De Vloed
c3b6abc321 use xsd boolean in mu resource 2023-09-19 14:47:42 +02:00
Claire Lovisa
7e37be687b Onboarding PZ/HPZ - frontend compatibility changes (#330)
* Bump construct-administrative-unit-relationships

* Add change event
2023-09-18 16:51:31 +02:00
Claire Lovisa
2644c38743 Bump frontend 2023-09-14 13:43:19 +02:00
Claire Lovisa
cd2f4192d0 Fix related orgs igs migration (#329) 2023-09-14 10:15:08 +02:00
Claire Lovisa
aac58980d8 Add related municipalities of IGS (#328) 2023-09-13 15:35:45 +02:00
Claire Lovisa
b89fcc548c Add AGBs and APBs related organizations (#319) 2023-09-13 11:25:30 +02:00
Oscar Rodriguez Villalobos
190374cdcf Import igs contact data (#327) 2023-09-13 11:16:48 +02:00
Claire Lovisa
6b02956eb2 Remove wrong classification from IGS IW (#326) 2023-09-13 11:16:21 +02:00
Claire Lovisa
501973c4cf Merge pull request #320 from lblod/feature/add-related-orgs-igs
Add IGS related organizations
2023-09-13 11:16:06 +02:00
Claire Lovisa
075bde44af Merge pull request #325 from lblod/chore/missing-restart-always
Add missing restart statements
2023-09-12 12:38:47 +02:00
Claire Lovisa
328fcc5511 Add missing restart statements 2023-09-12 11:14:22 +02:00
Claire Lovisa
537274c6c0 Merge branch 'master' into development 2023-09-11 11:42:23 +02:00
Boris De Vloed
db769f80a6 cleanup leidinggevenden 2023-09-11 11:40:48 +02:00
Claire Lovisa
a732d788b7 Merge pull request #318 from lblod/fix/clear-leidinggevenden-outdated-data
cleanup leidinggevenden
2023-09-11 11:39:29 +02:00
Claire Lovisa
f9ebd17d17 Merge branch 'master' into development 2023-09-08 11:17:39 +02:00
Claire Lovisa
29bd4c9d56 Merge pull request #324 from lblod/hotfix/duplicated-primary-sites
Fix duplicated primary sites
2023-09-08 11:15:53 +02:00
Claire Lovisa
2587ba6daf Fix double sites in the data 2023-09-07 13:42:57 +02:00
Claire Lovisa
4070bde4ab Bump frontend 2023-09-07 13:41:55 +02:00
Oscar Rodriguez Villalobos
ffceadc491 Merge pull request #323 from lblod/feat/import-igs-addresses
Add migration to import igs address
2023-09-07 13:36:50 +02:00
Oscar Rodriguez Villalobos
be7625a31e Add migration to import igs address 2023-09-07 11:53:57 +02:00
Claire Lovisa
6b7672df9f Add IGS related organizations 2023-08-29 17:42:54 +02:00
Claire Lovisa
b1c2f12c71 Generate functies for new agbs and apbs (#317) 2023-08-28 12:47:33 +02:00
Oscar Rodriguez Villalobos
6895f75b2b Merge pull request #316 from lblod/feature/import-igs
add migration to import igs from csv
2023-08-28 12:21:56 +02:00
Oscar
7ccdbad0f1 fixed migrations 2023-08-28 11:25:08 +02:00
Boris De Vloed
a5a94769a7 cleanup leidinggevenden 2023-08-25 16:27:14 +02:00
Oscar
bed834e9b9 fixed migration and add bestuursorgaan 2023-08-24 10:48:56 +02:00
Oscar
5ebb1d3f03 add migration to import igs from csv 2023-08-16 15:40:48 +02:00
Nordine Bittich
20c240d481 bump frontend 2023-08-14 19:39:17 +02:00
Nordine Bittich
a9f02a148b bump frontend 2023-08-14 19:38:42 +02:00
Claire Lovisa
61924d37d9 Import contact info of AGBs and APBs (#315) 2023-08-04 11:01:58 +02:00
Claire Lovisa
913fd54da3 Import contact info of AGBs and APBs (#315) 2023-08-04 11:01:15 +02:00
Claire Lovisa
89572728bc Merge branch 'master' into development 2023-08-02 10:05:23 +02:00
Claire Lovisa
43caffdce8 Merge pull request #314 from lblod/fix/add-missing-organen-and-functies-to-agbs-and-apbs
Fix date format and missing data on AGBs/APBs
2023-08-02 10:04:40 +02:00
Claire Lovisa
0d3ba99048 Fix date format and missing data on AGBs/APBs 2023-08-01 20:53:52 +02:00
Claire Lovisa
b015497d93 Merge pull request #313 from lblod/feature/onboarding-igs
Onboarding igs
2023-08-01 14:47:59 +02:00
Claire Lovisa
8b40cf597f Split too big migrations 2023-07-31 18:04:48 +02:00
Claire Lovisa
f78e7ad99a Bump frontend 2023-07-31 17:22:40 +02:00
Claire Lovisa
8fb0bd245a Merge branch 'development' 2023-07-31 17:14:41 +02:00
Claire Lovisa
cdfe850b47 Link admin units with OVO uris (#312) 2023-07-31 16:14:01 +02:00
Claire Lovisa
ab6da30578 Remove outdated mandatarissen data (#311) 2023-07-31 11:28:27 +02:00
Claire Lovisa
33740d1749 Remove torii redirect dispatching (#309)
* Remove torii redirect dispatching

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

* Bump adressenregister

---------

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

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

* Fix n3q query for mandatarissen

---------

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

* Fix n3q query for mandatarissen

---------

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

* Fix n3q query for mandatarissen

---------

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

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

* cleanup previously migrated data before sync

* increase mu-auth timouts

* split up deletion migration to avoid timouts

* identical utls added catch statements

* deletes before inserts

* Adapt migrations to splitted graphs

* Adapt consumers to the delta-consumer with contexts

* Bump consumers and cache

* Resolve cache not getting cleared

* Flush ministers of non active worship services too

---------

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

About the mandates creation:
 - LidVanRechtswege : shared mandate for all the organen in time
 - Bestuursleden big half : shared with 2023-2026 because 2020 was the start of a big half
 - Bestuursleden small half : new mandate (should have been shared with 2017-2020, but we don't have this time period)
 - Voorzitter : new mandate
 - Secretaris : new mandate
 - Penningmeester : new mandate
2023-03-24 15:34:35 +01:00
Claire Lovisa
99fe30d2ef Bump dump file publisher 2023-03-24 13:47:36 +01:00
Nordine Bittich
b05f69a615 bump frontend 2023-03-24 13:47:24 +01:00
Claire Lovisa
9eea11c2e0 Merge pull request #256 from lblod/feature/adapt-public-producer-to-hardsplit
Adapt public producer to hardsplit
2023-03-22 11:12:28 +01:00
Claire Lovisa
211708754c Adapting query for QA and DEV deploy
On QA and DEV, the hardsplit has already been deployed, so we need to
adjust the migration. On prod, the migration has already run, so there
is no risk of missing data.
2023-03-22 10:35:48 +01:00
Claire Lovisa
8d5c4958ea Fix auth config 2023-03-22 08:20:01 +01:00
Claire Lovisa
86d30c2b37 Merge branch 'master' into feature/adapt-public-producer-to-hardsplit 2023-03-21 17:19:56 +01:00
Claire Lovisa
be12f3587a Adapt producer to hardsplit graphs 2023-03-21 11:30:03 +01:00
Claire Lovisa
7b37d91012 Fix public producer config 2023-03-21 11:10:05 +01:00
Claire Lovisa
ba39434853 Add betrokken and positie bedienaar to public export 2023-03-21 08:39:46 +01:00
Claire Lovisa
0e52e2bcf6 Add uuids and ROs to public producer 2023-03-20 17:29:53 +01:00
Nordine Bittich
7b2b577cc1 bump frontend 2023-03-15 16:27:00 +01:00
Nordine Bittich
49ea6b3743 bump frontend 2023-03-13 10:14:53 +01:00
Nordine Bittich
4bf0f6274e optimize for timeouts 2023-03-10 09:45:55 +01:00
Nordine Bittich
dcbc032fa8 split query even more 2023-03-10 09:34:17 +01:00
Nordine Bittich
1624bf84fc fix privacy graph (#253) 2023-03-10 09:15:08 +01:00
Claire Lovisa
e36c923f5e Merge pull request #254 from lblod/fix/cache-messing-with-consumer-getting-files
Remove cache from dcat resources
2023-03-09 15:17:05 +01:00
Claire Lovisa
38e2c76fd8 Remove cache from dcat resources 2023-03-09 14:39:32 +01:00
Claire Lovisa
2a518169c7 Bump posts producer 2023-03-08 18:02:27 +01:00
Claire Lovisa
928106c53c Fix posts producer 2023-03-08 17:40:51 +01:00
Boris De Vloed
a61d6bed35 fix query adding all bestuurseenheden 2023-03-08 14:10:43 +00:00
Claire Lovisa
8f311f7b98 Bump posts producer 2023-03-08 09:42:49 +01:00
Claire Lovisa
046ff4f9fb Fix posts producer 2023-03-07 16:21:23 +01:00
Nordine Bittich
fc443fa19b move kbo to worships (#252) 2023-03-07 13:28:56 +01:00
Nordine Bittich
0c9024b7c6 Incident/move change event (#251) 2023-03-07 10:58:05 +01:00
Claire Lovisa
7cb0b744c5 Merge pull request #250 from lblod/feature/remove-unused-delta-config
Remove config of previously deleted producer
2023-03-07 09:49:41 +01:00
Claire Lovisa
8c52365b81 Remove config of previously deleted producer 2023-03-07 09:38:57 +01:00
Nordine Bittich
eff38a71de fix orgaan wrong graph (#249) 2023-03-06 17:22:31 +01:00
Claire Lovisa
e6ee6e439e Merge pull request #248 from lblod/fix/missing-link-classifications
Add missing appliesWithin link for worship services
2023-03-06 12:44:48 +01:00
Claire Lovisa
2ae1c9228e Add missing appliesWithin link for worship services 2023-03-06 12:39:46 +01:00
Nordine Bittich
b38e2ce816 disable cache because of a bug with local involvements (#246) 2023-03-06 09:08:27 +01:00
Claire Lovisa
8d1e434e5d Fixing producer not dumping betrokkenBestuur
A Bestuurseenheid can now have triples in multiple graphs in OP :
worship graph, admin unit graph, shared graph. But when there is an
additional filter on top, it expects all the triples to be in the same graph, causing triples in the worship graph not to be exported. Moving them to a separate block allows them to be safely exported :)
2023-03-03 16:00:04 +01:00
Boris De Vloed
50a3ff2929 publish delta files 2023-03-02 10:17:41 +00:00
Nordine Bittich
5274f2e66c bump construct unit service 2023-03-02 09:40:48 +01:00
Nordine Bittich
c5dc809d50 cache not triggered for related organization (#245) 2023-03-01 10:45:42 +01:00
Nordine Bittich
f7f654df2f Feat/remove beheerder (#243) 2023-02-28 17:19:08 +01:00
Boris De Vloed
b5fbf09c08 extend public producer 2023-02-28 15:07:27 +00:00
Nordine Bittich
160c355d1c Kerkfabriek St.-Antonius van Padua van Gent (Heirnis)” with status “Niet actief” from OP (#241) 2023-02-27 16:13:22 +01:00
Nordine Bittich
c842e3a286 Delete a "veranderingsgebeurtenis" in worship service Tevhid (#242) 2023-02-27 16:00:16 +01:00
Nordine Bittich
acaca124c2 hard split (#223) 2023-02-27 15:28:18 +01:00
Claire Lovisa
157fe4f374 Fix producer not exporting all worship admin units
Apparently the producer doesn't take into account inheritance when
constructing the queries, so we have to explicitely define the necessary
types
2023-02-22 20:30:52 +01:00
Claire Lovisa
db24aa267a Merge pull request #240 from lblod/fix/files-wrongly-cached
Dispatch files to resource directly
2023-02-20 17:37:25 +01:00
Claire Lovisa
eb99aab77b Dispatch files to resource directly 2023-02-20 17:31:43 +01:00
Claire Lovisa
64ea0ce900 Merge pull request #237 from lblod/feature/remove-unused-admin-unit-producer
Remove unused admin unit producer
2023-02-20 11:20:32 +01:00
Claire Lovisa
f110f1c7b1 Add missing property in worship posts export 2023-02-17 16:11:23 +01:00
Claire Lovisa
f33f563abb Merge pull request #238 from lblod/feature/extend-posts-producer
Extend worship posts producer's export config
2023-02-16 14:06:31 +01:00
Claire Lovisa
fcf4627383 Extend worship posts producer's export config 2023-02-16 09:20:35 +01:00
Claire Lovisa
d756113dcf Remove admin unit producer's data 2023-02-16 09:19:22 +01:00
Nordine Bittich
f4b24b10d8 add new codelist (#236) 2023-02-15 10:46:45 +01:00
Claire Lovisa
9b4fe1c76e Remove unused admin unit producer 2023-02-14 16:44:24 +01:00
7774283905 update LDES dispatch query to take contact info into account 2023-02-14 12:57:32 +01:00
335501ede6 use custom dispatch method to send organization details to ldes endpoint 2023-02-14 12:34:57 +01:00
a538b42abd add initial ldes services 2023-02-14 11:40:17 +01:00
Claire Lovisa
826aa6d379 Bump frontend 2023-02-08 17:09:38 +01:00
Claire Lovisa
087f3d2d86 Bump frontend 2023-02-08 14:15:49 +01:00
Claire Lovisa
74a9ac2eb1 Bump frontend 2023-02-08 12:23:52 +01:00
Claire Lovisa
28d63c10ba Merge branch 'development' 2023-02-08 12:23:27 +01:00
Claire Lovisa
bb377639f4 Merge pull request #232 from lblod/hotfix-delete-mandatarissen
migration to delete mandatarissen
2023-02-07 15:18:20 +01:00
Claire Lovisa
4179194e6f Moving migration to trigger reindex 2023-02-07 15:05:26 +01:00
Claire Lovisa
f5e24f3bc3 Merge branch 'development' into hotfix-delete-mandatarissen 2023-02-07 15:02:10 +01:00
Claire Lovisa
5bdf87632a Merge pull request #235 from lblod/internal/migrations-triggering-reindex
Migrations triggering reindex
2023-02-07 14:48:39 +01:00
Claire Lovisa
cbe53c5b6b Merge pull request #233 from lblod/change-kbo-number
Change kbo number
2023-02-07 14:47:22 +01:00
Claire Lovisa
0f7313b944 Add option to create migrations triggering index 2023-02-06 14:37:26 +01:00
iurianu
411d16e33d migration to remove dummy worship sewrvice 2023-02-03 15:49:53 +02:00
iurianu
6d1b58ecf0 migration to change kbo 2023-02-03 13:18:52 +02:00
Boris De Vloed
1767eff19b Do not delete mandate 2023-02-02 16:18:20 +01:00
Boris De Vloed
e30e93e00e Change to delete secondary contact point 2023-02-02 15:59:27 +01:00
iurianu
2958262abf migration to delete mandatarissen 2023-02-02 13:08:03 +02:00
Iulian Andriescu
3b3a7b548c Migration to remove region (#231)
migration to remove region
2023-02-01 13:21:01 +02:00
Iulian Andriescu
bdf7802a31 Add city change event (#230)
add-city-change-event
2023-02-01 10:17:55 +02:00
Nordine Bittich
7b8890b1ff mu search delta script (#229) 2023-01-31 11:33:53 +01:00
Boris De Vloed
bb74c52267 typo in target 2023-01-27 15:42:25 +01:00
Boris De Vloed
3d749242aa removed comma 2023-01-27 15:42:25 +01:00
Claire Lovisa
d52f121a0b Enable local involvements for central worship services
I had to deactivate parts of the cache, causing the frontend to have
very weird behaviours when the data was correct
2023-01-27 15:42:25 +01:00
Nordine Bittich
76cb2ef547 migration to delete mandatarissen, and person (#226) 2023-01-27 15:29:24 +01:00
Boris De Vloed
384a237bc4 Merge pull request #228 from lblod/fix/domain-json-syntax-error
typo in target
2023-01-27 10:36:32 +01:00
Boris De Vloed
eb78e3a6aa typo in target 2023-01-26 11:01:58 +00:00
Boris De Vloed
b3621bc103 Merge pull request #227 from lblod/fix/domain-json-syntax-error
Syntax error in domain.json
2023-01-26 11:05:38 +01:00
Boris De Vloed
03e5c42dcc removed comma 2023-01-26 10:01:44 +00:00
Nordine Bittich
c41175cbb1 fix missing governing bodies (#224) 2023-01-25 16:30:35 +01:00
Claire Lovisa
c5e1436ea8 Enable local involvements for central worship services
I had to deactivate parts of the cache, causing the frontend to have
very weird behaviours when the data was correct
2023-01-25 14:34:18 +01:00
Iulian Andriescu
9818c0e38e Fix / Change bedienaar roles (#217)
migration to change bedienaar roles
2023-01-25 13:10:36 +02:00
Iulian Andriescu
9c5ee85080 Fix / migration to delete bedienaren (#215)
migration to delete bedienaren
2023-01-25 13:09:38 +02:00
Claire Lovisa
07c762d845 Bump mu-search 2023-01-23 10:54:06 +01:00
Nordine Bittich
e9dfdbbcf2 bump frontend 2023-01-21 11:07:56 +01:00
Nordine Bittich
cd5bc1d0e7 Merge commit 'f95b285ff8666b6fa9e9a47b1a6403ec257e50a6' 2023-01-21 11:06:23 +01:00
Boris De Vloed
462d30dbc4 change start time 2023-01-21 11:06:14 +01:00
Nordine Bittich
a336ff05fd Merge commit '55c8b45cc7788ebfcc63357bca92109fb71ce498' 2023-01-21 11:05:58 +01:00
Boris De Vloed
ede4e60907 move metadata 2023-01-21 11:04:37 +01:00
Boris De Vloed
0f3bfbc6c4 typo 2023-01-21 11:04:30 +01:00
Boris De Vloed
546a5d7815 use same graph for dcat and files to avoid bug 2023-01-21 11:04:22 +01:00
Boris De Vloed
f95b285ff8 Merge pull request #220 from lblod/fix/kal-api-job-start
change start time
2023-01-20 13:16:34 +01:00
Boris De Vloed
2139f11878 change start time 2023-01-20 12:13:28 +00:00
Boris De Vloed
55c8b45cc7 Merge pull request #219 from lblod/fix/dump-cleanup-workaround
use same graph for dcat and files to avoid bug
2023-01-20 11:49:16 +01:00
Boris De Vloed
d1c9650c4d move metadata 2023-01-20 09:10:50 +00:00
Boris De Vloed
1e9958f540 typo 2023-01-19 17:03:38 +00:00
Boris De Vloed
cd3fbf7d67 use same graph for dcat and files to avoid bug 2023-01-19 17:00:36 +00:00
Boris De Vloed
56c0eb61cd Merge pull request #216 from lblod/fix/rm-empty-literals
delete empty literals
2023-01-18 17:08:13 +01:00
Boris De Vloed
23c985ff94 delete empty literals 2023-01-18 15:17:15 +00:00
Boris De Vloed
8824400cc9 Revert "deletes empty literals"
This reverts commit 856cf6e122.
2023-01-18 15:14:53 +00:00
Boris De Vloed
5d9b33d685 Merge branch 'development' of https://github.com/lblod/app-organization-portal into development 2023-01-18 15:08:51 +00:00
Boris De Vloed
856cf6e122 deletes empty literals 2023-01-18 15:08:49 +00:00
Claire Lovisa
bdf93458fa Bump frontend 2023-01-18 15:38:30 +01:00
Nordine Bittich
95263b41e3 bugfix non utf8 characters (#214) 2023-01-18 11:55:26 +01:00
Claire Lovisa
c9fba61ae7 Merge pull request #213 from lblod/fix/migration-removing-sites-contacts-and-identifiers
Update migration to avoid data loss
2023-01-17 10:28:39 +01:00
Claire Lovisa
8713e635ad Update migration to avoid data loss 2023-01-17 09:28:55 +01:00
Claire Lovisa
1241a31cd2 Merge pull request #212 from lblod/release/v1.14.0-0
Release v1.14.0-0
2023-01-16 15:36:01 +01:00
Claire Lovisa
7b8e944bb3 Bump frontend 2023-01-16 15:35:18 +01:00
Claire Lovisa
20b1498322 Merge branch 'development' into release/v1.14.0-0 2023-01-16 15:09:06 +01:00
Boris De Vloed
6cbca9c3fb Merge pull request #211 from lblod/feature/update-loket-consumers
apply worship-app changes
2023-01-13 10:44:50 +01:00
Boris De Vloed
075e56b1f2 Add identifier type to privacy graph 2023-01-13 08:45:50 +00:00
Boris De Vloed
bf8a5989ff Merge branch 'feature/update-loket-consumers' of https://github.com/lblod/app-organization-portal into feature/update-loket-consumers 2023-01-12 18:34:39 +00:00
Boris De Vloed
8e6f6067db increased scope of privacy sensitive 2023-01-12 18:33:42 +00:00
Claire Lovisa
fd89b9cbf4 Merge branch 'feature/update-loket-consumers' of github.com:lblod/app-organization-portal into feature/update-loket-consumers 2023-01-12 18:25:53 +01:00
Claire Lovisa
c4c8f2332b Ensure deletes and inserts happen in the correct order 2023-01-12 18:24:46 +01:00
Boris De Vloed
d89064d167 remove unnecessary log statement 2023-01-12 15:56:13 +00:00
Boris De Vloed
94fc9ac78e dispatch main and privacy sensitive position info 2023-01-12 10:26:26 +00:00
Iulian Andriescu
20d87aaf20 Fix/ Incident Handling (#206)
migration for deletion, and date change
2023-01-10 16:19:14 +02:00
Boris De Vloed
2576f86068 apply worship-app changes 2023-01-10 13:04:46 +00:00
Claire Lovisa
37f49f5495 Add missing dispatcher config for worship posts 2023-01-10 08:32:26 +01:00
Boris De Vloed
8e5d33f8fb Merge pull request #210 from lblod/fix/publisher-config
organizations publisher config update
2023-01-09 16:41:09 +01:00
Claire Lovisa
71e024c007 Fix worship posts jobs getting stuck 2023-01-09 13:11:31 +01:00
Boris De Vloed
fef430002b Merge branch 'development' into fix/publisher-config 2023-01-09 13:07:30 +01:00
Claire Lovisa
607384293d Merge pull request #209 from lblod/feature/mandates-producer
Add delta producer for worship posts
2023-01-09 10:38:16 +01:00
Nordine Bittich
d61b7c6c45 fix missing persons & use standard mu search (#207) 2023-01-08 10:15:17 +01:00
Boris De Vloed
0e64b2589c organizations publisher config update 2023-01-06 16:24:06 +00:00
Claire Lovisa
dbb9c06dd7 Limit producer to worship posts 2023-01-06 12:48:59 +01:00
Claire Lovisa
e61f606def Add delta producer for posts 2023-01-06 11:32:27 +01:00
Nordine Bittich
d32cb11cea delete oprhan persons (#208) 2023-01-05 11:09:09 +01:00
Boris De Vloed
bd282e7335 Merge pull request #205 from lblod/fix/kbonrs
fix some kbonrs
2023-01-02 08:40:40 +01:00
Boris De Vloed
13e27de65c fix some kbonrs 2022-12-23 15:59:57 +01:00
Iulian Andriescu
753c855164 migration to update bedienaar role (#203) 2022-12-20 16:48:33 +02:00
Iulian Andriescu
bd06e4483b Fix/incidents-handling (#199)
Migrations to delete duplicate persons, and to change roles
2022-12-19 13:32:21 +02:00
Boris De Vloed
040ba2f17a Merge pull request #201 from lblod/fix/loket-huisnr
correct property typo from loket
2022-12-15 13:03:14 +01:00
Boris De Vloed
f4c938ef96 correct property typo from loket 2022-12-15 10:27:43 +00:00
Boris De Vloed
2a49ad7f71 Merge pull request #191 from lblod/feature/loket-sync
loket to op sync with reasoning
2022-12-13 13:46:34 +01:00
Boris De Vloed
f6e7f92573 improve error handling reasaoning requests 2022-12-13 09:36:34 +00:00
Claire Lovisa
fee54793e3 Merge pull request #200 from lblod/feature/add-missing-betrokken-lokale-besturen-links
Add missing betrokken lokale besturen links
2022-12-09 10:07:45 +01:00
Claire Lovisa
ca8a6f4a65 Add missing betrokken lokale besturen links 2022-12-09 09:48:54 +01:00
Claire Lovisa
f38794236d Merge branch 'master' into development 2022-12-06 13:32:10 +01:00
Claire Lovisa
64149634fd Merge pull request #198 from lblod/hotfix/v1.13.4
Hotfix/v1.13.4
2022-12-06 13:31:54 +01:00
Claire Lovisa
21ee39edd6 Bump frontend 2022-12-06 13:29:57 +01:00
Iulian Andriescu
75d77f2b2e Fix/delete duplicate services (#194)
* update fuzzy search version

* migration to delete duplicate services

* Revert "update fuzzy search version"

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

* Revert "update fuzzy search version"

This reverts commit 18efa236dc.

* update fuzzy search version (#193)

* Fix change event date for Attaqwa

* migrationto delete duplicates

* Revert "Fix change event date for Attaqwa"

This reverts commit 924bc407eb1a012ce69a85b762978f92fdbc4288.

* Revert "migrationto delete duplicates"

This reverts commit 7736607655e1b7343e553174528d487981da8027.

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

14
.gitignore vendored
View File

@@ -1,19 +1,25 @@
# Virtuoso files /data/db
/data/publication-triplestore/*
/data/db.bck/**
/data/db/*
!/data/db/virtuoso.ini
/data/db/virtuoso.ini
!/data/db/toLoad
!/data/db/toLoad/*
/data/files/*
!/data/files/exports/.gitkeep
/data/temp/*
docker-compose.override.yml
.idea
*.iml
/data/elasticsearch/**
/data/ldes-feed/*
/tmp
.DS_STORE
.env
/config/migrations/private-data/*
/config/migrations/local/*
/config/proxy/nginx.htpasswd
@@ -23,9 +29,11 @@ DS_STORE
/config/proxy-https/cert.pem
/config/proxy-https/key.pem
# Kalliope config files
source.json
out.json
security.yml
output.json
security.json
config/proxy-https/proxy_ssl.conf
/config/search/update-handler.store
/config/search/dev/update-handler.store

View File

@@ -7,120 +7,180 @@ 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"
]
@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"
]
@protected_resource_type [
"http://www.w3.org/ns/org#Organization",
"http://data.vlaanderen.be/ns/besluit#Besluit",
"https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"https://data.vlaanderen.be/ns/persoon#Geboorte",
"http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"http://www.w3.org/ns/adms#Identifier",
"https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"http://www.w3.org/ns/org#ChangeEvent",
"http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
"http://www.w3.org/ns/prov#Location",
"http://www.w3.org/ns/org#Site",
"http://www.w3.org/ns/locn#Address",
"http://www.w3.org/ns/person#Person",
"http://data.vlaanderen.be/ns/mandaat#Mandaat",
"http://data.vlaanderen.be/ns/mandaat#Mandataris",
"http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
"http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"http://schema.org/ContactPoint",
"http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"http://www.w3.org/ns/org#Role",
"http://www.w3.org/ns/org#Post",
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie",
"http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
"http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype",
"http://www.w3.org/2004/02/skos/core#ConceptScheme",
"http://www.w3.org/2004/02/skos/core#Concept",
"http://xmlns.com/foaf/0.1/Image",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
"http://publications.europa.eu/ontology/euvoc#Country"
]
defp access_by_role( group_string ) do
@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"
]
@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",
]
@shared_protected_type [
"http://www.w3.org/ns/prov#Location",
"http://xmlns.com/foaf/0.1/Image",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
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 ) }
# 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
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:sessionRole ?session_role.
ext:activeSessionRole ?session_role.
FILTER( ?session_role = \"#{group_string}\" )
}"
end
def user_groups do
[
%GroupSpec{
%GroupSpec{
name: "acmidm-lezer",
useage: [:read],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-lezer" ),
access: access_by_role("ABBOrganisatiePortaalGebruiker-lezer"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/organisatieportaal",
graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
resource_types: @protected_resource_type
resource_types: @org_type
}
}
]
},
%GroupSpec{
%GroupSpec{
name: "acmidm-editeerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-editeerder" ),
access: access_by_role("ABBOrganisatiePortaalGebruiker-editeerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/organisatieportaal",
graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
resource_types: @protected_resource_type ++ @error_type
resource_types: @org_type ++ @error_type
}
}
]
},
%GroupSpec{
%GroupSpec{
name: "acmidm-beheerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-beheerder" ),
access: access_by_role("ABBOrganisatiePortaalGebruiker-beheerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/organisatieportaal",
graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
resource_types: @protected_resource_type ++ @error_type
resource_types: @org_type ++ @error_type
}
}
]
},
%GroupSpec{
name: "acmidm-worship-lezer",
useage: [:read],
access: access_by_role("ABBOrganisatiePortaalErediensten-lezer"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @worship_type
}
}
]
},
%GroupSpec{
name: "acmidm-worship-editeerder",
useage: [:read, :write, :read_for_write],
access: access_by_role("ABBOrganisatiePortaalErediensten-editeerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type ++ @worship_type
}
}
]
},
%GroupSpec{
name: "acmidm-worship-beheerder",
useage: [:read, :write, :read_for_write],
access: access_by_role("ABBOrganisatiePortaalErediensten-beheerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type ++ @worship_type
}
}
]
@@ -129,19 +189,21 @@ defmodule Acl.UserGroups.Config do
name: "public",
useage: [:read],
access: %AlwaysAccessible{},
graphs: [ %GraphSpec{
graph: "http://mu.semte.ch/graphs/public", # mock login only
constraint: %ResourceConstraint{
resource_types: [
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"http://xmlns.com/foaf/0.1/Person",
"http://xmlns.com/foaf/0.1/OnlineAccount",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
"http://www.w3.org/ns/dcat#Dataset",
"http://www.w3.org/ns/dcat#Distribution",
"http://www.w3.org/ns/dcat#Catalog"
]
} }]},
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
}
}
]
},
# // CLEANUP
#

View File

@@ -0,0 +1,30 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 1000;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://virtuoso:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 100);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
// Graphs
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/clb-contact-data`;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'database';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
};

View File

@@ -0,0 +1,268 @@
const PREFIXES = `
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX schema: <http://schema.org/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>`
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: [
{
trigger: { // subjectType or predicateValue
subjectType: "org:Site"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
${subject} ext:goesInGraph ?graphThree.
${subject} ext:goesInGraph ?graphFour.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnitOne org:hasPrimarySite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnitTwo org:hasSite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphTwo)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnitThree org:hasPrimarySite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphThree)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnitFour org:hasSite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphFour)
}
}`
},
{
trigger: { // subjectType or predicateValue
subjectType: "schema:ContactPoint"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?siteOne org:siteAddress ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?siteTwo org:siteAddress ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
}`
},
{
trigger: { // subjectType or predicateValue
subjectType: "locn:Address"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?siteOne organisatie:bestaatUit ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?siteTwo organisatie:bestaatUit ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
}`
},
//Predicate triggers to solve out of order deltas
{
trigger: { // subjectType or predicateValue
predicateValue: "org:hasSite"
},
//We assume that only administrative units are in the shared graph of OP due to the need of sharing the prefLabel with worships services
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/shared> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
${subject} org:hasSite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "org:hasPrimarySite"
},
//We assume that only administrative units are in the shared graph of OP due to the need of sharing the prefLabel with worships services
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/shared> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
${subject} org:hasPrimarySite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "org:siteAddress"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?contact ?pContact ?oContact.
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
${subject} org:siteAddress ?contact.
?contact ?pContact ?oContact.
OPTIONAL {
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "locn:address"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
${subject} locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "organisatie:bestaatUit"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?address ?pAddress ?oAddress.
} WHERE {
${subject} organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}`
}
]
}
module.exports = {
contextConfig,
PREFIXES
};

View File

@@ -0,0 +1,104 @@
const {
deleteFromPublicGraph,
insertIntoPublicGraph,
deleteFromSpecificGraphs,
insertIntoSpecificGraphs
} = require('./util');
const {
LANDING_ZONE_GRAPH
} = require('./config')
const publicTypes = [
'<http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>'
]
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext && termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
const {public: insertsOnPublic, target: insertsOnGraphs} = separateBetweenTargetAndPublic(original.inserts, withContext.inserts)
const {public: deletesOnPublic, target: deletesOnGraphs} = separateBetweenTargetAndPublic(original.deletes, withContext.deletes)
await deleteFromPublicGraph(lib, deletesOnPublic);
await deleteFromSpecificGraphs(lib, deletesOnGraphs);
await insertIntoPublicGraph(lib, insertsOnPublic);
await insertIntoSpecificGraphs(lib, insertsOnGraphs);
}
}
function separateBetweenTargetAndPublic(changes, context) {
const changesOnPublic = new Set();
const changesOnGraphs = {};
for(let change of changes) {
const subject = change.subject;
const contextTriples = context.filter((context) => context.subject === subject);
const graphTriple = contextTriples.find(
(context) => context.predicate === '<http://mu.semte.ch/vocabularies/ext/goesInGraph>'
&& context.object !== `<${LANDING_ZONE_GRAPH}>`
)
const otherContextTriples = context.filter(
(context) => context.predicate !== '<http://mu.semte.ch/vocabularies/ext/goesInGraph>'
&& context.predicate !== '<http://mu.semte.ch/vocabularies/ext/contextDataGoesInGraph>'
&& !(context.subject === subject && context.predicate === '<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>')
);
if(graphTriple) {
const graph = graphTriple.object.slice(1,-1); // We have to slice it to remove the "<" and ">"
if(change.object !== '') {
if(!changesOnGraphs[graph]) {
changesOnGraphs[graph] = new Set();
}
changesOnGraphs[graph].add(`${change.subject} ${change.predicate} ${change.object}.`)
}
for(let triple of otherContextTriples) {
if(triple.object === '') continue;
if(!changesOnGraphs[graph]) {
changesOnGraphs[graph] = new Set();
}
changesOnGraphs[graph].add(`${triple.subject} ${triple.predicate} ${triple.object}.`)
}
}
const typeTriple = contextTriples.find(
(context) => context.subject === subject
&& context.predicate === '<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>'
);
if(!typeTriple) continue;
const type = typeTriple.object;
if(publicTypes.includes(type)) {
changesOnPublic.add(`${change.subject} ${change.predicate} ${change.object}.`)
for(let triple of otherContextTriples) {
changesOnPublic.add(`${triple.subject} ${triple.predicate} ${triple.object}.`)
}
}
}
return {public: changesOnPublic, target: changesOnGraphs}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,69 @@
const { batchedDbUpdate, moveDataAfterInitialSync } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
LANDING_ZONE_GRAPH,
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - without any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib,data) {
const { muAuthSudo } = lib;
console.log(`!! On-finish triggered !!`);
await moveDataAfterInitialSync(muAuthSudo.updateSudo, endpoint)
}
module.exports = {
dispatch,
onFinishInitialIngest
};

View File

@@ -0,0 +1,337 @@
const {
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
LANDING_ZONE_GRAPH,
BATCH_SIZE,
} = require('./config');
const prefixes = `
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX schema: <http://schema.org/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ext:<http://mu.semte.ch/vocabularies/ext/>
`
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
async function insertIntoPublicGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into public graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
'http://mu.semte.ch/graphs/public',
Array.from(statements),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function insertIntoSpecificGraphs(lib, statementsWithGraphs) {
for( let graph in statementsWithGraphs) {
console.log(`Inserting ${statementsWithGraphs[graph].length} statements into ${graph} graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
graph,
Array.from(statementsWithGraphs[graph]),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
}
async function deleteFromPublicGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from public graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
'http://mu.semte.ch/graphs/public',
Array.from(statements),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function deleteFromSpecificGraphs(lib, statementsWithGraphs) {
for( let graph in statementsWithGraphs) {
console.log(`Deleting ${statementsWithGraphs[graph].length} statements from ${graph} graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
graph,
Array.from(statementsWithGraphs[graph]),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
}
async function moveDataAfterInitialSync(muUpdate, endpoint) {
// Move primary sites admin units
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move sites administrative units
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move primary sites worships
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move sites worships
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move sites worships
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?type a <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>.
?type ?a ?b.
}
} WHERE {
GRAPH <${LANDING_ZONE_GRAPH}> {
?type a <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>.
?type ?a ?b.
}
}
`, undefined, endpoint)
}
module.exports = {
batchedDbUpdate,
moveDataAfterInitialSync,
insertIntoPublicGraph,
deleteFromPublicGraph,
insertIntoSpecificGraphs,
deleteFromSpecificGraphs,
};

View File

@@ -1,54 +0,0 @@
{
"export": [
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#scopeNote"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.w3.org/ns/org#classification"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#scopeNote"
]
}
]
}

View File

@@ -0,0 +1,42 @@
[
{
"name": "organizations",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations",
"cronPatternDumpJob": "42 * * * *",
"cronPatternHealingJob": "0 0 4 * * *",
"startInitialSync": true
},
{
"name": "public",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public",
"cronPatternDumpJob": "11 */4 * * *",
"cronPatternHealingJob": "0 0 4 * * *",
"startInitialSync": true
},
{
"name": "organizations-public-info",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations-public-info",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations-public-info",
"cronPatternDumpJob": "27 */4 * * *",
"cronPatternHealingJob": "0 0 4 * * *",
"startInitialSync": true
},
{
"name": "worship-posts",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/worship-posts",
"cronPatternDumpJob": "17 */4 * * *",
"cronPatternHealingJob": "0 0 3 * * *",
"startInitialSync": true
}
]

View File

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

View File

@@ -0,0 +1,338 @@
{
"conceptScheme": "http://lblod.data.gift/concept-schemes/0d101f02-609d-4cde-bb07-639d874470c4",
"export": [
{
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite"
]
},
{
"type": "http://www.w3.org/ns/regorg#RegisteredOrganization",
"strictTypeExport": "true",
"graphsFilter": ["http://mu.semte.ch/graphs/administrative-unit"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/typebetrokkenheid",
"http://www.w3.org/ns/org#organization",
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": ["http://mu.semte.ch/graphs/worship-service"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
]
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": ["http://mu.semte.ch/graphs/worship-service"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier>/<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/RepresentatiefOrgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://purl.org/dc/terms/date",
"http://purl.org/dc/terms/description",
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/org#changedBy",
"http://lblod.data.gift/vocabularies/organisatie/veranderingsgebeurtenisResultaat",
"http://www.w3.org/ns/org#originalOrganization",
"http://www.w3.org/ns/org#resultingOrganization",
"http://data.europa.eu/m8g/hasFormalFramework"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role"
]
},
{
"type": "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"pathToConceptScheme": ["http://www.w3.org/2004/02/skos/core#inScheme"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#notation",
"https://schema.org/startDate",
"https://schema.org/endDate",
"http://www.w3.org/2004/02/skos/core#broader",
"http://www.w3.org/2004/02/skos/core#exactMatch",
"http://www.w3.org/2004/02/skos/core#narrower",
"http://www.w3.org/2004/02/skos/core#narrowMatch"
]
}
]
}

View File

@@ -3,9 +3,11 @@
{
"type": "http://www.w3.org/ns/person#Person",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"properties": [
"http://xmlns.com/foaf/0.1/givenName",
"http://xmlns.com/foaf/0.1/familyName",
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam",
@@ -16,7 +18,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -26,7 +28,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -46,7 +49,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -55,19 +58,23 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://schema.org/email",
"http://schema.org/faxNumber",
"http://schema.org/telephone",
"http://xmlns.com/foaf/0.1/page",
"http://www.w3.org/ns/locn#address"
]
},
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -78,7 +85,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -87,7 +94,7 @@
{
"type": "http://www.w3.org/ns/org#Role",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -96,7 +103,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -105,7 +112,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -115,10 +122,12 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -142,10 +151,12 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -162,14 +173,51 @@
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -180,14 +228,45 @@
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification"
]
},
{
"type": "http://www.w3.org/ns/regorg#RegisteredOrganization",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
@@ -195,13 +274,14 @@
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
"http://www.w3.org/ns/org#hasPost",
"http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -210,7 +290,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage",
@@ -221,7 +302,9 @@
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#notation",
@@ -231,7 +314,9 @@
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
@@ -240,7 +325,9 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
@@ -258,7 +345,8 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://www.w3.org/ns/org#siteAddress",
@@ -269,7 +357,8 @@
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://purl.org/dc/terms/date",
@@ -282,7 +371,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -291,16 +380,28 @@
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/prov#Location",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared"
],
"properties": [
"http://www.w3.org/2000/01/rdf-schema#label",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"http://www.w3.org/2004/02/skos/core#exactMatch"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -309,16 +410,17 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -333,26 +435,30 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/voldaan",
"http://data.lblod.info/vocabularies/erediensten/criterium",
"http://data.lblod.info/vocabularies/erediensten/criteriumbewijsstuktype"
]
},{
},
{
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2000/01/rdf-schema#label"
]
},{
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -364,16 +470,16 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinancieringCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -382,7 +488,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -391,7 +497,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -400,7 +506,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"

View File

@@ -5,14 +5,17 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -24,8 +27,6 @@
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
@@ -36,14 +37,17 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -55,23 +59,149 @@
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"comment": "Bound to ABB only.",
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://purl.org/dc/terms/identifier",
"http://www.w3.org/ns/org#classification"
],
"additionalFilter": "BIND(<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> as ?subject)"
},
{
"type": "http://www.w3.org/ns/regorg#RegisteredOrganization",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/typebetrokkenheid",
"http://www.w3.org/ns/org#organization",
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
},
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#siteAddress",
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"http://data.lblod.info/vocabularies/erediensten/vestigingstype"
@@ -80,16 +210,18 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"^http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer",
"http://www.w3.org/ns/locn#thoroughfare",
@@ -105,7 +237,9 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#siteAddress",
@@ -122,13 +256,14 @@
"http://xmlns.com/foaf/0.1/page",
"http://schema.org/email",
"http://schema.org/telephone"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/adms#identifier",
@@ -136,14 +271,29 @@
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator",
@@ -152,73 +302,102 @@
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
]
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier>/<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/RepresentatiefOrgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan"
]
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost",
"http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie"
],
"additionalFilter": "?subject (<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://www.w3.org/ns/org#classification>/<http://www.w3.org/2004/02/skos/core#inScheme>)|(<http://www.w3.org/ns/org#classification>/<http://www.w3.org/2004/02/skos/core#inScheme>) <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://purl.org/dc/terms/date",
"http://purl.org/dc/terms/description",
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
@@ -233,36 +412,89 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasPost",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role"
]
},
{
"type": "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/GeregistreerdeOrganisatieClassificatieCode",
"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"
]
}

View File

@@ -0,0 +1,93 @@
{
"organizations": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-organizations",
"exportConfigPath": "/config/organizations/export.json",
"filesPath": "/organizations/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/organizations",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/organizations",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/organizations/login",
"logOutgoingDelta": true
},
"public": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-public",
"exportConfigPath": "/config/public/export.json",
"filesPath": "/public/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/public",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/public",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/public",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"healingPatchPublicationGraphTaskOperation": 500,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/public/login",
"logOutgoingDelta": true
},
"organizations-public-info": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-organizations-public-info",
"exportConfigPath": "/config/organizations-public-info/export.json",
"filesPath": "/organizations-public-info/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations-public-info",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-public-info",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/organizations-public-info",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/organizations-public-info",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"healingPatchPublicationGraphTaskOperation": 500,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/organizations-public-info/login",
"logOutgoingDelta": true
},
"worship-posts": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-worship-posts",
"exportConfigPath": "/config/worship-posts/export.json",
"filesPath": "/worship-posts/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/worship-posts",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/worship-posts",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/worship-posts",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/worship-posts",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"healingPatchPublicationGraphTaskOperation": 500,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/worship-posts/login",
"logOutgoingDelta": true
}
}

View File

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

View File

@@ -3,7 +3,7 @@ export default [
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/organisatieportaal"
value: "http://mu.semte.ch/graphs/administrative-unit"
}
},
callback: {
@@ -20,7 +20,41 @@ export default [
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/organisatieportaal"
value: "http://mu.semte.ch/graphs/worship-service"
}
},
callback: {
url: 'http://search/update',
method: 'POST'
},
options: {
resourceFormat: "v0.0.1",
gracePeriod: 10000,
ignoreFromSelf: true
}
},
{
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/administrative-unit"
}
},
callback: {
url: 'http://resource/.mu/delta',
method: 'POST'
},
options: {
resourceFormat: "v0.0.1",
gracePeriod: 250,
ignoreFromSelf: true
}
},
{
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/worship-service"
}
},
callback: {
@@ -48,14 +82,14 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-administrative-units/delta',
url: 'http://delta-producer-publication-graph-maintainer/delta',
method: 'POST'
},
options: {
@@ -63,97 +97,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/administrative-units'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-administrative-units/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-organizations/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/organizations'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-organizations/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-public/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/public'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-public/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
@@ -171,6 +117,61 @@ export default [
url: 'http://delta-producer-dump-file-publisher/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
// organizations-sync-with-sharepoint/delta : jobs come from the jobs graph, data from the two main graphs
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/jobs'
}
},
callback: {
url: 'http://organizations-sync-with-sharepoint/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/shared'
}
},
callback: {
url: 'http://organizations-sync-with-sharepoint/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/administrative-unit'
}
},
callback: {
url: 'http://organizations-sync-with-sharepoint/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
@@ -178,4 +179,55 @@ export default [
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
}
/*
Commenting ldes rules until ready to go to qa/prod. In the meantime, we override the configuration on dev.
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/shared',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/worship-service',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/administrative-unit',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
}
*/
]

View File

@@ -0,0 +1,38 @@
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH ?g {
?mandaat ?pmandaat ?omandaat .
}
} WHERE {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
GRAPH ?g {
?mandaat mandaat:isBestuurlijkeAliasVan ?person ;
?pmandaat ?omandaat .
}
FILTER NOT EXISTS { ?person ?pperson ?operson . }
}
;
DELETE {
GRAPH ?g {
?mandaat ?pmandaat ?omandaat .
}
} WHERE {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
GRAPH ?g {
?mandaat mandaat:start ?start ;
?pmandaat ?omandaat .
}
FILTER NOT EXISTS { ?mandaat a ?type . }
}

View File

@@ -0,0 +1,200 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodorg: <https://data.lblod.info/vocabularies/organisatie/>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX nacebel: <http://data.gift/vocabularies/nace-bel/>
PREFIX core: <http://mu.semte.ch/vocabularies/core/>
# Core data
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a besluit:Bestuurseenheid.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a org:Organization.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a dc_terms:Agent.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9>.
# Site
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> core:uuid """6585490A8CEC3153DEA3A208""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:email """mail@adres.com""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:telephone """tel:+3211211430""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> foaf:page """https://www.vlaanderen.be""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:contactType """Primary""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> core:uuid """6585490B8CEC3153DEA3A209""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:telephone """tel:+3211211431""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:contactType """Secondary""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> core:uuid """6585490B8CEC3153DEA3A20A""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> a locn:Address .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:Adresvoorstelling.huisnummer """1""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:thoroughfare """Oude Markt""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:postCode """3000""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:gemeentenaam """Leuven""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:adminUnitL2 """Vlaams-Brabant""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:land """België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:fullAddress """Oude Markt 1, 3000 Leuven, België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:verwijstNaar <https://data.vlaanderen.be/id/adres/294733> .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> dc_terms:source <http://lblod.data.gift/concepts/e59c97a9-4e95-4d65-9696-756de47fbc1f> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> core:uuid """6585490B8CEC3153DEA3A20B""" .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> a org:Site .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> organisatie:bestaatUit <http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> ere:vestigingstype <http://lblod.data.gift/concepts/f1381723dec42c0b6ba6492e41d6f5dd> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:hasPrimarySite <http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> .
# KBO number
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> core:uuid """65856287B12D00C739F23920""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> generiek:lokaleIdentificator """0262925527""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> core:uuid """65856287B12D00C739F23921""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> skos:notation """KBO nummer""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921>.
# Sharepoint identifier
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> core:uuid """65856287B12D00C739F23922""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> generiek:lokaleIdentificator """sp-id-test""" .
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> core:uuid """65856287B12D00C739F23923""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> skos:notation """SharePoint identificator""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> .
# OVO number
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> .
<http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> a adms:Identifier ;
core:uuid """d5713a51-40d4-4b79-bf72-0d917f78c37b""" ;
skos:notation "OVO-nummer" ;
generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> .
<http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> a generiek:GestructureerdeIdentificator ;
core:uuid """438b542b-6841-4137-b8da-287b394328ee""" ;
generiek:lokaleIdentificator "OVO009999" .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> besluit:werkingsgebied <http://data.lblod.info/id/werkingsgebieden/a8040e566e7a22dfc6a83a7176d105abc68ab1bf1a89e94a1333c8f049131837>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> org:hasSubOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> ext:isFounderOfOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> a besluit:Bestuursorgaan ;
core:uuid """16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/013cc838-173a-4657-b1ae-b00c048df943> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Raad van bestuur""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee> a besluit:Bestuursorgaan ;
core:uuid """47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> a besluit:Bestuursorgaan ;
core:uuid """e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b52094ff-21a2-4da8-8dbe-f513365d1528> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Algemene vergadering""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86> a besluit:Bestuursorgaan ;
core:uuid """be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> a besluit:Bestuursorgaan ;
core:uuid """0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/41caf7e6-b040-4720-9cc2-a96cfffed5b4> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Leidend Ambtenaar""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> a besluit:Bestuursorgaan ;
core:uuid """a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> ;
mandaat:bindingStart "2019-01-01T00:00:00.000Z"^^xsd:dateTime .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> lblodlg:heeftBestuursfunctie <http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> .
<http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> a lblodlg:Bestuursfunctie ;
core:uuid """73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490""" ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/855489b9-b584-4f34-90b2-39aea808cd9f> ;
skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT Leidend ambtenaar""" .
}
}

View File

@@ -0,0 +1,199 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodorg: <https://data.lblod.info/vocabularies/organisatie/>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX nacebel: <http://data.gift/vocabularies/nace-bel/>
PREFIX core: <http://mu.semte.ch/vocabularies/core/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> a besluit:Bestuursorgaan ;
core:uuid """0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/41caf7e6-b040-4720-9cc2-a96cfffed5b4> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Leidend Ambtenaar""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> a besluit:Bestuursorgaan ;
core:uuid """e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b52094ff-21a2-4da8-8dbe-f513365d1528> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Algemene vergadering""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> a besluit:Bestuursorgaan ;
core:uuid """16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/013cc838-173a-4657-b1ae-b00c048df943> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Raad van bestuur""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a besluit:Bestuurseenheid.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a org:Organization.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a dc_terms:Agent.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9>.
# Site
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> core:uuid """6585490A8CEC3153DEA3A208""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:email """mail@adres.com""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:telephone """tel:+3211211430""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> foaf:page """https://www.vlaanderen.be""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:contactType """Primary""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> core:uuid """6585490B8CEC3153DEA3A209""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:telephone """tel:+3211211431""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:contactType """Secondary""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> core:uuid """6585490B8CEC3153DEA3A20A""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> a locn:Address .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:Adresvoorstelling.huisnummer """1""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:thoroughfare """Oude Markt""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:postCode """3000""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:gemeentenaam """Leuven""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:adminUnitL2 """Vlaams-Brabant""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:land """België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:fullAddress """Oude Markt 1, 3000 Leuven, België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:verwijstNaar <https://data.vlaanderen.be/id/adres/294733> .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> dc_terms:source <http://lblod.data.gift/concepts/e59c97a9-4e95-4d65-9696-756de47fbc1f> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> core:uuid """6585490B8CEC3153DEA3A20B""" .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> a org:Site .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> organisatie:bestaatUit <http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> ere:vestigingstype <http://lblod.data.gift/concepts/f1381723dec42c0b6ba6492e41d6f5dd> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:hasPrimarySite <http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> .
# KBO number
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> core:uuid """65856287B12D00C739F23920""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> generiek:lokaleIdentificator """0262925527""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> core:uuid """65856287B12D00C739F23921""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> skos:notation """KBO nummer""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921>.
# Sharepoint identifier
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> core:uuid """65856287B12D00C739F23922""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> generiek:lokaleIdentificator """sp-id-test""" .
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> core:uuid """65856287B12D00C739F23923""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> skos:notation """SharePoint identificator""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> .
# OVO number
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> .
<http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> a adms:Identifier ;
core:uuid """d5713a51-40d4-4b79-bf72-0d917f78c37b""" ;
skos:notation "OVO-nummer" ;
generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> .
<http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> a generiek:GestructureerdeIdentificator ;
core:uuid """438b542b-6841-4137-b8da-287b394328ee""" ;
generiek:lokaleIdentificator "OVO009999" .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> besluit:werkingsgebied <http://data.lblod.info/id/werkingsgebieden/a8040e566e7a22dfc6a83a7176d105abc68ab1bf1a89e94a1333c8f049131837>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> org:hasSubOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> ext:isFounderOfOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee> a besluit:Bestuursorgaan ;
core:uuid """47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86> a besluit:Bestuursorgaan ;
core:uuid """be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> a besluit:Bestuursorgaan ;
core:uuid """a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> ;
mandaat:bindingStart "2019-01-01T00:00:00.000Z"^^xsd:dateTime .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> lblodlg:heeftBestuursfunctie <http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> .
<http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> a lblodlg:Bestuursfunctie ;
core:uuid """73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490""" ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/855489b9-b584-4f34-90b2-39aea808cd9f> ;
skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT Leidend ambtenaar""" .
}
}

View File

@@ -0,0 +1,34 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ext:isFounderOfOrganization ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ext:isFounderOfOrganization ?o .
?o org:classification ?class .
VALUES ?class {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9> # Welzijnsvereniging
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/34b5af85-dc9f-468f-9e03-ef89b174c267> # Autonome verzorgingsinstelling
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s org:hasSubOrganization ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s org:hasSubOrganization ?o .
?o org:classification ?class .
VALUES ?class {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9> # Welzijnsvereniging
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/34b5af85-dc9f-468f-9e03-ef89b174c267> # Autonome verzorgingsinstelling
}
}
}

View File

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

View File

@@ -60,8 +60,8 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/board-position-codes/"
end
match "/agents/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/agents/"
match "/functionaries/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/functionaries/"
end
match "/agent-status-codes/*path", %{ accept: [:json], layer: :api} do
@@ -76,6 +76,10 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/organizations/"
end
match "/registered-organizations/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/registered-organizations/"
end
match "/administrative-units/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/administrative-units/"
end
@@ -84,12 +88,20 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/administrative-unit-classification-codes/"
end
match "/organization-classification-codes/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/organization-classification-codes/"
end
match "/registered-organization-classification-codes/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/registered-organization-classification-codes/"
end
match "/worship-administrative-units/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/worship-administrative-units/"
end
match "/worship-services/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://resource/worship-services/" # DISABLE CACHING FOR NOW (BUG OP-1404)
Proxy.forward conn, path, "http://cache/worship-services/"
end
match "/recognized-worship-types/*path", %{ accept: [:json], layer: :api} do
@@ -215,16 +227,24 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/decision-activities/"
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
###############
# LOGIN
###############
match "/accounts", %{ accept: [:json], layer: :api} do
Proxy.forward conn, [], "http://resource/accounts/"
Proxy.forward conn, [], "http://resource/accounts/"
end
match "/accounts/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://accountdetail/accounts/"
end
match "/active-role/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://roles/"
end
match "/groups/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://resource/groups/"
end
@@ -242,7 +262,6 @@ defmodule Dispatcher do
###############################################################
match "/search/*path", %{ accept: %{ json: true }, layer: :api_services} do
IO.puts("hey")
Proxy.forward conn, path, "http://search/"
end
@@ -262,26 +281,53 @@ defmodule Dispatcher do
forward conn, path, "http://adressenregister/"
end
match "/worship/person-information-updates/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-updates"
end
match "/worship/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-requests"
end
match "/worship/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-ask/"
end
match "/worship/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-worship/person-information-validate-ssn/"
end
match "/person-information-updates/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-updates"
forward conn, path, "http://privacy-unit/person-information-updates"
end
match "/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-requests"
forward conn, path, "http://privacy-unit/person-information-requests"
end
match "/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-ask/"
forward conn, path, "http://privacy-unit/person-information-ask/"
end
match "/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy/person-information-validate-ssn/"
forward conn, path, "http://privacy-unit/person-information-validate-ssn/"
end
get "/uri-info/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://uri-info/"
end
post "/construct-organization-relationships/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://construct-organization-relationships/create-relationships/"
end
post "/kbo-data-sync/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://kbo-data-sync/sync-kbo-data/"
end
get "/ldes/*path", %{ layer: :api_services } do
forward conn, path, "http://ldes-backend/"
end
#################################################################
# ERROR REPORT
@@ -300,7 +346,7 @@ defmodule Dispatcher do
end
get "/files/*path" , %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://cache/files/"
Proxy.forward conn, path, "http://resource/files/"
end
#################################################################
@@ -308,20 +354,11 @@ defmodule Dispatcher do
#################################################################
get "/datasets/*path", %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://cache/datasets/"
Proxy.forward conn, path, "http://resource/datasets/"
end
get "/distributions/*path", %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://cache/distributions/"
end
#################################################################
# DELTA: administrative-units
#################################################################
get "/sync/administrative-units/files/*path" do
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-administrative-units/files/"
Proxy.forward conn, path, "http://resource/distributions/"
end
#################################################################
@@ -329,17 +366,45 @@ defmodule Dispatcher do
#################################################################
get "/sync/organizations/files/*path" do
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-organizations/files/"
Proxy.forward conn, path, "http://delta-producer-publication-graph-maintainer/organizations/files/"
end
#################################################################
# DELTA: organizations-public-info
#################################################################
get "/sync/organizations-public-info/files/*path" do
Proxy.forward(conn, path, "http://delta-producer-publication-graph-maintainer/organizations-public-info/files/")
end
#################################################################
# DELTA: public
#################################################################
get "/sync/public/files/*path" do
Proxy.forward(conn, path, "http://delta-producer-publication-graph-maintainer/public/files/")
end
#################################################################
# DELTA: posts
#################################################################
get "/sync/worship-posts/files/*path" do
Proxy.forward(conn, path, "http://delta-producer-publication-graph-maintainer/worship-posts/files/")
end
#################################################################
# Exports
#################################################################
get "/download-exports/*path" do
Proxy.forward conn, path, "http://download-exports/"
end
###############################################################
# frontend layer
###############################################################
match "/authorization/callback/*_path", %{ accept: [:html], layer: :api } do
Proxy.forward conn, [], "http://frontend/torii/redirect.html"
end
match "/assets/*path", %{ layer: :api } do
Proxy.forward conn, path, "http://frontend/assets/"
end

View File

@@ -63,6 +63,38 @@
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextIndex": "0"
},
{
"currentOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "1"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations-public-info": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/healing/patchPublicationGraph",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations-public-info": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public": {
"tasksConfiguration": [
{
@@ -94,5 +126,55 @@
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextIndex": "0"
},
{
"currentOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "1"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/worship-posts": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/healing/patchPublicationGraph",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/initialSyncing/organizations": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/sp-sync/initialSyncing",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/healingOperation/organizations": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/sp-sync/healing",
"nextIndex": "0"
}
]
}
}

View File

@@ -0,0 +1,6 @@
{
"enabled": false,
"allowedIpAddresses": [],
"authSource": "/config/source.json",
"authOutput": "/config/output.json"
}

View File

@@ -1,9 +0,0 @@
# disabled on dev
application:
security:
enabled: false
spring:
autoconfigure:
exclude:
- org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
- org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration

View File

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

View File

@@ -0,0 +1,32 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://triplestore:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
TARGET_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
};

View File

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

View File

@@ -0,0 +1,85 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
} = require('./util');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map deletes from DL to OP model
const transformedDeletes = await transformStatements(fetch, deletesWithContext);
if (!transformedDeletes.length) {
console.log(`Warn: Delete statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedDeletes);
}
}
if (originalInserts.length) {
// Map inserts from DL to OP model
const transformedInserts = await transformStatements(fetch, insertsWithContext);
if (!transformedInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,85 @@
const { batchedDbUpdate, transformLandingZoneGraph } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedInsertTriples = await transformLandingZoneGraph(fetch, endpoint);
console.log(`Transformed ${transformedInsertTriples.length} triples`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_GRAPH,
transformedInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
module.exports = {
dispatch,
onFinishInitialIngest
};

View File

@@ -0,0 +1,168 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE,
} = require('./config');
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph
};

View File

@@ -0,0 +1,33 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://triplestore:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
TARGET_GRAPH
};

View File

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

View File

@@ -0,0 +1,85 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
} = require('./util');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map deletes from DL to OP model
const transformedDeletes = await transformStatements(fetch, deletesWithContext);
if (!transformedDeletes.length) {
console.log(`Warn: Delete statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedDeletes);
}
}
if (originalInserts.length) {
// Map inserts from DL to OP model
const transformedInserts = await transformStatements(fetch, insertsWithContext);
if (!transformedInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,85 @@
const { batchedDbUpdate, transformLandingZoneGraph } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedInsertTriples = await transformLandingZoneGraph(fetch, endpoint);
console.log(`Transformed ${transformedInsertTriples.length} triples`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_GRAPH,
transformedInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
module.exports = {
dispatch,
onFinishInitialIngest
};

View File

@@ -0,0 +1,168 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE
} = require('./config');
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph
};

View File

@@ -0,0 +1,40 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://triplestore:8890/sparql';
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/worship-service`;
const PRIVACY_SENSITIVE_GRAPH = process.env.PRIVACY_SENSITIVE_GRAPH || `http://mu.semte.ch/graphs/worship-privacy-centric-graph`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
// Mappings
const MAIN_INFO_MAPPING = "main-info";
const PRIVATE_INFO_MAPPING = "private-info";
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
};

View File

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

View File

@@ -0,0 +1,114 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
deleteFromPrivateGraph,
insertIntoPrivateGraph
} = require('./util');
const {
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map main deletes from DL to OP model
const transformedMainDeletes = await transformStatements(fetch, deletesWithContext, MAIN_INFO_MAPPING);
if (!transformedMainDeletes.length) {
console.log(`Warn: Delete main statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedMainDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedMainDeletes);
}
// Map private deletes from DL to OP model
const transformedPrivateDeletes = await transformStatements(fetch, deletesWithContext, PRIVATE_INFO_MAPPING);
if (!transformedPrivateDeletes.length) {
console.log(`Warn: Delete private statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedPrivateDeletes}`);
} else {
await deleteFromPrivateGraph(lib, transformedPrivateDeletes);
}
}
if (originalInserts.length) {
// Map main inserts from DL to OP model
const transformedMainInserts = await transformStatements(fetch, insertsWithContext, MAIN_INFO_MAPPING);
if (!transformedMainInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedMainInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedMainInserts);
}
// Map private inserts from DL to OP model
const transformedPrivateInserts = await transformStatements(fetch, insertsWithContext, PRIVATE_INFO_MAPPING);
if (!transformedPrivateInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedPrivateInserts}`);
} else {
await insertIntoPrivateGraph(lib, transformedPrivateInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,106 @@
const { batchedDbUpdate, transformLandingZoneGraph } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedMainInsertTriples = await transformLandingZoneGraph(fetch, endpoint, MAIN_INFO_MAPPING);
console.log(`Transformed ${transformedMainInsertTriples.length} main triples`);
if (transformedMainInsertTriples.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_GRAPH,
transformedMainInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
const transformedPrivateInsertTriples = await transformLandingZoneGraph(fetch, endpoint, PRIVATE_INFO_MAPPING);
console.log(`Transformed ${transformedPrivateInsertTriples.length} private triples`);
if (transformedPrivateInsertTriples.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
transformedPrivateInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
endpoint,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
module.exports = {
dispatch,
onFinishInitialIngest
};

View File

@@ -0,0 +1,204 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE
} = require('./config');
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function deleteFromPrivateGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function insertIntoPrivateGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph,
deleteFromPrivateGraph,
insertIntoPrivateGraph
};

View File

@@ -0,0 +1,15 @@
# Motivation
This folder contains migration files that are typically executed on an as-needed, or ad hoc, basis.
In addition, these files can function as templates or provide inspiration for future migrations.
## Warning
- Please keep in mind, when adding these files to the migrations folder, it's important to rename them according to the conventions established by the migration service
- As the data model or the data location may undergo changes over time, it's imporant to have a clear understanding of the implications when using these files.
## Template files
- `pseudonimyze-data.sparql-template` - the file that contains the sparql for pseudonymizing data in the triplestore. It should run every time the db is "refreshed" with a copy from PROD.
- `remove-stale-jobs.sparql-template` - removing `busy` and `scheduled` jobs.
- `remove-type-in-producer-graph.sparql-template` - the migration to handle the occasional sync issue between OP and Loket.

View File

@@ -0,0 +1,149 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <http://schema.org/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH ?g {
?person foaf:familyName ?fn.
?person foaf:givenName ?gn.
?person persoon:gebruikteVoornaam ?gvn.
}
} INSERT {
GRAPH ?g {
?person foaf:givenName ?gn_s.
?person foaf:familyName ?fn_s.
?person persoon:gebruikteVoornaam ?gvn_s.
}
} WHERE {
VALUES ?g { <http://mu.semte.ch/graphs/organisatieportaal> <http://redpencil.data.gift/id/deltas/producer/organizations>}
GRAPH ?g {
BIND("njbyevfeRTE8651B" AS ?salt).
?person a person:Person.
OPTIONAL {
?person foaf:givenName ?gn.
BIND(SHA1(CONCAT(?salt, ?gn)) AS ?gn_s).
}
OPTIONAL {
?person foaf:familyName ?fn.
BIND(SHA1(CONCAT(?salt, ?fn)) AS ?fn_s).
}
OPTIONAL {
?person persoon:gebruikteVoornaam ?gvn.
BIND(SHA1(CONCAT(?salt, ?gvn)) AS ?gvn_s).
}
}
}
;
DELETE {
GRAPH ?h {
?birth persoon:datum ?dob.
?identificator generiek:lokaleIdentificator ?rrn .
?person persoon:heeftNationaliteit ?nationality .
?person persoon:geslacht ?gender .
}
} INSERT {
GRAPH ?h {
?birth persoon:datum "1977-01-01T00:00:00Z"^^xsd:dateTime .
?identificator generiek:lokaleIdentificator "42012205181" .
}
} WHERE {
VALUES ?g { <http://mu.semte.ch/graphs/organisatieportaal> <http://redpencil.data.gift/id/deltas/producer/organizations>}
VALUES ?h { <http://mu.semte.ch/graphs/privacy-centric-graph> }
GRAPH ?g {
?person a person:Person.
}
GRAPH ?h {
OPTIONAL {
?person persoon:heeftGeboorte ?birth .
?birth persoon:datum ?dob.
}
OPTIONAL {
?person persoon:registratie/generiek:gestructureerdeIdentificator ?identificator .
?identificator generiek:lokaleIdentificator ?rrn .
}
OPTIONAL {
?person persoon:geslacht ?gender .
}
OPTIONAL {
?person persoon:heeftNationaliteit ?nationality .
}
}
}
;
DELETE {
GRAPH ?g {
?cp schema:telephone ?phone.
?cp schema:email ?mail.
?address locn:fullAddress ?fa.
?address adres:Adresvoorstelling.huisnummer ?huisnr.
?address adres:Adresvoorstelling.busnummer ?busnr.
?address locn:thoroughfare ?street.
?address locn:postCode ?postCode.
?address adres:gemeentenaam ?gemeente.
}
} INSERT {
GRAPH ?g {
?cp schema:telephone ?phone_s.
?cp schema:email ?mail_s.
?address locn:fullAddress ?fa_s.
?address adres:Adresvoorstelling.huisnummer ?huisnr_s.
?address adres:Adresvoorstelling.busnummer ?busnr_s.
?address locn:thoroughfare ?street_s.
?address locn:postCode ?postCode_s.
?address adres:gemeentenaam ?gemeente_s.
}
} WHERE {
VALUES ?g { <http://mu.semte.ch/graphs/organisatieportaal> <http://redpencil.data.gift/id/deltas/producer/organizations>}
GRAPH ?g {
BIND("njbyevfeRTE8651B" AS ?salt).
?cp a <http://schema.org/ContactPoint> .
OPTIONAL {
?cp schema:telephone ?phone.
BIND(SHA1(CONCAT(?salt, ?phone)) AS ?phone_s).
}
OPTIONAL {
?cp schema:email ?mail.
BIND(CONCAT(SHA1(CONCAT(?salt, ?mail)), "@email.com") AS ?mail_s).
}
OPTIONAL {
?cp locn:address ?address.
OPTIONAL {
?address locn:fullAddress ?fa.
BIND(SHA1(CONCAT(?salt, ?fa)) AS ?fa_s).
}
OPTIONAL {
?address adres:Adresvoorstelling.huisnummer ?huisnr.
BIND(SHA1(CONCAT(?salt, ?huisnr)) AS ?huisnr_s).
}
OPTIONAL {
?address adres:Adresvoorstelling.busnummer ?busnr.
BIND(SHA1(CONCAT(?salt, ?busnr)) AS ?busnr_s).
}
OPTIONAL {
?address locn:thoroughfare ?street.
BIND(SHA1(CONCAT(?salt, ?street)) AS ?street_s).
}
OPTIONAL {
?address locn:postCode ?postCode.
BIND(SHA1(CONCAT(?salt, ?postCode)) AS ?postCode_s).
}
OPTIONAL {
?address adres:gemeentenaam ?gemeente.
BIND(SHA1(CONCAT(?salt, ?gemeente)) AS ?gemeente_s).
}
}
}
}

View File

@@ -0,0 +1,25 @@
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX task: <http://redpencil.data.gift/vocabularies/tasks/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX oslc: <http://open-services.net/ns/core#>
PREFIX cogs: <http://vocab.deri.ie/cogs#>
PREFIX adms: <http://www.w3.org/ns/adms#>
DELETE {
GRAPH ?g {
?jobUri a <http://vocab.deri.ie/cogs#Job>.
?jobUri adms:status ?status.
?jobUri ?p ?o
}
}
WHERE {
GRAPH ?g {
?jobUri a <http://vocab.deri.ie/cogs#Job>.
?jobUri adms:status ?status.
?jobUri ?p ?o
FILTER(?status IN (<http://redpencil.data.gift/id/concept/JobStatus/busy>, <http://redpencil.data.gift/id/concept/JobStatus/scheduled>))
}
}

View File

@@ -0,0 +1,9 @@
DELETE WHERE {
GRAPH <http://redpencil.data.gift/id/deltas/producer/public> {
<http://data.lblod.info/id/besturenVanDeEredienst/4ea0cc455e37195c10acf457a8902ffb> a ?firsttype.
<http://data.lblod.info/id/besturenVanDeEredienst/66ce16dcb455dc95588c05916736d511> a ?secondtype.
<http://data.lblod.info/id/besturenVanDeEredienst/69dca6d7c6bf9d6073771788358c74e5> a ?thirdtype.
<http://data.lblod.info/id/besturenVanDeEredienst/c9ce0539d719b63b60598148b084a7e8> a ?fourthtype.
<http://data.lblod.info/id/besturenVanDeEredienst/560d86a055eddb83fd60e0ea3043a708> a ?fifthtype.
}
}

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@ PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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