Compare commits
117 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b62fca662 | ||
|
|
ea85a77865 | ||
|
|
642125be9b | ||
|
|
6a6d04ecb6 | ||
|
|
70d3174847 | ||
|
|
1e2d32b3c9 | ||
|
|
764638431f | ||
|
|
20f010bd42 | ||
|
|
7bb08363e2 | ||
|
|
b66278aec5 | ||
|
|
b273a77923 | ||
|
|
f689f90e37 | ||
|
|
20bc051103 | ||
|
|
8f57a160e0 | ||
|
|
6f731813bb | ||
|
|
03635e4b12 | ||
|
|
741a7cae2c | ||
|
|
f7c86a177f | ||
|
|
88fba9c90c | ||
|
|
af74dc7b7b | ||
|
|
d58d200341 | ||
|
|
6b7bb2ec5d | ||
|
|
565cf992c2 | ||
|
|
94662e4e04 | ||
|
|
ef98cd512a | ||
|
|
25eb28c6c5 | ||
|
|
eb55bc9def | ||
|
|
730e531387 | ||
|
|
1edc4cf0a6 | ||
|
|
3a375a4581 | ||
|
|
2666301048 | ||
|
|
7019d06b62 | ||
|
|
3cd6c2c7f7 | ||
|
|
8e311c6bab | ||
|
|
b296a99ac0 | ||
|
|
c5974f34d3 | ||
|
|
d70becf88f | ||
|
|
71b8b636c2 | ||
|
|
74096c96b1 | ||
|
|
5ea8bfc46b | ||
|
|
5438af149b | ||
|
|
e0a9e77441 | ||
|
|
cfd1a445de | ||
|
|
51e41f1eb1 | ||
|
|
090a69fd3f | ||
|
|
b60004fcf2 | ||
|
|
945faf8761 | ||
|
|
1f7a754eb9 | ||
|
|
93a86372e0 | ||
|
|
fd5844c319 | ||
|
|
dc62d6616b | ||
|
|
ccc06b1970 | ||
|
|
432d866b7b | ||
|
|
04f01f8302 | ||
|
|
01a374f98f | ||
|
|
34ec459382 | ||
|
|
7afee31178 | ||
|
|
1518c71334 | ||
|
|
c52ff23566 | ||
|
|
7964fd7879 | ||
|
|
86c2917396 | ||
|
|
d66b0b5eec | ||
|
|
6222aadf35 | ||
|
|
90f2cc26c5 | ||
|
|
fd98afc05b | ||
|
|
df4c187c2a | ||
|
|
08aae7881d | ||
|
|
2423b02840 | ||
|
|
0b18c44e2b | ||
|
|
4ea35853f1 | ||
|
|
04b25fea7d | ||
|
|
ae5c84d1d4 | ||
|
|
d40b2837b9 | ||
|
|
7926b078e3 | ||
|
|
eddf8f8b67 | ||
|
|
00a6144c16 | ||
|
|
d687463c0d | ||
|
|
74442fcdf6 | ||
|
|
40d7c72b59 | ||
|
|
44cbb222cc | ||
|
|
08b39e36c3 | ||
|
|
95953c7988 | ||
|
|
64f78722d9 | ||
|
|
2ed45e3a5e | ||
|
|
70e09cf995 | ||
|
|
e3ec21eb71 | ||
|
|
7da8ebb695 | ||
|
|
494caa8c59 | ||
|
|
13d8154a9a | ||
|
|
6cc953e4ed | ||
|
|
67efdf47aa | ||
|
|
fcf5d3fc59 | ||
|
|
15248b5e4b | ||
|
|
8c7e75acc8 | ||
|
|
9291024baa | ||
|
|
d202be0be8 | ||
|
|
ee1d6078ab | ||
|
|
fd6326c605 | ||
|
|
0502535e13 | ||
|
|
d617154e5d | ||
|
|
68677ead2a | ||
|
|
3102f48998 | ||
|
|
d5da714e12 | ||
|
|
c373a3708b | ||
|
|
7ae1793866 | ||
|
|
0e5ac9a59f | ||
|
|
90cc3a0888 | ||
|
|
86c8fd4b56 | ||
|
|
7050629e0c | ||
|
|
4b0f0c1df2 | ||
|
|
9b4b9a0a6d | ||
|
|
7902a1acad | ||
|
|
fef667fd9f | ||
|
|
c7e58abdc3 | ||
|
|
2c6d73d389 | ||
|
|
07b36fb193 | ||
|
|
633a44a85f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -20,6 +20,7 @@ docker-compose.override.yml
|
||||
|
||||
/config/migrations/private-data/*
|
||||
/config/migrations/local/*
|
||||
/config/migrations-triggering-indexing/local/*
|
||||
|
||||
/config/proxy/nginx.htpasswd
|
||||
|
||||
|
||||
113
CHANGELOG.md
113
CHANGELOG.md
@@ -1,4 +1,117 @@
|
||||
# Changelog
|
||||
## Unreleased
|
||||
|
||||
## v1.30.1 (2025-02-20)
|
||||
### Backend
|
||||
- Bestuursorgaanclassificatiecode of VGC was in wrong graph, so it wouldn't export. [DL-6428]
|
||||
### Deploy notes
|
||||
```
|
||||
drc restart migrations
|
||||
```
|
||||
## v1.30.0 (2025-02-19)
|
||||
### Frontend
|
||||
- Bump to version [v1.29.0](https://github.com/lblod/frontend-organization-portal/releases/tag/v1.29.0)
|
||||
### Backend
|
||||
- Datafix: delete duplicate identifiers [OP-3157]
|
||||
- Feature: replace different relations between organisations by memberships [OP-3195 (epic), OP-2606, OP-3156, OP-3198, OP-3199, OP-3258, OP-3259, OP-3260, OP-3265, OP-3293, OP-3305]
|
||||
- Added `db-cleanup-service` to keep membership data backwards compatible [OP-3369]
|
||||
- Datafix: delete incorrect change event [OP-3363]
|
||||
- Feature: re-enable contact data editing [OP-3425]
|
||||
- Remove gemeente and provincie classifications from admin unit graph [OP-3393]
|
||||
- Remove several OCMW bcsd faciliteitgemeenten [OP-3535]
|
||||
- Completely remove AGB Stekene's data. [OP-3409]
|
||||
- Remove reasoner service, replaced by new consumer logic
|
||||
|
||||
### Deploy Notes
|
||||
- Before pulling the changes
|
||||
+ Shut down the reasoner and thank it for its good service: `drc down reasoner`
|
||||
- Re-enable contact date editing:
|
||||
+ remove `EMBER_ENABLE_EDIT_CONTACT_DATA_FEATURE` flag in `docker-compose.override.yml`
|
||||
+ Stop and remove the `clb-contact-data-consumer` service
|
||||
+ Remove the `clb-contact-data-consumer` configuration in `docker-compose.override.yml`
|
||||
- Rebuild the `search` service before starting the re-indexing
|
||||
- To enable the membership functionality:
|
||||
+ Restart migration service
|
||||
+ Restart services for which the configuration was changed: `resource`, `dispatcher` and `db`
|
||||
+ Start the `db-cleanup` service
|
||||
+ Pull and restart the frontend
|
||||
+ Perform a re-index using `reset-elastic.sh` script
|
||||
#### Deploy commands
|
||||
```
|
||||
drc down clb-contact-data-consumer
|
||||
drc up -d search
|
||||
drc restart migrations; drc logs -ft --tail=200 migrations
|
||||
drc restart migrations-triggering-indexing && drc logs -ft --tail=200 migrations-triggering-indexing
|
||||
drc restart resource dispatcher db
|
||||
drc up -d db-cleanup
|
||||
drc pull frontend; drc up -d frontend
|
||||
./scripts/reset-elastic.sh
|
||||
```
|
||||
|
||||
## 1.29.2 (2025-02-17)
|
||||
### Data fix
|
||||
- restore betrokken lokale besturen that have been accidentally flushed [OP-3546]
|
||||
|
||||
## 1.29.1 (2025-02-14)
|
||||
### Backend
|
||||
- re-init `worship-services-sensitive-consumer` [OP-3483]
|
||||
### Deploy notes
|
||||
:warning: Ensure first loket did a full re-sync again of this delta-stream.
|
||||
```
|
||||
drc stop worship-services-main-info-consumer worship-services-private-info-consumer
|
||||
drc retart migrations
|
||||
```
|
||||
Update `docker-compose.override.yml` to remove the config of the consumers and replace it by:
|
||||
```
|
||||
worship-services-main-info-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # or another endpoint
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/worship-services-sensitive/login" # or another endpoint
|
||||
DCR_SECRET_KEY: "key-of-the-producer"
|
||||
DCR_LANDING_ZONE_DATABASE: "triplestore" # for the initial sync, we go directly to virtuoso
|
||||
DCR_REMAPPING_DATABASE: "triplestore" # for the initial sync, we go directly to virtuoso
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
worship-services-private-info-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # or another endpoint
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/worship-services-sensitive/login" # or another endpoint
|
||||
DCR_SECRET_KEY: "key-of-the-producer"
|
||||
DCR_LANDING_ZONE_DATABASE: "triplestore" # for the initial sync, we go directly to virtuoso
|
||||
DCR_REMAPPING_DATABASE: "triplestore" # for the initial sync, we go directly to virtuoso
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
```
|
||||
Then
|
||||
```
|
||||
drc up -d db mandatarissen-consumer leidinggevenden-consumer worship-services-main-info-consumer worship-services-private-info-consumer
|
||||
# Wait until success of the previous step
|
||||
```
|
||||
Then, update `docker-compose.override.yml` to:
|
||||
```
|
||||
worship-services-main-info-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # or another endpoint
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/worship-services-sensitive/login" # or another endpoint
|
||||
DCR_SECRET_KEY: "key-of-the-producer"
|
||||
DCR_LANDING_ZONE_DATABASE: "db"
|
||||
DCR_REMAPPING_DATABASE: "db"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
worship-services-private-info-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # or another endpoint
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/worship-services-sensitive/login" # or another endpoint
|
||||
DCR_SECRET_KEY: "key-of-the-producer"
|
||||
DCR_LANDING_ZONE_DATABASE: "database"
|
||||
DCR_REMAPPING_DATABASE: "database"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
```
|
||||
```
|
||||
drc up -d
|
||||
sh scripts/reset-elastic.sh
|
||||
```
|
||||
|
||||
## 1.29.0 (2025-02-07)
|
||||
### Backend
|
||||
|
||||
@@ -79,6 +79,8 @@ defmodule Acl.UserGroups.Config do
|
||||
"http://www.w3.org/ns/org#ChangeEvent",
|
||||
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie",
|
||||
"http://mu.semte.ch/vocabularies/ext/KboOrganisatie",
|
||||
"http://www.w3.org/ns/org#Membership",
|
||||
"http://www.w3.org/2006/time#ProperInterval"
|
||||
]
|
||||
|
||||
@shared_protected_type [
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
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
|
||||
};
|
||||
@@ -1,268 +0,0 @@
|
||||
|
||||
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
|
||||
};
|
||||
@@ -1,104 +0,0 @@
|
||||
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
|
||||
};
|
||||
@@ -1,69 +0,0 @@
|
||||
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
|
||||
};
|
||||
@@ -1,337 +0,0 @@
|
||||
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,
|
||||
};
|
||||
@@ -0,0 +1,31 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership ?p ?o .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
org:member ?member ;
|
||||
org:organization ?organization ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> ; # has a relation with
|
||||
?p ?o .
|
||||
|
||||
?organization org:classification ?organizationClass .
|
||||
FILTER (?organizationClass IN
|
||||
(
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/ea446861-2c51-45fa-afd3-4e4a37b71562> , # HVZ
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d> , # APB
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71> , # Dienstverlenende vereniging
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d> , # Opdrachthoudende vereniging
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/4b8450cf-a326-4c66-9e63-b4ec10acc7f6> , # Opdrachthoudende vereniging met private deelname
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc> , # Projectvereniging
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc> , # Politiezone
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/34b5af85-dc9f-468f-9e03-ef89b174c267> , # Autonome verzorgingsinstelling
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> , # AGB
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9> # Welzijnsvereniging
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1,364 +1,387 @@
|
||||
defmodule Dispatcher do
|
||||
use Matcher
|
||||
|
||||
define_accept_types [
|
||||
define_accept_types(
|
||||
html: ["text/html", "application/xhtml+html"],
|
||||
json: ["application/json", "application/vnd.api+json"],
|
||||
upload: ["multipart/form-data"],
|
||||
sparql_json: ["application/sparql-results+json"],
|
||||
any: [ "*/*" ],
|
||||
]
|
||||
|
||||
define_layers [ :api_services, :api, :frontend, :not_found ]
|
||||
any: ["*/*"]
|
||||
)
|
||||
|
||||
define_layers([:api_services, :api, :frontend, :not_found])
|
||||
|
||||
###############################################################
|
||||
# domain.json
|
||||
###############################################################
|
||||
|
||||
match "/people/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/people/"
|
||||
match "/people/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/people/")
|
||||
end
|
||||
|
||||
match "/agents-in-position/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/agents-in-position/"
|
||||
match "/agents-in-position/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/agents-in-position/")
|
||||
end
|
||||
|
||||
match "/posts/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/posts/"
|
||||
match "/posts/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/posts/")
|
||||
end
|
||||
|
||||
match "/mandatories/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/mandatories/"
|
||||
match "/mandatories/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/mandatories/")
|
||||
end
|
||||
|
||||
match "/mandatory-status-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/mandatory-status-codes/"
|
||||
match "/mandatory-status-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/mandatory-status-codes/")
|
||||
end
|
||||
|
||||
match "/worship-mandatories/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/worship-mandatories/"
|
||||
match "/worship-mandatories/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/worship-mandatories/")
|
||||
end
|
||||
|
||||
match "/half-elections/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/half-elections/"
|
||||
match "/half-elections/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/half-elections/")
|
||||
end
|
||||
|
||||
match "/contact-points/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/contact-points/"
|
||||
match "/contact-points/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/contact-points/")
|
||||
end
|
||||
|
||||
match "/mandates/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/mandates/"
|
||||
match "/mandates/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/mandates/")
|
||||
end
|
||||
|
||||
match "/board-positions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/board-positions/"
|
||||
match "/board-positions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/board-positions/")
|
||||
end
|
||||
|
||||
match "/board-position-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/board-position-codes/"
|
||||
match "/board-position-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/board-position-codes/")
|
||||
end
|
||||
|
||||
match "/functionaries/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/functionaries/"
|
||||
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
|
||||
Proxy.forward conn, path, "http://cache/agent-status-codes/"
|
||||
match "/agent-status-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/agent-status-codes/")
|
||||
end
|
||||
|
||||
match "/roles/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/roles/"
|
||||
match "/roles/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/roles/")
|
||||
end
|
||||
|
||||
match "/organizations/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/organizations/"
|
||||
match "/organizations/*path", %{accept: [:json], layer: :api} 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/"
|
||||
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/"
|
||||
match "/administrative-units/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/administrative-units/")
|
||||
end
|
||||
|
||||
match "/administrative-unit-classification-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/administrative-unit-classification-codes/"
|
||||
match "/administrative-unit-classification-codes/*path", %{accept: [:json], layer: :api} 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/"
|
||||
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/"
|
||||
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/"
|
||||
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://cache/worship-services/"
|
||||
match "/worship-services/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/worship-services/")
|
||||
end
|
||||
|
||||
match "/recognized-worship-types/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/recognized-worship-types/"
|
||||
match "/recognized-worship-types/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/recognized-worship-types/")
|
||||
end
|
||||
|
||||
match "/central-worship-services/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/central-worship-services/"
|
||||
match "/central-worship-services/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/central-worship-services/")
|
||||
end
|
||||
|
||||
match "/representative-bodies/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/representative-bodies/"
|
||||
match "/representative-bodies/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/representative-bodies/")
|
||||
end
|
||||
|
||||
match "/governing-bodies/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/governing-bodies/"
|
||||
match "/governing-bodies/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/governing-bodies/")
|
||||
end
|
||||
|
||||
match "/governing-body-classification-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/governing-body-classification-codes/"
|
||||
match "/governing-body-classification-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/governing-body-classification-codes/")
|
||||
end
|
||||
|
||||
match "/local-involvements/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/local-involvements/"
|
||||
match "/local-involvements/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/local-involvements/")
|
||||
end
|
||||
|
||||
match "/identifiers/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/identifiers/"
|
||||
match "/identifiers/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/identifiers/")
|
||||
end
|
||||
|
||||
match "/structured-identifiers/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/structured-identifiers/"
|
||||
match "/structured-identifiers/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/structured-identifiers/")
|
||||
end
|
||||
|
||||
match "/addresses/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/addresses/"
|
||||
match "/addresses/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/addresses/")
|
||||
end
|
||||
|
||||
match "/sites/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/sites/"
|
||||
match "/sites/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/sites/")
|
||||
end
|
||||
|
||||
match "/change-events/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/change-events/"
|
||||
match "/change-events/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/change-events/")
|
||||
end
|
||||
|
||||
match "/change-event-types/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/change-event-types/"
|
||||
match "/change-event-types/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/change-event-types/")
|
||||
end
|
||||
|
||||
match "/change-event-results/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/change-event-results/"
|
||||
match "/change-event-results/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/change-event-results/")
|
||||
end
|
||||
|
||||
match "/organization-status-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/organization-status-codes/"
|
||||
match "/organization-status-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/organization-status-codes/")
|
||||
end
|
||||
|
||||
match "/locations/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/locations/"
|
||||
match "/locations/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/locations/")
|
||||
end
|
||||
|
||||
match "/involvement-types/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/involvement-types/"
|
||||
match "/involvement-types/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/involvement-types/")
|
||||
end
|
||||
|
||||
match "/ministers/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/ministers/"
|
||||
match "/ministers/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/ministers/")
|
||||
end
|
||||
|
||||
match "/minister-conditions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/minister-conditions/"
|
||||
match "/minister-conditions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/minister-conditions/")
|
||||
end
|
||||
|
||||
match "/dates-of-birth/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/dates-of-birth/"
|
||||
match "/dates-of-birth/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/dates-of-birth/")
|
||||
end
|
||||
|
||||
match "/nationalities/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/nationalities/"
|
||||
match "/nationalities/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/nationalities/")
|
||||
end
|
||||
|
||||
match "/gender-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/gender-codes/"
|
||||
end
|
||||
match "/concepts/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/concepts/"
|
||||
match "/gender-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/gender-codes/")
|
||||
end
|
||||
|
||||
match "/minister-positions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/minister-positions/"
|
||||
match "/concepts/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/concepts/")
|
||||
end
|
||||
|
||||
match "/minister-position-functions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/minister-position-functions/"
|
||||
match "/minister-positions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/minister-positions/")
|
||||
end
|
||||
|
||||
match "/financing-codes/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/financing-codes/"
|
||||
match "/minister-position-functions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/minister-position-functions/")
|
||||
end
|
||||
|
||||
match "/minister-condition-criterions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/minister-condition-criterions/"
|
||||
match "/financing-codes/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/financing-codes/")
|
||||
end
|
||||
|
||||
match "/document-types-criterions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/document-types-criterions/"
|
||||
match "/minister-condition-criterions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/minister-condition-criterions/")
|
||||
end
|
||||
|
||||
match "/site-types/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/site-types/"
|
||||
match "/document-types-criterions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/document-types-criterions/")
|
||||
end
|
||||
|
||||
match "/request-reasons/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/request-reasons/"
|
||||
match "/site-types/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/site-types/")
|
||||
end
|
||||
|
||||
match "/decisions/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/decisions/"
|
||||
match "/request-reasons/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/request-reasons/")
|
||||
end
|
||||
|
||||
match "/decision-activities/*path", %{ accept: [:json], layer: :api} do
|
||||
Proxy.forward conn, path, "http://cache/decision-activities/"
|
||||
match "/decisions/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/decisions/")
|
||||
end
|
||||
|
||||
match "/decision-activities/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/decision-activities/")
|
||||
end
|
||||
|
||||
match "/memberships/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/memberships/")
|
||||
end
|
||||
|
||||
match "/membership-roles/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://cache/membership-roles/")
|
||||
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/"
|
||||
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/"
|
||||
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/"
|
||||
match "/accounts", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, [], "http://resource/accounts/")
|
||||
end
|
||||
|
||||
match "/mock/sessions/*path", %{ accept: [:any], layer: :api} do
|
||||
Proxy.forward conn, path, "http://mocklogin/sessions/"
|
||||
match "/accounts/*path", %{accept: [:json], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://accountdetail/accounts/")
|
||||
end
|
||||
|
||||
match "/sessions/*path", %{ accept: [:any], layer: :api} do
|
||||
Proxy.forward conn, path, "http://login/sessions/"
|
||||
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
|
||||
|
||||
match "/mock/sessions/*path", %{accept: [:any], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://mocklogin/sessions/")
|
||||
end
|
||||
|
||||
match "/sessions/*path", %{accept: [:any], layer: :api} do
|
||||
Proxy.forward(conn, path, "http://login/sessions/")
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# SEARCH
|
||||
###############################################################
|
||||
|
||||
match "/search/*path", %{ accept: %{ json: true }, layer: :api_services} do
|
||||
Proxy.forward conn, path, "http://search/"
|
||||
match "/search/*path", %{accept: %{json: true}, layer: :api_services} do
|
||||
Proxy.forward(conn, path, "http://search/")
|
||||
end
|
||||
|
||||
###############
|
||||
# API SERVICES
|
||||
###############
|
||||
|
||||
match "/v3/api-docs/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://kalliope-api/v3/api-docs/"
|
||||
match "/v3/api-docs/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
forward(conn, path, "http://kalliope-api/v3/api-docs/")
|
||||
end
|
||||
|
||||
match "/consolidated/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://kalliope-api/consolidated/"
|
||||
match "/consolidated/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
forward(conn, path, "http://kalliope-api/consolidated/")
|
||||
end
|
||||
|
||||
match "/adresses-register/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://adressenregister/"
|
||||
match "/adresses-register/*path", %{layer: :api_services, accept: %{json: true}} 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"
|
||||
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"
|
||||
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/"
|
||||
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/"
|
||||
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-unit/person-information-updates"
|
||||
match "/person-information-updates/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
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-unit/person-information-requests"
|
||||
match "/person-information-requests/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
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-unit/person-information-ask/"
|
||||
match "/person-information-ask/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
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-unit/person-information-validate-ssn/"
|
||||
match "/person-information-validate-ssn/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
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/"
|
||||
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/"
|
||||
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/"
|
||||
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/"
|
||||
get "/ldes/*path", %{layer: :api_services} do
|
||||
forward(conn, path, "http://ldes-backend/")
|
||||
end
|
||||
|
||||
#################################################################
|
||||
# ERROR REPORT
|
||||
#################################################################
|
||||
|
||||
match "/error-reports/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
forward conn, path, "http://error-report-service/error-reports/"
|
||||
match "/error-reports/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
forward(conn, path, "http://error-report-service/error-reports/")
|
||||
end
|
||||
|
||||
#################################################################
|
||||
# FILES
|
||||
#################################################################
|
||||
|
||||
get "/files/:id/download", %{ accept: [:any], } do
|
||||
Proxy.forward conn, [], "http://file/files/" <> id <> "/download"
|
||||
get "/files/:id/download", %{accept: [:any]} do
|
||||
Proxy.forward(conn, [], "http://file/files/" <> id <> "/download")
|
||||
end
|
||||
|
||||
get "/files/*path" , %{ layer: :api_services, accept: %{ json: true } } do
|
||||
Proxy.forward conn, path, "http://resource/files/"
|
||||
get "/files/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
Proxy.forward(conn, path, "http://resource/files/")
|
||||
end
|
||||
|
||||
#################################################################
|
||||
# DCAT
|
||||
#################################################################
|
||||
|
||||
get "/datasets/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
Proxy.forward conn, path, "http://resource/datasets/"
|
||||
get "/datasets/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
Proxy.forward(conn, path, "http://resource/datasets/")
|
||||
end
|
||||
|
||||
get "/distributions/*path", %{ layer: :api_services, accept: %{ json: true } } do
|
||||
Proxy.forward conn, path, "http://resource/distributions/"
|
||||
get "/distributions/*path", %{layer: :api_services, accept: %{json: true}} do
|
||||
Proxy.forward(conn, path, "http://resource/distributions/")
|
||||
end
|
||||
|
||||
#################################################################
|
||||
@@ -398,44 +421,42 @@ defmodule Dispatcher do
|
||||
#################################################################
|
||||
|
||||
get "/download-exports/*path" do
|
||||
Proxy.forward conn, path, "http://download-exports/"
|
||||
Proxy.forward(conn, path, "http://download-exports/")
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# frontend layer
|
||||
###############################################################
|
||||
|
||||
match "/assets/*path", %{ layer: :api } do
|
||||
Proxy.forward conn, path, "http://frontend/assets/"
|
||||
match "/assets/*path", %{layer: :api} do
|
||||
Proxy.forward(conn, path, "http://frontend/assets/")
|
||||
end
|
||||
|
||||
match "/@appuniversum/*path", %{ layer: :api } do
|
||||
Proxy.forward conn, path, "http://frontend/@appuniversum/"
|
||||
match "/@appuniversum/*path", %{layer: :api} do
|
||||
Proxy.forward(conn, path, "http://frontend/@appuniversum/")
|
||||
end
|
||||
|
||||
match "/*path", %{ accept: [:html], layer: :api } do
|
||||
Proxy.forward conn, [], "http://frontend/index.html"
|
||||
match "/*path", %{accept: [:html], layer: :api} do
|
||||
Proxy.forward(conn, [], "http://frontend/index.html")
|
||||
end
|
||||
|
||||
match "/*_path", %{ layer: :frontend } do
|
||||
Proxy.forward conn, [], "http://frontend/index.html"
|
||||
match "/*_path", %{layer: :frontend} do
|
||||
Proxy.forward(conn, [], "http://frontend/index.html")
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# sparql endpoint
|
||||
###############################################################
|
||||
|
||||
post "/sparql/*path", %{ layer: :api_services, accept: %{ sparql_json: true } } do
|
||||
forward conn, path, "http://db:8890/sparql/"
|
||||
post "/sparql/*path", %{layer: :api_services, accept: %{sparql_json: true}} do
|
||||
forward(conn, path, "http://db:8890/sparql/")
|
||||
end
|
||||
|
||||
###############################################################
|
||||
# errors
|
||||
###############################################################
|
||||
|
||||
match "/*_path", %{ accept: [:any], layer: :not_found} do
|
||||
send_resp( conn, 404, "{\"error\": {\"code\": 404}")
|
||||
match "/*_path", %{accept: [:any], layer: :not_found} do
|
||||
send_resp(conn, 404, "{\"error\": {\"code\": 404}")
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> <http://www.w3.org/ns/regorg#orgStatus> ?orgStatus .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> <http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH ?g {
|
||||
<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> <http://www.w3.org/ns/regorg#orgStatus> ?orgStatus .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?bestuursorganen ?bestuursorganenP ?bestuursorganenO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?bestuursorganen {
|
||||
<http://data.lblod.info/id/bestuursorganen/24d8e602a8ddbe0adf3dea8c40277706>
|
||||
<http://data.lblod.info/id/bestuursorganen/dad1789d9b9f8f6cb3c81cc2ca88154f>
|
||||
<http://data.lblod.info/id/bestuursorganen/b90d16f2c8043bc20b88da232c0389fc>
|
||||
<http://data.lblod.info/id/bestuursorganen/2f27a688e1728c1906a4bbd8670d7810>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?bestuursorganen ?bestuursorganenP ?bestuursorganenO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?bestuursorganenInTijd ?bestuursorganenInTijdP ?bestuursorganenInTijdO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?bestuursorganenInTijd {
|
||||
<http://data.lblod.info/id/bestuursorganen/c5bb7bca7363109b94b58b1aef6ed59c>
|
||||
<http://data.lblod.info/id/bestuursorganen/8d43a29c6ed4a8af0cd43d4aba2c7014>
|
||||
<http://data.lblod.info/id/bestuursorganen/f54979f47464bae1cc001788aedb8b86>
|
||||
<http://data.lblod.info/id/bestuursorganen/c9a7d9130e1dd8f26ddb8c96fdd94c64>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?bestuursorganenInTijd ?bestuursorganenInTijdP ?bestuursorganenInTijdO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?identifier ?identifierP ?identifierO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?identifier {
|
||||
<http://data.lblod.info/id/identificatoren/99554be7-29d2-403a-a7d5-bda842b4bd86>
|
||||
<http://data.lblod.info/id/identificatoren/19847e1b-a2bf-48a1-872e-baf8d4efaa12>
|
||||
<http://data.lblod.info/id/identificatoren/b2123d27-b6bc-4e70-b594-27d35c696713>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?identifier ?identifierP ?identifierO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?structuredIdentifier ?structuredIdentifierP ?structuredIdentifierO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?structuredIdentifier {
|
||||
<http://data.lblod.info/id/gestructureerdeIdentificatoren/920f98a2-1785-4de1-81ed-5859c224dcb8>
|
||||
<http://data.lblod.info/id/gestructureerdeIdentificatoren/5e1082d8-7751-4bed-a53f-457b347f7f28>
|
||||
<http://data.lblod.info/id/gestructureerdeIdentificatoren/2e978403-d3ef-40ab-a9f9-3a4ae6a35609>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?structuredIdentifier ?structuredIdentifierP ?structuredIdentifierO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?site ?siteP ?siteO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?site {
|
||||
<http://data.lblod.info/id/vestigingen/daa79855-1de7-4479-8a2e-a8d89db55ee3>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?site ?siteP ?siteO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?address ?addressP ?addressO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?address {
|
||||
<http://data.lblod.info/id/adressen/df102cb4-8abb-4588-a199-1ce22c211812>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?address ?addressP ?addressO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?contactPoint ?contactPointP ?contactPointO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?contactPoint {
|
||||
<http://data.lblod.info/id/contact-punten/042e8816-2e9d-45a1-89f6-dcf805882af7>
|
||||
<http://data.lblod.info/id/contact-punten/364d8e1a-cb18-4970-aeaf-5f6f307370ad>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?contactPoint ?contactPointP ?contactPointO .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?parentOrganization <http://www.w3.org/ns/org#hasSubOrganization> ?organization .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> AS ?organization)
|
||||
BIND(<http://data.lblod.info/id/bestuurseenheden/6025a5d1ca2262a784f002edd8ce9ca9073ae3d5ebc6b6b5531f05a29e9250af> AS ?parentOrganization)
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?parentOrganization <http://www.w3.org/ns/org#hasSubOrganization> ?organization .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?parentOrganization <http://mu.semte.ch/vocabularies/ext/isFounderOfOrganization> ?organization .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> AS ?organization)
|
||||
BIND(<http://data.lblod.info/id/bestuurseenheden/6025a5d1ca2262a784f002edd8ce9ca9073ae3d5ebc6b6b5531f05a29e9250af> AS ?parentOrganization)
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?parentOrganization <http://mu.semte.ch/vocabularies/ext/isFounderOfOrganization> ?organization .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership ?p ?o.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> AS ?organization)
|
||||
|
||||
VALUES ?membershipP {
|
||||
<http://www.w3.org/ns/org#organization>
|
||||
<http://www.w3.org/ns/org#member>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a <http://www.w3.org/ns/org#Membership> ;
|
||||
?membershipP ?organization ;
|
||||
?p ?o .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?organization ?organizationP ?organizationO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://data.lblod.info/id/bestuurseenheden/8d6609b4-1a20-46b8-97ed-150c6d53acd6> AS ?organization)
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?organization ?organizationP ?organizationO .
|
||||
}
|
||||
}
|
||||
3
config/migrations-triggering-indexing/local/README.md
Normal file
3
config/migrations-triggering-indexing/local/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Motivation
|
||||
|
||||
This folder is designed to contain migration files specific to a specific deployed instance of the app. These files will be ignored by git. The typical use case for this folder includes migrations containing sensitive data or those related to a re-sync of consumers. Migrations that should be applied to all instances of the app should be stored outside of this folder, but within the 'migrations-triggering-indexing' folder.
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,31 @@
|
||||
@prefix org: <http://www.w3.org/ns/org#> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix schema: <http://schema.org/> .
|
||||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
|
||||
<https://data.vlaanderen.be/id/conceptscheme/lidmaatschap-rollen> a skos:ConceptScheme;
|
||||
mu:uuid "4755a6afc9044ff289d872092e202472";
|
||||
skos:prefLabel "lidmaatschap rollen".
|
||||
|
||||
<http://data.lblod.info/id/rollen/93c48754610c45e6bd9a894d2720a53d> a org:Role;
|
||||
mu:uuid "93c48754610c45e6bd9a894d2720a53d";
|
||||
skos:topConceptOf <https://data.vlaanderen.be/id/conceptscheme/lidmaatschap-rollen>;
|
||||
skos:prefLabel "lid".
|
||||
|
||||
<http://data.lblod.info/id/rollen/73d5e1cf250d42fab15926771f07505a> a org:Role;
|
||||
mu:uuid "73d5e1cf250d42fab15926771f07505a";
|
||||
skos:prefLabel "stichtend lid";
|
||||
skos:broader <http://data.lblod.info/id/rollen/93c48754610c45e6bd9a894d2720a53d>.
|
||||
|
||||
<http://data.lblod.info/id/rollen/2152eb830b1143bfb97a7dd9596d6c63> a org:Role;
|
||||
mu:uuid "2152eb830b1143bfb97a7dd9596d6c63";
|
||||
skos:prefLabel "participant";
|
||||
skos:broader <http://data.lblod.info/id/rollen/93c48754610c45e6bd9a894d2720a53d>.
|
||||
|
||||
<http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> a org:Role;
|
||||
mu:uuid "4ec7d5c39bdc4e84b4174379b9e22ad8";
|
||||
skos:prefLabel "gerelateerd";
|
||||
skos:broader <http://data.lblod.info/id/rollen/93c48754610c45e6bd9a894d2720a53d>.
|
||||
@@ -0,0 +1,35 @@
|
||||
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 ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?foundingOrg ext:isFounderOfOrganization ?foundedOrg .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?foundingOrg org:memberOf ?foundedOrg .
|
||||
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?foundedOrg ;
|
||||
org:member ?foundingOrg ;
|
||||
org:role <http://data.lblod.info/id/rollen/73d5e1cf250d42fab15926771f07505a> . # stichtend lid
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
<http://mu.semte.ch/graphs/administrative-unit>
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?foundingOrg ext:isFounderOfOrganization ?foundedOrg .
|
||||
}
|
||||
|
||||
BIND(SHA1(CONCAT(STR(?foundingOrg), STR(?foundedOrg), "founded by")) as ?uuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
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/>
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?memberOrganization org:memberOf ?organization .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?organization ;
|
||||
org:member ?memberOrganization ;
|
||||
org:role <http://data.lblod.info/id/rollen/2152eb830b1143bfb97a7dd9596d6c63> . # participant
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
<http://mu.semte.ch/graphs/administrative-unit>
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?memberOrganization org:memberOf ?organization .
|
||||
}
|
||||
|
||||
BIND(SHA1(CONCAT(STR(?memberOrganization), STR(?organization), "member of")) as ?uuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
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/>
|
||||
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?organization ;
|
||||
org:member ?subOrganization ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # gerelateerd
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
<http://mu.semte.ch/graphs/administrative-unit>
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?organization org:hasSubOrganization ?subOrganization.
|
||||
}
|
||||
|
||||
BIND(SHA1(CONCAT(STR(?organization), STR(?subOrganization), "sub organization")) as ?uuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
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 ext: <http://mu.semte.ch/vocabularies/ext/>
|
||||
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?linkedOrg ;
|
||||
org:member ?org ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # gerelateerd
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
<http://mu.semte.ch/graphs/administrative-unit>
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?org org:linkedTo ?linkedOrg .
|
||||
}
|
||||
|
||||
BIND(SHA1(CONCAT(STR(?org), STR(?linkedOrg), "associated with")) as ?uuid)
|
||||
BIND(IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
|
||||
DELETE DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
|
||||
skos:inScheme <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> ;
|
||||
skos:topConceptOf <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> .
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
skos:inScheme <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> ;
|
||||
skos:topConceptOf <https://data.vlaanderen.be/id/conceptscheme/BestuurseenheidClassificatieCode> .
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,39 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Insert triples of the form:
|
||||
# <Representative Body> <http://www.w3.org/ns/org#linkedTo> <Worship Service>
|
||||
# <Representative Body> <http://www.w3.org/ns/org#linkedTo> <Central Worship Service>
|
||||
# matching memberships for which no such triple exists.
|
||||
|
||||
# Worship Service: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>
|
||||
# Central Worship Service: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/f0f7a304-34e9-4986-bf27-8434bb6f8111> a cleanup:Job ;
|
||||
mu:uuid "f0f7a304-34e9-4986-bf27-8434bb6f8111" ;
|
||||
dcterms:title "Insert missing `org:linkedTo` triples for Representative Bodies and [Central] Worship Services." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?member org:linkedTo ?organization .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?organization ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
?member org:classification <http://data.vlaanderen.be/id/concept/RepresentatiefOrgaanClassificatieCode/89a00b5a-024f-4630-a722-65a5e68967e5> .
|
||||
?organization org:classification ?orgClass .
|
||||
FILTER ( ?orgClass IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>
|
||||
))
|
||||
|
||||
FILTER NOT EXISTS { ?member org:linkedTo ?organization . }
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,35 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Insert triples of the form:
|
||||
# <Central Worship Service> <http://www.w3.org/ns/org#hasSubOrganization> <Worship Service>
|
||||
# matching memberships for which no such triple exists.
|
||||
|
||||
# Central Worship Service: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>
|
||||
# Worship Service: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/1352f2c5-0207-435b-9737-26d29769cde6> a cleanup:Job ;
|
||||
mu:uuid "1352f2c5-0207-435b-9737-26d29769cde6" ;
|
||||
dcterms:title "Insert missing `org:hasSubOrganization` triples for Central Worship Services and Worship Services." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?organization org:hasSubOrganization ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?organization ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
|
||||
?organization org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054> .
|
||||
?member org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> .
|
||||
|
||||
FILTER NOT EXISTS { ?organization org:hasSubOrganization ?member . }
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,52 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Insert triples of the form
|
||||
# <Province> <http://www.w3.org/ns/org#hasSubOrganization> <subOrg>
|
||||
# matching memberships for which no such triple exists.
|
||||
|
||||
# Province: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>
|
||||
#
|
||||
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
|
||||
# OCMW: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>
|
||||
# AGB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
|
||||
# APB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
# PEVA municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e>
|
||||
# PEVA province: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/088784b6-e188-48bf-b94f-94665f9e1f53>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/434b8b52-b695-4358-a927-ddaceb22e7e3> a cleanup:Job ;
|
||||
mu:uuid "434b8b52-b695-4358-a927-ddaceb22e7e3" ;
|
||||
dcterms:title "Insert missing `org:hasSubOrganization` triples for Provinces." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?organization org:hasSubOrganization ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?organization ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
|
||||
FILTER NOT EXISTS { ?organization org:hasSubOrganization ?member . }
|
||||
}
|
||||
|
||||
?organization org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
|
||||
|
||||
?member org:classification ?memberClass .
|
||||
FILTER ( ?memberClass
|
||||
IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/088784b6-e188-48bf-b94f-94665f9e1f53>
|
||||
)
|
||||
)
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,57 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Insert triples of the form
|
||||
# <Municipality> <http://www.w3.org/ns/org#hasSubOrganization> <subOrg>
|
||||
# matching memberships for which no such triple exists.
|
||||
|
||||
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
|
||||
#
|
||||
# AGB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
|
||||
# Projectvereniging: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc>
|
||||
# Dientsverlenende vereniging <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71>
|
||||
# Opdrachthoudende vereniging: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d>
|
||||
# Opdrachthoudende vereniging met private deelname: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/4b8450cf-a326-4c66-9e63-b4ec10acc7f6>
|
||||
# HVZ: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/ea446861-2c51-45fa-afd3-4e4a37b71562>
|
||||
# PZ: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc>
|
||||
# PEVA municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/3b7f8739-aa56-4a6c-af56-eb9d80022379> a cleanup:Job ;
|
||||
mu:uuid "3b7f8739-aa56-4a6c-af56-eb9d80022379" ;
|
||||
dcterms:title "Insert missing `org:hasSubOrganization` triples for Municipalities." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?organization org:hasSubOrganization ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?organization ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
|
||||
FILTER NOT EXISTS { ?organization org:hasSubOrganization ?member . }
|
||||
|
||||
?member org:classification ?memberClass .
|
||||
FILTER ( ?memberClass
|
||||
IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/4b8450cf-a326-4c66-9e63-b4ec10acc7f6> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/ea446861-2c51-45fa-afd3-4e4a37b71562> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e>
|
||||
)
|
||||
)
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?organization org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,45 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Insert triples of the form:
|
||||
# <Municipality> <http://www.w3.org/ns/org#linkedTo> <subOrg>
|
||||
# matching memberships for which no such triple exists.
|
||||
|
||||
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
|
||||
#
|
||||
# OCMW: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>
|
||||
# APB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/a99bcd5c-9781-425d-8a34-fb11a6e3e262> a cleanup:Job ;
|
||||
mu:uuid "a99bcd5c-9781-425d-8a34-fb11a6e3e262" ;
|
||||
dcterms:title "Insert missing `org:linkedTo` triples for Municipalities." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?organization org:linkedTo ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?organization ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
|
||||
FILTER NOT EXISTS { ?organization org:linkedTo ?member . }
|
||||
|
||||
?member org:classification ?memberClass .
|
||||
FILTER ( ?memberClass
|
||||
IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
)
|
||||
)
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?organization org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,42 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Delete triples of the form:
|
||||
# <Representative Body> <http://www.w3.org/ns/org#linkedTo> <Worship Service>
|
||||
# <Representative Body> <http://www.w3.org/ns/org#linkedTo> <Central Worship Service>
|
||||
# for which no matching membership exists.
|
||||
|
||||
# Worship Service: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>
|
||||
# Central Worship Service: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/679eec55-0f69-4d45-84c1-9f73df966983> a cleanup:Job ;
|
||||
mu:uuid "679eec55-0f69-4d45-84c1-9f73df966983" ;
|
||||
dcterms:title "Delete leftover `org:linkedTo` triples for Representative Bodies and [Central] Worship Services." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?s org:linkedTo ?o .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?s org:linkedTo ?o .
|
||||
FILTER NOT EXISTS {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?o ;
|
||||
org:member ?s ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
}
|
||||
|
||||
?s org:classification <http://data.vlaanderen.be/id/concept/RepresentatiefOrgaanClassificatieCode/89a00b5a-024f-4630-a722-65a5e68967e5> .
|
||||
|
||||
?o org:classification ?oClass .
|
||||
FILTER ( ?oClass IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>
|
||||
))
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,36 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Delete triples of the form
|
||||
# <Central Worship Service> <http://www.w3.org/ns/org#hasSubOrganization> <Worship Service>
|
||||
# for which no matching membership exists.
|
||||
|
||||
# Central Worship Service <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>
|
||||
# Worship Service <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/50cee254-37e4-410e-936a-d974047bdd4b> a cleanup:Job ;
|
||||
mu:uuid "50cee254-37e4-410e-936a-d974047bdd4b" ;
|
||||
dcterms:title "Delete leftover `org:hasSubOrganization` triples for Central Worship Services and Worship Services." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?cws org:hasSubOrganization ?ws .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?cws org:hasSubOrganization ?ws .
|
||||
FILTER NOT EXISTS {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?cws ;
|
||||
org:member ?ws ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
}
|
||||
|
||||
?cws org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054> .
|
||||
?ws org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,47 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Delete triples of the form:
|
||||
# <Municipality> <http://www.w3.org/ns/org#linkedTo> <subOrg>
|
||||
# for which no matching membership exists.
|
||||
|
||||
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
|
||||
#
|
||||
# OCMW: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>
|
||||
# APB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/14cfd05c-7047-43a1-97e4-42d3dd6b048d> a cleanup:Job ;
|
||||
mu:uuid "14cfd05c-7047-43a1-97e4-42d3dd6b048d" ;
|
||||
dcterms:title "Delete leftover `org:linkedTo` triples for Municipalities." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?municipality org:linkedTo ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?municipality org:linkedTo ?member .
|
||||
FILTER NOT EXISTS {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?municipality ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
}
|
||||
|
||||
?member org:classification ?memberClass .
|
||||
FILTER ( ?memberClass
|
||||
IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
|
||||
)
|
||||
)
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?municipality org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,58 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Delete triples of the form
|
||||
# <Municipality> <http://www.w3.org/ns/org#hasSubOrganization> <subOrg>
|
||||
# for which no matching membership exists.
|
||||
|
||||
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
|
||||
#
|
||||
# AGB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
|
||||
# Projectvereniging: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc>
|
||||
# Dientsverlenende vereniging <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71>
|
||||
# Opdrachthoudende vereniging: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d>
|
||||
# Opdrachthoudende vereniging met private deelname: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/4b8450cf-a326-4c66-9e63-b4ec10acc7f6>
|
||||
# HVZ: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/ea446861-2c51-45fa-afd3-4e4a37b71562>
|
||||
# PZ: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc>
|
||||
# PEVA municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/141a5f1c-39d5-431a-99e2-9085252654a3> a cleanup:Job ;
|
||||
mu:uuid "141a5f1c-39d5-431a-99e2-9085252654a3" ;
|
||||
dcterms:title "Delete leftover `org:hasSubOrganization` triples for Municipalities." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?municipality org:hasSubOrganization ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?municipality org:hasSubOrganization ?member .
|
||||
FILTER NOT EXISTS {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?municipality ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
}
|
||||
|
||||
?member org:classification ?memberClass .
|
||||
FILTER ( ?memberClass
|
||||
IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/4b8450cf-a326-4c66-9e63-b4ec10acc7f6> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/ea446861-2c51-45fa-afd3-4e4a37b71562> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/a3922c6d-425b-474f-9a02-ffb71a436bfc> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e>
|
||||
)
|
||||
)
|
||||
}
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?municipality org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,54 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
# Delete triples of the form
|
||||
# <Province> <http://www.w3.org/ns/org#hasSubOrganization> <subOrg>
|
||||
# for which no matching membership exists.
|
||||
|
||||
# Province: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>
|
||||
#
|
||||
# Municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
|
||||
# OCMW: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>
|
||||
# AGB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721>
|
||||
# APB: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d>
|
||||
# PEVA municipality: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e>
|
||||
# PEVA province: <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/088784b6-e188-48bf-b94f-94665f9e1f53>
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/7b2f66c8-1433-47f4-b730-62316f288631> a cleanup:Job ;
|
||||
mu:uuid "7b2f66c8-1433-47f4-b730-62316f288631" ;
|
||||
dcterms:title "Delete leftover `org:hasSubOrganization` triples for Provinces." ;
|
||||
cleanup:randomQuery """
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?province org:hasSubOrganization ?member .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?province org:hasSubOrganization ?member .
|
||||
FILTER NOT EXISTS {
|
||||
?membership a org:Membership ;
|
||||
org:organization ?province ;
|
||||
org:member ?member ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> .
|
||||
}
|
||||
}
|
||||
|
||||
?member org:classification ?memberClass .
|
||||
FILTER ( ?memberClass
|
||||
IN (
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/2ad46df5-5c79-4d67-84d5-604c1377231e> ,
|
||||
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/088784b6-e188-48bf-b94f-94665f9e1f53>
|
||||
)
|
||||
)
|
||||
GRAPH <http://mu.semte.ch/graphs/shared> {
|
||||
?province org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1,37 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
|
||||
# Add the "has a relation with" membership between provinces and municipalities
|
||||
# for the new municipalities that were added for the 2025 mergers.
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?province ;
|
||||
org:member ?municipality ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?province org:hasSubOrganization ?municipality .
|
||||
FILTER (?province IN
|
||||
(
|
||||
<http://data.lblod.info/id/bestuurseenheden/298b13541e1e85de4b71535197aa1f3bbc4bdb67f0fe0f58ab4a7dc207af61fa> , # Oost-Vlaanderen
|
||||
<http://data.lblod.info/id/bestuurseenheden/8b7e7bf05ace5bb1a68f5bc0d870e20c20f147b00bd9a3dcce3a01733d4da744> , # Vlaams-Brabant
|
||||
<http://data.lblod.info/id/bestuurseenheden/14278813524c762255aeba149e7d7134ddecfbb43e7d56910731bd4e13e34f39> , # Limburg
|
||||
<http://data.lblod.info/id/bestuurseenheden/bd74ee38a4b1e296821a11729c1f704cf439576c7ab2c910c95b067cf183d923> , # Antwerpen
|
||||
<http://data.lblod.info/id/bestuurseenheden/8152e68420f560b8493d6c555a5bd4186903dc341028bb9855af6c44a9464fea> # West-Vlaanderen
|
||||
)
|
||||
)
|
||||
}
|
||||
BIND (SHA256(CONCAT(STR(?province), " has a relation with ", STR(?municipality))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
|
||||
VALUES ?municipality {
|
||||
<http://data.lblod.info/id/bestuurseenheden/19483103-318e-435a-aa37-45e485406ee9> # Beveren-Kruibeke-Zwijndrecht
|
||||
<http://data.lblod.info/id/bestuurseenheden/b8bb293d-aa22-4b43-bda4-0b6af76e9493> # Merelbeke-Melle
|
||||
<http://data.lblod.info/id/bestuurseenheden/1ca65d65-54ff-4b44-b750-bd70c91191af> # Nazareth-De Pinte
|
||||
<http://data.lblod.info/id/bestuurseenheden/add1e4eb-9ec7-4ea6-af82-335aa76b7d48> # Pajottegem
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?antwerp ;
|
||||
org:member ?borsbeek ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?antwerp org:hasSubOrganization ?borsbeek .
|
||||
|
||||
FILTER (?antwerp = <http://data.lblod.info/id/bestuurseenheden/670db1d66c0de3b931962e1044033ccfa9d6e3023aa9828a5f252c3bc69bd32c>)
|
||||
FILTER (?borsbeek = <http://data.lblod.info/id/bestuurseenheden/4b44e6f1-113b-4692-b149-44a889b215f2>)
|
||||
}
|
||||
|
||||
BIND (SHA256(CONCAT(STR(?antwerp), " has a relation with ", STR(?borsbeek))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
|
||||
# Add the "has a relation with" membership between provinces and the new OCMWs
|
||||
# added for the 2025 mergers.
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization ?province ;
|
||||
org:member ?ocmw ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?province org:hasSubOrganization ?ocmw .
|
||||
FILTER (?province IN
|
||||
(
|
||||
<http://data.lblod.info/id/bestuurseenheden/298b13541e1e85de4b71535197aa1f3bbc4bdb67f0fe0f58ab4a7dc207af61fa> , # Oost-Vlaanderen
|
||||
<http://data.lblod.info/id/bestuurseenheden/8b7e7bf05ace5bb1a68f5bc0d870e20c20f147b00bd9a3dcce3a01733d4da744> , # Vlaams-Brabant
|
||||
<http://data.lblod.info/id/bestuurseenheden/14278813524c762255aeba149e7d7134ddecfbb43e7d56910731bd4e13e34f39> , # Limburg
|
||||
<http://data.lblod.info/id/bestuurseenheden/bd74ee38a4b1e296821a11729c1f704cf439576c7ab2c910c95b067cf183d923> , # Antwerpen
|
||||
<http://data.lblod.info/id/bestuurseenheden/8152e68420f560b8493d6c555a5bd4186903dc341028bb9855af6c44a9464fea> # West-Vlaanderen
|
||||
)
|
||||
)
|
||||
}
|
||||
BIND (SHA256(CONCAT(STR(?province), " has a relation with ", STR(?ocmw))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
|
||||
VALUES ?ocmw {
|
||||
<http://data.lblod.info/id/bestuurseenheden/fd41f573-7d9a-4d9f-b7d0-d5b6114d1622> # Beveren-Kruibeke-Zwijndrecht
|
||||
<http://data.lblod.info/id/bestuurseenheden/5d94b2fd-60ee-4e56-a1f0-a586d596adf6> # Merelbeke-Melle
|
||||
<http://data.lblod.info/id/bestuurseenheden/7d53f659-3a3b-44b1-9e77-3ea067678c0e> # Nazareth-De Pinte
|
||||
<http://data.lblod.info/id/bestuurseenheden/650378e7-1bee-4737-91ff-5b20ac4623cf> # Pajottegem
|
||||
}
|
||||
}
|
||||
;
|
||||
# Relate OCMWs with their municipalities
|
||||
## Beveren-Kruibeke-Zwijndrecht
|
||||
### Municipality: <http://data.lblod.info/id/bestuurseenheden/19483103-318e-435a-aa37-45e485406ee9>
|
||||
### OCMW: <http://data.lblod.info/id/bestuurseenheden/fd41f573-7d9a-4d9f-b7d0-d5b6114d1622>
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/19483103-318e-435a-aa37-45e485406ee9> org:linkedTo <http://data.lblod.info/id/bestuurseenheden/fd41f573-7d9a-4d9f-b7d0-d5b6114d1622> .
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization <http://data.lblod.info/id/bestuurseenheden/19483103-318e-435a-aa37-45e485406ee9> ;
|
||||
org:member <http://data.lblod.info/id/bestuurseenheden/fd41f573-7d9a-4d9f-b7d0-d5b6114d1622> ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
BIND (SHA256(CONCAT(STR(<http://data.lblod.info/id/bestuurseenheden/19483103-318e-435a-aa37-45e485406ee9>), "has a relation with", STR(<http://data.lblod.info/id/bestuurseenheden/fd41f573-7d9a-4d9f-b7d0-d5b6114d1622>))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
;
|
||||
## Merelbeke-Melle
|
||||
### Municipality: <http://data.lblod.info/id/bestuurseenheden/b8bb293d-aa22-4b43-bda4-0b6af76e9493>
|
||||
### OCMW: <http://data.lblod.info/id/bestuurseenheden/5d94b2fd-60ee-4e56-a1f0-a586d596adf6>
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/b8bb293d-aa22-4b43-bda4-0b6af76e9493> org:linkedTo <http://data.lblod.info/id/bestuurseenheden/5d94b2fd-60ee-4e56-a1f0-a586d596adf6> .
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization <http://data.lblod.info/id/bestuurseenheden/b8bb293d-aa22-4b43-bda4-0b6af76e9493> ;
|
||||
org:member <http://data.lblod.info/id/bestuurseenheden/5d94b2fd-60ee-4e56-a1f0-a586d596adf6> ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
BIND (SHA256(CONCAT(STR(<http://data.lblod.info/id/bestuurseenheden/b8bb293d-aa22-4b43-bda4-0b6af76e9493>), "has a relation with", STR(<http://data.lblod.info/id/bestuurseenheden/5d94b2fd-60ee-4e56-a1f0-a586d596adf6>))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
;
|
||||
## Nazareth-De Pinte
|
||||
### Municipality: <http://data.lblod.info/id/bestuurseenheden/1ca65d65-54ff-4b44-b750-bd70c91191af>
|
||||
### OCMW: <http://data.lblod.info/id/bestuurseenheden/7d53f659-3a3b-44b1-9e77-3ea067678c0e>
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/1ca65d65-54ff-4b44-b750-bd70c91191af> org:linkedTo <http://data.lblod.info/id/bestuurseenheden/7d53f659-3a3b-44b1-9e77-3ea067678c0e> .
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization <http://data.lblod.info/id/bestuurseenheden/1ca65d65-54ff-4b44-b750-bd70c91191af> ;
|
||||
org:member <http://data.lblod.info/id/bestuurseenheden/7d53f659-3a3b-44b1-9e77-3ea067678c0e> ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
BIND (SHA256(CONCAT(STR(<http://data.lblod.info/id/bestuurseenheden/1ca65d65-54ff-4b44-b750-bd70c91191af>), "has a relation with", STR(<http://data.lblod.info/id/bestuurseenheden/7d53f659-3a3b-44b1-9e77-3ea067678c0e>))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
;
|
||||
## Pajottegem
|
||||
### Municipality: <http://data.lblod.info/id/bestuurseenheden/add1e4eb-9ec7-4ea6-af82-335aa76b7d48>
|
||||
### OCMW: <http://data.lblod.info/id/bestuurseenheden/650378e7-1bee-4737-91ff-5b20ac4623cf>
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/add1e4eb-9ec7-4ea6-af82-335aa76b7d48> org:linkedTo <http://data.lblod.info/id/bestuurseenheden/650378e7-1bee-4737-91ff-5b20ac4623cf> .
|
||||
?membership a org:Membership ;
|
||||
mu:uuid ?uuid ;
|
||||
org:organization <http://data.lblod.info/id/bestuurseenheden/add1e4eb-9ec7-4ea6-af82-335aa76b7d48> ;
|
||||
org:member <http://data.lblod.info/id/bestuurseenheden/650378e7-1bee-4737-91ff-5b20ac4623cf> ;
|
||||
org:role <http://data.lblod.info/id/rollen/4ec7d5c39bdc4e84b4174379b9e22ad8> . # has a relation with
|
||||
}
|
||||
} WHERE {
|
||||
BIND (SHA256(CONCAT(STR(<http://data.lblod.info/id/bestuurseenheden/add1e4eb-9ec7-4ea6-af82-335aa76b7d48>), "has a relation with", STR(<http://data.lblod.info/id/bestuurseenheden/650378e7-1bee-4737-91ff-5b20ac4623cf>))) AS ?uuid)
|
||||
BIND (IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership)
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
# Note: the create statement is added because otherwise virtuoso throws an error
|
||||
# on the drop because the graph was not explicitly made
|
||||
CREATE SILENT GRAPH <http://mu.semte.ch/graphs/landing-zone/clb-contact-data>
|
||||
DROP GRAPH <http://mu.semte.ch/graphs/landing-zone/clb-contact-data>
|
||||
@@ -0,0 +1,13 @@
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
|
||||
|
||||
DELETE WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?changeEvent a <http://www.w3.org/ns/org#ChangeEvent> ;
|
||||
mu:uuid "66C494CB6ABCA6E6BF2DBB94" ;
|
||||
code:veranderingsgebeurtenisResultaat ?changeEventResult ;
|
||||
?eventP ?eventO .
|
||||
|
||||
?changeEventResult ?resultP ?resultO .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?org ?orgP ?orgO .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?org {
|
||||
<http://data.lblod.info/id/bestuurseenheden/6584318A90264E79DCA99E67>
|
||||
<http://data.lblod.info/id/bestuurseenheden/658432DF90264E79DCA99E69>
|
||||
<http://data.lblod.info/id/bestuurseenheden/6584351590264E79DCA99E6B>
|
||||
<http://data.lblod.info/id/bestuurseenheden/6584361290264E79DCA99E70>
|
||||
<http://data.lblod.info/id/bestuurseenheden/6584395890264E79DCA99E73>
|
||||
<http://data.lblod.info/id/bestuurseenheden/6584396790264E79DCA99E76>
|
||||
<http://data.lblod.info/id/bestuurseenheden/65843A8090264E79DCA99E79>
|
||||
<http://data.lblod.info/id/bestuurseenheden/65843B0090264E79DCA99E7B>
|
||||
<http://data.lblod.info/id/bestuurseenheden/65CD2F939E3C83CF14AEEC59>
|
||||
<http://data.lblod.info/id/bestuurseenheden/3183ade3-7ee8-409c-8394-296b1fbfe478>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?org ?orgP ?orgO .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?adminUnit org:classification ?c
|
||||
}
|
||||
}
|
||||
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?adminUnit org:classification ?c
|
||||
}
|
||||
?c skos:prefLabel ?l .
|
||||
FILTER (?l IN ("Gemeente", "Provincie"))
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?boi ?p ?o.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
VALUES ?faciliteitEenheid {
|
||||
# OCMW
|
||||
<http://data.lblod.info/id/bestuurseenheden/76730bd9ab6808230335d90e9ff30ad362a3461ee0239fd978e4313bcdca44c5> # Sint-Genesius-Rode
|
||||
<http://data.lblod.info/id/bestuurseenheden/0b5d1664b3cf08550bcfdac0f4b195ab7a46a0f1974726de864dc0edb1565ecc> # Linkebeek
|
||||
<http://data.lblod.info/id/bestuurseenheden/9ba66c8f97bbc6dd3ba2b35d8a6bb79215facbe3e5b3d52672b785449d6f5e58> # Drogenbos
|
||||
<http://data.lblod.info/id/bestuurseenheden/7f2c5143806d6110feb44eba2a91d58e8fd563465b94d0f6b40d13a6a1740940> # Wemmel
|
||||
<http://data.lblod.info/id/bestuurseenheden/45f432ac38d124141638c62f7afd577ab847c3571061b45e3b0b3329f6194048> # Kraainem
|
||||
<http://data.lblod.info/id/bestuurseenheden/f9ee0b69624bba3677b18b95110246ee9106377c948ab5d914909eac79f88bcf> # Wezembeek-Oppem
|
||||
<http://data.lblod.info/id/bestuurseenheden/785715d2822814f7dc0b3896601b5b777feb1ef9722e1c54f4cdcc697594acca> # Voeren
|
||||
}
|
||||
|
||||
VALUES ?classification {
|
||||
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/5ab0e9b8a3b2ca7c5e000009> # BCSD
|
||||
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/53c0d8cd-f3a2-411d-bece-4bd83ae2bbc9> # BCSD Voorzitter
|
||||
}
|
||||
|
||||
?bestuursorgaan besluit:bestuurt ?faciliteitEenheid .
|
||||
?bestuursorgaan org:classification ?classification .
|
||||
|
||||
?boi generiek:isTijdspecialisatieVan ?bestuursorgaan .
|
||||
?boi mandaat:bindingStart ?startDate .
|
||||
|
||||
?boi ?p ?o.
|
||||
|
||||
FILTER(?startDate >= "2019-01-01T00:00:00"^^xsd:dateTime)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
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#>
|
||||
PREFIX nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#>
|
||||
PREFIX dbpedia: <http://dbpedia.org/resource/>
|
||||
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?container ?containerP ?containerO.
|
||||
}
|
||||
} WHERE {
|
||||
# Please note, if you ever copy/paste this migration the next time, there should be 4
|
||||
# operation URI's in total. Since two consumers
|
||||
VALUES ?operation {
|
||||
<http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive>
|
||||
<http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?job a <http://vocab.deri.ie/cogs#Job>;
|
||||
task:operation ?operation.
|
||||
|
||||
?task dct:isPartOf ?job;
|
||||
task:resultsContainer ?container.
|
||||
|
||||
?container a nfo:DataContainer;
|
||||
?containerP ?containerO.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
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#>
|
||||
PREFIX nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#>
|
||||
PREFIX dbpedia: <http://dbpedia.org/resource/>
|
||||
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?task ?taskP ?taskO.
|
||||
}
|
||||
} WHERE {
|
||||
# Please note, if you ever copy/paste this migration the next time, there should be 4
|
||||
# operation URI's in total. Since two consumers
|
||||
VALUES ?operation {
|
||||
<http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive>
|
||||
<http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?job a <http://vocab.deri.ie/cogs#Job>;
|
||||
task:operation ?operation.
|
||||
|
||||
?task dct:isPartOf ?job;
|
||||
?taskP ?taskO.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
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#>
|
||||
PREFIX nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#>
|
||||
PREFIX dbpedia: <http://dbpedia.org/resource/>
|
||||
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?job ?jobP ?jobO.
|
||||
}
|
||||
} WHERE {
|
||||
# Please note, if you ever copy/paste this migration the next time, there should be 4
|
||||
# operation URI's in total. Since two consumers
|
||||
VALUES ?operation {
|
||||
<http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive>
|
||||
<http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?job a <http://vocab.deri.ie/cogs#Job>;
|
||||
task:operation ?operation;
|
||||
?jobP ?jobO.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?s ?p ?o
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/worship-privacy-centric-graph>
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
}
|
||||
GRAPH ?g {
|
||||
?s ?p ?o.
|
||||
FILTER NOT EXISTS {
|
||||
?s a ?type.
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX person: <http://www.w3.org/ns/person#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
|
||||
# Delete birthdates
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?birthDate ?p ?o .
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?person a person:Person .
|
||||
}
|
||||
|
||||
FILTER EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?agent a ch:AgentInPositie ;
|
||||
mandaat:isBestuurlijkeAliasVan|org:heldBy ?person .
|
||||
}
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?person persoon:heeftGeboorte ?birthDate .
|
||||
?birthDate ?p ?o .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX person: <http://www.w3.org/ns/person#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
|
||||
# Delete identifiers
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?identifier ?pidentifier ?oidentifier .
|
||||
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?person a person:Person .
|
||||
}
|
||||
|
||||
FILTER EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?agent a ch:AgentInPositie ;
|
||||
mandaat:isBestuurlijkeAliasVan|org:heldBy ?person .
|
||||
}
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?person persoon:registratie ?identifier .
|
||||
|
||||
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
?pidentifier ?oidentifier .
|
||||
|
||||
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
|
||||
}
|
||||
} WHERE {
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?structuredIdentifier a <https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator>;
|
||||
?pstructuredIdentifier ?ostructuredIdentifier.
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX person: <http://www.w3.org/ns/person#>
|
||||
|
||||
# Delete persons
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?person ?p ?o .
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?person ?pprivate ?oprivate .
|
||||
}
|
||||
} WHERE {
|
||||
VALUES ?g {
|
||||
<http://mu.semte.ch/graphs/shared>
|
||||
<http://mu.semte.ch/graphs/worship-service>
|
||||
}
|
||||
|
||||
GRAPH ?g {
|
||||
?person a person:Person ;
|
||||
?p ?o .
|
||||
}
|
||||
|
||||
FILTER EXISTS {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?agent a ch:AgentInPositie ;
|
||||
mandaat:isBestuurlijkeAliasVan|org:heldBy ?person .
|
||||
}
|
||||
}
|
||||
|
||||
OPTIONAL {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
|
||||
?person ?pprivate ?oprivate .
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?contactPoint ?pcontactPoint ?ocontactPoint .
|
||||
?address ?paddress ?oaddress .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?agent a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie> .
|
||||
|
||||
OPTIONAL {
|
||||
?agent <http://schema.org/contactPoint> ?contactPoint .
|
||||
|
||||
?contactPoint ?pcontactPoint ?ocontactPoint .
|
||||
|
||||
OPTIONAL {
|
||||
?contactPoint <http://www.w3.org/ns/locn#address> ?address .
|
||||
|
||||
?address ?paddress ?oaddress .
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?agent ?pagent ?oagent .
|
||||
}
|
||||
} WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/worship-service> {
|
||||
?agent a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie> ;
|
||||
?pagent ?oagent .
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
CLEAR GRAPH <http://mu.semte.ch/graphs/landing-zone/worship-services-private-info>;
|
||||
CLEAR GRAPH <http://mu.semte.ch/graphs/landing-zone/worship-services-main-info>;
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/worship-service
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?s ?p ?o
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
?s ?p ?o
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
|
||||
VALUES ?s {
|
||||
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/7148e12a-ae03-4a7b-bb16-7b6269b84175>
|
||||
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/ff20fa3e-806b-4160-b74b-7483fe3a6ecd>
|
||||
}
|
||||
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?s ?p ?o
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
# Inverse properties
|
||||
{
|
||||
?s org:holds ?o.
|
||||
} => {
|
||||
?o org:heldBy ?s.
|
||||
}.
|
||||
|
||||
{
|
||||
?s org:heldBy ?o.
|
||||
} => {
|
||||
?o org:holds ?s.
|
||||
}.
|
||||
@@ -1,244 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX dc_terms: <http://purl.org/dc/terms/>
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
PREFIX person: <http://www.w3.org/ns/person#>
|
||||
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
|
||||
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
|
||||
|
||||
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
|
||||
# Hence the mapping is in two steps.
|
||||
# The first step maps the DL persoon:gebruikteVoornaam to the OP counterpart
|
||||
# and drops the DL persoon:gebruikteVoornaam statements with e:becomes
|
||||
# A second reasoning will map DL foaf:name to OP persoon:gebruikteVoornaam
|
||||
# Doing both at once would lead all DL foaf:names to incorrectly become foaf:givennames
|
||||
# in OP
|
||||
|
||||
# First name
|
||||
# persoon:gebruikteVoornaam => foaf:givenName
|
||||
# Alternatieve voornaam
|
||||
# foaf:name => persoon:gebruikteVoornaam
|
||||
|
||||
# Test Mock DL
|
||||
# <http://example.org/person> persoon_loket:gebruikteVoornaam "Didier".
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gebruikteVoornaam ?o
|
||||
} e:becomes {
|
||||
?s foaf:givenName ?o
|
||||
}
|
||||
} => {
|
||||
?s foaf:givenName ?o
|
||||
}.
|
||||
|
||||
|
||||
# First name
|
||||
# persoon:gebruikteVoornaam => foaf:givenName (done in pre-processing)
|
||||
# Alternatieve voornaam
|
||||
# foaf:name => persoon:gebruikteVoornaam
|
||||
|
||||
# Test Mock LLB
|
||||
# <http://example.org/person> foaf:name "Didier".
|
||||
{
|
||||
{
|
||||
?s foaf:name ?o
|
||||
} e:becomes {
|
||||
?s persoon:gebruikteVoornaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gebruikteVoornaam ?o
|
||||
}.
|
||||
|
||||
|
||||
# Test
|
||||
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
|
||||
{
|
||||
?s mandaat:bindingEinde ?eindeDate.
|
||||
# use backward arrow rule defined below
|
||||
?eindeDate :dateTimeFromDate ?eindeDateTime.
|
||||
{
|
||||
?s mandaat:bindingEinde ?eindeDate
|
||||
} e:becomes {
|
||||
?s mandaat:bindingEinde ?eindeDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:bindingEinde ?eindeDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:bindingStart ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s mandaat:bindingStart ?startDate
|
||||
} e:becomes {
|
||||
?s mandaat:bindingStart ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:bindingStart ?startDateTime
|
||||
}.
|
||||
{
|
||||
?s ch:startdatum ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s ch:startdatum ?startDate
|
||||
} e:becomes {
|
||||
?s ch:startdatum ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ch:startdatum ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:start ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s mandaat:start ?startDate
|
||||
} e:becomes {
|
||||
?s mandaat:start ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:start ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:einde ?eindeDate.
|
||||
# use backward arrow rule defined below
|
||||
?eindeDate :dateTimeFromDate ?eindeDateTime.
|
||||
{
|
||||
?s mandaat:einde ?eindeDate
|
||||
} e:becomes {
|
||||
?s mandaat:einde ?eindeDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:einde ?eindeDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s ch:eindedatum ?endDate.
|
||||
# use backward arrow rule defined below
|
||||
?endDate :dateTimeFromDate ?endDateTime.
|
||||
{
|
||||
?s ch:eindedatum ?endDate
|
||||
} e:becomes {
|
||||
?s ch:eindedatum ?endDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ch:eindedatum ?endDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s ere:geplandeEinddatumAanstelling ?endDate.
|
||||
# use backward arrow rule defined below
|
||||
?endDate :dateTimeFromDate ?endDateTime.
|
||||
{
|
||||
?s ere:geplandeEinddatumAanstelling ?endDate
|
||||
} e:becomes {
|
||||
?s ere:geplandeEinddatumAanstelling ?endDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ere:geplandeEinddatumAanstelling ?endDateTime
|
||||
}.
|
||||
|
||||
# Backward arrow rule is like a function call.
|
||||
# Removes the timezone indicator "Z" from incoming datetimes
|
||||
# To make sure all datetimes have the same convention we now save them as
|
||||
# datetime without the timezone indicator
|
||||
# We use "T02:00:00" as time indicator to work around a virtuoso bug that
|
||||
# results in datetimes being converted to a date when using "T00:00:00"
|
||||
{
|
||||
?date :dateTimeFromDate ?dateTime
|
||||
}
|
||||
<=
|
||||
{
|
||||
( ?date 1 10 ) string:substring ?dateSolo .
|
||||
(?dateSolo "T02:00:00") string:concatenation ?datePlusTime.
|
||||
(?datePlusTime xsd:dateTime) log:dtlit ?dateTime .
|
||||
}.
|
||||
|
||||
|
||||
# ex:orgA besluit:classificatie <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
|
||||
{
|
||||
{
|
||||
?s besluit:classificatie ?o
|
||||
} e:becomes {
|
||||
?s org:classification ?o
|
||||
}
|
||||
} => {
|
||||
?s org:classification ?o
|
||||
}.
|
||||
|
||||
# fix typo V -> v
|
||||
# <http://data.lblod.info/id/adressen/606D972BC20E70000900001C> <https://data.vlaanderen.be/ns/adres#AdresVoorstelling.huisnummer> "1" .
|
||||
{
|
||||
{
|
||||
?s adres:AdresVoorstelling.huisnummer ?o
|
||||
} e:becomes {
|
||||
?s adres:Adresvoorstelling.huisnummer ?o
|
||||
}
|
||||
} => {
|
||||
?s adres:Adresvoorstelling.huisnummer ?o
|
||||
}.
|
||||
|
||||
|
||||
# Tijdspecialisatie
|
||||
{
|
||||
{
|
||||
?s mandaat:isTijdspecialisatieVan ?o.
|
||||
} e:becomes {
|
||||
?s generiek:isTijdspecialisatieVan ?o.
|
||||
}
|
||||
} => {
|
||||
?s generiek:isTijdspecialisatieVan ?o.
|
||||
}.
|
||||
|
||||
# In OP functionaris inherits from agents-in-position, which inherits from Agent
|
||||
{
|
||||
?s a lblodlg:Functionaris .
|
||||
} => {
|
||||
?s a ch:AgentInPositie ,
|
||||
dc_terms:Agent .
|
||||
} .
|
||||
|
||||
# In OP mandataris inherits from agents-in-position, which inherits from Agent
|
||||
{
|
||||
?s a mandaat:Mandataris .
|
||||
} => {
|
||||
?s a ch:AgentInPositie ,
|
||||
dc_terms:Agent .
|
||||
} .
|
||||
|
||||
# In OP minister inherits from agents-in-position, which inherits from Agent
|
||||
{
|
||||
?s a ere:RolBedienaar .
|
||||
} => {
|
||||
?s a ch:AgentInPositie ,
|
||||
dc_terms:Agent .
|
||||
} .
|
||||
|
||||
# In OP Person inherits from Agent
|
||||
{
|
||||
?s a person:Person .
|
||||
} => {
|
||||
?s a dc_terms:Agent .
|
||||
} .
|
||||
@@ -1,524 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
# Map from http persoon to https persoon namespace.
|
||||
|
||||
## classes:
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Afstamming
|
||||
} e:becomes {
|
||||
?s a persoon:Afstamming
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Afstamming
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:BurgerlijkeStaat
|
||||
} e:becomes {
|
||||
?s a persoon:BurgerlijkeStaat
|
||||
}
|
||||
} => {
|
||||
?s a persoon:BurgerlijkeStaat
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Domicilie
|
||||
} e:becomes {
|
||||
?s a persoon:Domicilie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Domicilie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Geboorte
|
||||
} e:becomes {
|
||||
?s a persoon:Geboorte
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Geboorte
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:GeenInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:GeenInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:GeenInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:GeregistreerdPersoon
|
||||
} e:becomes {
|
||||
?s a persoon:GeregistreerdPersoon
|
||||
}
|
||||
} => {
|
||||
?s a persoon:GeregistreerdPersoon
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Gezin
|
||||
} e:becomes {
|
||||
?s a persoon:Gezin
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Gezin
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Gezinsrelatie
|
||||
} e:becomes {
|
||||
?s a persoon:Gezinsrelatie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Gezinsrelatie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Huwelijk
|
||||
} e:becomes {
|
||||
?s a persoon:Huwelijk
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Huwelijk
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Inwoner
|
||||
} e:becomes {
|
||||
?s a persoon:Inwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Inwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Inwonerschap
|
||||
} e:becomes {
|
||||
?s a persoon:Inwonerschap
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Inwonerschap
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Nationaliteit
|
||||
} e:becomes {
|
||||
?s a persoon:Nationaliteit
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Nationaliteit
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Overlijden
|
||||
} e:becomes {
|
||||
?s a persoon:Overlijden
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Overlijden
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:PermanentInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:PermanentInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:PermanentInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Persoonsgebeurtenis
|
||||
} e:becomes {
|
||||
?s a persoon:Persoonsgebeurtenis
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Persoonsgebeurtenis
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Persoonsrelatie
|
||||
} e:becomes {
|
||||
?s a persoon:Persoonsrelatie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Persoonsrelatie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Samenwonen
|
||||
} e:becomes {
|
||||
?s a persoon:Samenwonen
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Samenwonen
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Staatsburger
|
||||
} e:becomes {
|
||||
?s a persoon:Staatsburger
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Staatsburger
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Staatsburgerschap
|
||||
} e:becomes {
|
||||
?s a persoon:Staatsburgerschap
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Staatsburgerschap
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:TijdelijkInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:TijdelijkInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:TijdelijkInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Verblijfplaats
|
||||
} e:becomes {
|
||||
?s a persoon:Verblijfplaats
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Verblijfplaats
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Voogdij
|
||||
} e:becomes {
|
||||
?s a persoon:Voogdij
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Voogdij
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Vreemdeling
|
||||
} e:becomes {
|
||||
?s a persoon:Vreemdeling
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Vreemdeling
|
||||
}.
|
||||
|
||||
## properties
|
||||
{
|
||||
{
|
||||
?s persoon_loket:afstammingsType ?o
|
||||
} e:becomes {
|
||||
?s persoon:afstammingsType ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:afstammingsType ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:alternatieveNaam ?o
|
||||
} e:becomes {
|
||||
?s persoon:alternatieveNaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:alternatieveNaam ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:datum ?o
|
||||
} e:becomes {
|
||||
?s persoon:datum ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:datum ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:datumVanAfstamming ?o
|
||||
} e:becomes {
|
||||
?s persoon:datumVanAfstamming ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:datumVanAfstamming ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:geslacht ?o
|
||||
} e:becomes {
|
||||
?s persoon:geslacht ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:geslacht ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gezinsadres ?o
|
||||
} e:becomes {
|
||||
?s persoon:gezinsadres ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gezinsadres ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gezinsrelatietype ?o
|
||||
} e:becomes {
|
||||
?s persoon:gezinsrelatietype ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gezinsrelatietype ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftBurgerlijkeStaat ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftBurgerlijkeStaat ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftBurgerlijkeStaat ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftGeboorte ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftInwonerschap ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftInwonerschap ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftInwonerschap ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftNationaliteit ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftOverlijden ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftOverlijden ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftOverlijden ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftPersoonsrelatie ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftPersoonsrelatie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftPersoonsrelatie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftStaatsburgerschap ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftStaatsburgerschap ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftStaatsburgerschap ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftVerblijfplaats ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftVerblijfplaats ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftVerblijfplaats ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:Inwonerschap.binnenJurisdictie ?o
|
||||
} e:becomes {
|
||||
?s persoon:Inwonerschap.binnenJurisdictie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:Inwonerschap.binnenJurisdictie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isHoofdVan ?o
|
||||
} e:becomes {
|
||||
?s persoon:isHoofdVan ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isHoofdVan ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isLidVan ?o
|
||||
} e:becomes {
|
||||
?s persoon:isLidVan ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isLidVan ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isRelatieMet ?o
|
||||
} e:becomes {
|
||||
?s persoon:isRelatieMet ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isRelatieMet ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:land ?o
|
||||
} e:becomes {
|
||||
?s persoon:land ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:land ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:nationaliteit ?o
|
||||
} e:becomes {
|
||||
?s persoon:nationaliteit ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:nationaliteit ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:plaats ?o
|
||||
} e:becomes {
|
||||
?s persoon:plaats ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:plaats ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:registratie ?o
|
||||
} e:becomes {
|
||||
?s persoon:registratie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:Staatsburgerschap.binnenJurisdictie ?o
|
||||
} e:becomes {
|
||||
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:type ?o
|
||||
} e:becomes {
|
||||
?s persoon:type ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:type ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:verblijfsadres ?o
|
||||
} e:becomes {
|
||||
?s persoon:verblijfsadres ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:verblijfsadres ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:volledigeNaam ?o
|
||||
} e:becomes {
|
||||
?s persoon:volledigeNaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:volledigeNaam ?o
|
||||
}.
|
||||
@@ -1,32 +0,0 @@
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX schema: <http://schema.org/>
|
||||
PREFIX : <#>
|
||||
{
|
||||
?s schema:telephone ?number.
|
||||
|
||||
# Remove all non digits
|
||||
( ?number ("""[^+\\d]""") ("") ) string:replaceAll ?scrape_result.
|
||||
|
||||
# Replace leading 00 with +
|
||||
( ?scrape_result """^00""" "+") string:replace ?replaced_zero_zero.
|
||||
|
||||
( ?replaced_zero_zero """^0""" "+32") string:replace ?default_be.
|
||||
|
||||
( ?default_be """\\+320""" "+32" ) string:replace ?replace_320.
|
||||
|
||||
( ?replace_320 """^320""" "+32" ) string:replace ?final_result.
|
||||
|
||||
?final_result string:matches """^\\+((32\\d{8})|(324\\d{8})|((?!32)\\d+))$""".
|
||||
|
||||
( "tel:" ?final_result ) string:concatenation ?parsed_result .
|
||||
|
||||
{
|
||||
?s schema:telephone ?number.
|
||||
} e:becomes {
|
||||
?s schema:telephone ?parsed_result .
|
||||
}.
|
||||
|
||||
} => {
|
||||
?s schema:telephone ?parsed_result .
|
||||
}.
|
||||
@@ -1,544 +0,0 @@
|
||||
# Generated by producer-config-to-query.ipynb
|
||||
|
||||
## CLASSES
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/erediensten/EredienstMandataris>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/erediensten/EredienstMandataris>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/erediensten/RolBedienaar>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/erediensten/RolBedienaar>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandaat>
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandaat>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris>
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris>
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s a <https://data.vlaanderen.be/ns/persoon#Geboorte>
|
||||
# } => {
|
||||
# ?s a <https://data.vlaanderen.be/ns/persoon#Geboorte>
|
||||
# }.
|
||||
|
||||
{
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BeleidsdomeinCode>
|
||||
} => {
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BeleidsdomeinCode>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode>
|
||||
} => {
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BestuurseenheidClassificatieCode>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BestuursfunctieCode>
|
||||
} => {
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BestuursfunctieCode>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BestuursorgaanClassificatieCode>
|
||||
} => {
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/BestuursorgaanClassificatieCode>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/MandatarisStatusCode>
|
||||
} => {
|
||||
?s a <http://mu.semte.ch/vocabularies/ext/MandatarisStatusCode>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://schema.org/ContactPoint>
|
||||
} => {
|
||||
?s a <http://schema.org/ContactPoint>
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s a <http://www.w3.org/ns/adms#Identifier>
|
||||
# } => {
|
||||
# ?s a <http://www.w3.org/ns/adms#Identifier>
|
||||
# }.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/locn#Address>
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/locn#Address>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/org#Membership>
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/org#Membership>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/person#Person>
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/person#Person>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://purl.org/dc/terms/Agent>
|
||||
} => {
|
||||
?s a <http://purl.org/dc/terms/Agent>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie>
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/contacthub/AgentInPositie>
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/prov#Location>
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/prov#Location>
|
||||
}.
|
||||
|
||||
## PROPERTIES
|
||||
{
|
||||
?s <http://data.lblod.info/vocabularies/contacthub/eindedatum> ?o
|
||||
} => {
|
||||
?s <http://data.lblod.info/vocabularies/contacthub/eindedatum> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.lblod.info/vocabularies/contacthub/startdatum> ?o
|
||||
} => {
|
||||
?s <http://data.lblod.info/vocabularies/contacthub/startdatum> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.lblod.info/vocabularies/erediensten/geplandeEinddatumAanstelling> ?o
|
||||
} => {
|
||||
?s <http://data.lblod.info/vocabularies/erediensten/geplandeEinddatumAanstelling> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.lblod.info/vocabularies/leidinggevenden/adresRegisterId> ?o
|
||||
} => {
|
||||
?s <http://data.lblod.info/vocabularies/leidinggevenden/adresRegisterId> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?o
|
||||
} => {
|
||||
?s <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/besluit#bestuurt> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/besluit#bestuurt> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/besluit#werkingsgebied> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#aantalHouders> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#aantalHouders> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#beleidsdomein> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#beleidsdomein> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#bindingEinde> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#bindingEinde> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#bindingStart> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#bindingStart> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#einde> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#einde> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#isTijdelijkVervangenDoor> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#isTijdelijkVervangenDoor> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#rangorde> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#rangorde> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#start> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#start> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#status> ?o
|
||||
} => {
|
||||
?s <http://data.vlaanderen.be/ns/mandaat#status> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?o
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#datum> ?o
|
||||
# } => {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#datum> ?o
|
||||
# }.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam> ?o
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#geslacht> ?o
|
||||
# } => {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#geslacht> ?o
|
||||
# }.
|
||||
|
||||
# {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#heeftGeboorte> ?o
|
||||
# } => {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#heeftGeboorte> ?o
|
||||
# }.
|
||||
|
||||
# {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#heeftNationaliteit> ?o
|
||||
# } => {
|
||||
# ?s <https://data.vlaanderen.be/ns/persoon#heeftNationaliteit> ?o
|
||||
# }.
|
||||
|
||||
{
|
||||
?s <http://mu.semte.ch/vocabularies/core/uuid> ?o
|
||||
} => {
|
||||
?s <http://mu.semte.ch/vocabularies/core/uuid> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://mu.semte.ch/vocabularies/ext/secondaryContactPoint> ?o
|
||||
} => {
|
||||
?s <http://mu.semte.ch/vocabularies/ext/secondaryContactPoint> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ?o
|
||||
} => {
|
||||
?s <http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://schema.org/contactPoint> ?o
|
||||
} => {
|
||||
?s <http://schema.org/contactPoint> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://schema.org/contactType> ?o
|
||||
} => {
|
||||
?s <http://schema.org/contactType> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://schema.org/email> ?o
|
||||
} => {
|
||||
?s <http://schema.org/email> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://schema.org/faxNumber> ?o
|
||||
} => {
|
||||
?s <http://schema.org/faxNumber> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://schema.org/telephone> ?o
|
||||
} => {
|
||||
?s <http://schema.org/telephone> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://schema.org/url> ?o
|
||||
} => {
|
||||
?s <http://schema.org/url> ?o
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o
|
||||
# } => {
|
||||
# ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o
|
||||
# }.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/2000/01/rdf-schema#label> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/2000/01/rdf-schema#label> ?o
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s <http://www.w3.org/2002/07/owl#sameAs> ?o
|
||||
# } => {
|
||||
# ?s <http://www.w3.org/2002/07/owl#sameAs> ?o
|
||||
# }.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/2004/02/skos/core#altLabel> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/2004/02/skos/core#altLabel> ?o
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s <http://www.w3.org/2004/02/skos/core#notation> ?o
|
||||
# } => {
|
||||
# ?s <http://www.w3.org/2004/02/skos/core#notation> ?o
|
||||
# }.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/2004/02/skos/core#prefLabel> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/2004/02/skos/core#scopeNote> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/2004/02/skos/core#scopeNote> ?o
|
||||
}.
|
||||
|
||||
# {
|
||||
# ?s <http://www.w3.org/ns/adms#identifier> ?o
|
||||
# } => {
|
||||
# ?s <http://www.w3.org/ns/adms#identifier> ?o
|
||||
# }.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#address> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#address> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#addressArea> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#addressArea> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#adminUnit1> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#adminUnit1> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#adminUnit2> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#adminUnit2> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#adminUnitL2> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#adminUnitL2> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#fullAddress> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#fullAddress> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#postCode> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#postCode> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/locn#thoroughfare> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/locn#thoroughfare> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#classification> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#classification> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#hasMembership> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#hasMembership> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#hasPost> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#hasPost> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#heldBy> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#heldBy> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#holds> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#holds> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#linkedTo> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#linkedTo> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#memberOf> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#memberOf> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#organisation> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#organisation> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://www.w3.org/ns/org#role> ?o
|
||||
} => {
|
||||
?s <http://www.w3.org/ns/org#role> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://xmlns.com/foaf/0.1/familyName> ?o
|
||||
} => {
|
||||
?s <http://xmlns.com/foaf/0.1/familyName> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <http://xmlns.com/foaf/0.1/givenName> ?o
|
||||
} => {
|
||||
?s <http://xmlns.com/foaf/0.1/givenName> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/adres#gemeentenaam> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/adres#gemeentenaam> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/adres#land> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/adres#land> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/adres#postcode> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/adres#postcode> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://data.vlaanderen.be/ns/adres#verwijstNaar> ?o
|
||||
} => {
|
||||
?s <https://data.vlaanderen.be/ns/adres#verwijstNaar> ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s <https://www.w3.org/ns/regorg#legalName> ?o
|
||||
} => {
|
||||
?s <https://www.w3.org/ns/regorg#legalName> ?o
|
||||
}.
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
# Retract empty strings
|
||||
{
|
||||
{
|
||||
?s ?p ""
|
||||
} e:becomes {}.
|
||||
} => {}.
|
||||
@@ -1,62 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
|
||||
# Rijksregisternummer
|
||||
# Extend identifiers to match OP's model
|
||||
# <http://example.org/tst#subject> skos:notation "00010100105".
|
||||
{
|
||||
?identifier skos:notation ?notation.
|
||||
?notation string:notEqualIgnoringCase "Rijksregisternummer".
|
||||
?identifier log:uri ?identifierString.
|
||||
(?identifierString "STRUCTURED_IDENTIFIER") string:concatenation ?hashInput.
|
||||
?hashInput crypto:md5 ?uuid.
|
||||
("http://data.lblod.info/id/gestructureerdeIdentificatoren/" ?uuid) string:concatenation ?structuredIdString.
|
||||
?structuredIdentifier log:uri ?structuredIdString.
|
||||
|
||||
{
|
||||
?identifier skos:notation ?notation.
|
||||
} e:becomes {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
}.
|
||||
|
||||
} => {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
|
||||
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
|
||||
mu:uuid ?uuid ;
|
||||
generiek:lokaleIdentificator ?notation
|
||||
}.
|
||||
|
||||
# identifier property in the export is only used for RRN.
|
||||
{
|
||||
{
|
||||
?s adms:identifier ?o
|
||||
} e:becomes {
|
||||
?s persoon:registratie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
@@ -1,32 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
# Inverse properties
|
||||
{
|
||||
?s org:holds ?o.
|
||||
} => {
|
||||
?o org:heldBy ?s.
|
||||
}.
|
||||
|
||||
{
|
||||
?s org:heldBy ?o.
|
||||
} => {
|
||||
?o org:holds ?s.
|
||||
}.
|
||||
@@ -1,229 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX dc_terms: <http://purl.org/dc/terms/>
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
PREFIX person: <http://www.w3.org/ns/person#>
|
||||
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
|
||||
|
||||
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
|
||||
# Hence the mapping is in two steps.
|
||||
# The first step maps the DL persoon:gebruikteVoornaam to the OP counterpart
|
||||
# and drops the DL persoon:gebruikteVoornaam statements with e:becomes
|
||||
# A second reasoning will map DL foaf:name to OP persoon:gebruikteVoornaam
|
||||
# Doing both at once would lead all DL foaf:names to incorrectly become foaf:givennames
|
||||
# in OP
|
||||
|
||||
# First name
|
||||
# persoon:gebruikteVoornaam => foaf:givenName
|
||||
# Alternatieve voornaam
|
||||
# foaf:name => persoon:gebruikteVoornaam
|
||||
|
||||
# Test Mock DL
|
||||
# <http://example.org/person> persoon_loket:gebruikteVoornaam "Didier".
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gebruikteVoornaam ?o
|
||||
} e:becomes {
|
||||
?s foaf:givenName ?o
|
||||
}
|
||||
} => {
|
||||
?s foaf:givenName ?o
|
||||
}.
|
||||
|
||||
|
||||
# First name
|
||||
# persoon:gebruikteVoornaam => foaf:givenName (done in pre-processing)
|
||||
# Alternatieve voornaam
|
||||
# foaf:name => persoon:gebruikteVoornaam
|
||||
|
||||
# Test Mock LLB
|
||||
# <http://example.org/person> foaf:name "Didier".
|
||||
{
|
||||
{
|
||||
?s foaf:name ?o
|
||||
} e:becomes {
|
||||
?s persoon:gebruikteVoornaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gebruikteVoornaam ?o
|
||||
}.
|
||||
|
||||
# Test
|
||||
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
|
||||
{
|
||||
?s mandaat:bindingEinde ?eindeDate.
|
||||
# use backward arrow rule defined below
|
||||
?eindeDate :dateTimeFromDate ?eindeDateTime.
|
||||
{
|
||||
?s mandaat:bindingEinde ?eindeDate
|
||||
} e:becomes {
|
||||
?s mandaat:bindingEinde ?eindeDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:bindingEinde ?eindeDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:start ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s mandaat:start ?startDate
|
||||
} e:becomes {
|
||||
?s mandaat:start ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:start ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:einde ?eindeDate.
|
||||
# use backward arrow rule defined below
|
||||
?eindeDate :dateTimeFromDate ?eindeDateTime.
|
||||
{
|
||||
?s mandaat:einde ?eindeDate
|
||||
} e:becomes {
|
||||
?s mandaat:einde ?eindeDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:einde ?eindeDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:bindingStart ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s mandaat:bindingStart ?startDate
|
||||
} e:becomes {
|
||||
?s mandaat:bindingStart ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:bindingStart ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s ch:startdatum ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s ch:startdatum ?startDate
|
||||
} e:becomes {
|
||||
?s ch:startdatum ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ch:startdatum ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s ch:eindedatum ?endDate.
|
||||
# use backward arrow rule defined below
|
||||
?endDate :dateTimeFromDate ?endDateTime.
|
||||
{
|
||||
?s ch:eindedatum ?endDate
|
||||
} e:becomes {
|
||||
?s ch:eindedatum ?endDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ch:eindedatum ?endDateTime
|
||||
}.
|
||||
|
||||
|
||||
# Backward arrow rule is like a function call.
|
||||
# Removes the timezone indicator "Z" from incoming datetimes
|
||||
# To make sure all datetimes have the same convention we now save them as
|
||||
# datetime without the timezone indicator
|
||||
# We use "T02:00:00" as time indicator to work around a virtuoso bug that
|
||||
# results in datetimes being converted to a date when using "T00:00:00"
|
||||
{
|
||||
?date :dateTimeFromDate ?dateTime
|
||||
}
|
||||
<=
|
||||
{
|
||||
( ?date 1 10 ) string:substring ?dateSolo .
|
||||
(?dateSolo "T02:00:00") string:concatenation ?datePlusTime.
|
||||
(?datePlusTime xsd:dateTime) log:dtlit ?dateTime .
|
||||
}.
|
||||
|
||||
# ex:orgA besluit:classificatie <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
|
||||
{
|
||||
{
|
||||
?s besluit:classificatie ?o
|
||||
} e:becomes {
|
||||
?s org:classification ?o
|
||||
}
|
||||
} => {
|
||||
?s org:classification ?o
|
||||
}.
|
||||
|
||||
# fix typo V -> v
|
||||
# <http://data.lblod.info/id/adressen/606D972BC20E70000900001C> <https://data.vlaanderen.be/ns/adres#AdresVoorstelling.huisnummer> "1" .
|
||||
{
|
||||
{
|
||||
?s adres:AdresVoorstelling.huisnummer ?o
|
||||
} e:becomes {
|
||||
?s adres:Adresvoorstelling.huisnummer ?o
|
||||
}
|
||||
} => {
|
||||
?s adres:Adresvoorstelling.huisnummer ?o
|
||||
}.
|
||||
|
||||
|
||||
# Tijdspecialisatie
|
||||
{
|
||||
{
|
||||
?s mandaat:isTijdspecialisatieVan ?o.
|
||||
} e:becomes {
|
||||
?s generiek:isTijdspecialisatieVan ?o.
|
||||
}
|
||||
} => {
|
||||
?s generiek:isTijdspecialisatieVan ?o.
|
||||
} .
|
||||
|
||||
# In OP functionaris inherits from agents-in-position, which inherits from Agent
|
||||
{
|
||||
?s a lblodlg:Functionaris .
|
||||
} => {
|
||||
?s a ch:AgentInPositie ,
|
||||
dc_terms:Agent .
|
||||
} .
|
||||
|
||||
# In OP mandataris inherits from agents-in-position, which inherits from Agent
|
||||
{
|
||||
?s a mandaat:Mandataris .
|
||||
} => {
|
||||
?s a ch:AgentInPositie ,
|
||||
dc_terms:Agent .
|
||||
} .
|
||||
|
||||
# In OP AgentInPositie inherits from Agent
|
||||
{
|
||||
?s a ch:AgentInPositie .
|
||||
} => {
|
||||
?s a dc_terms:Agent .
|
||||
} .
|
||||
|
||||
# In OP Person inherits from Agent
|
||||
{
|
||||
?s a person:Person .
|
||||
} => {
|
||||
?s a dc_terms:Agent .
|
||||
} .
|
||||
@@ -1,523 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
# Map from http persoon to https persoon namespace.
|
||||
|
||||
## classes:
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Afstamming
|
||||
} e:becomes {
|
||||
?s a persoon:Afstamming
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Afstamming
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:BurgerlijkeStaat
|
||||
} e:becomes {
|
||||
?s a persoon:BurgerlijkeStaat
|
||||
}
|
||||
} => {
|
||||
?s a persoon:BurgerlijkeStaat
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Domicilie
|
||||
} e:becomes {
|
||||
?s a persoon:Domicilie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Domicilie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Geboorte
|
||||
} e:becomes {
|
||||
?s a persoon:Geboorte
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Geboorte
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:GeenInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:GeenInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:GeenInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:GeregistreerdPersoon
|
||||
} e:becomes {
|
||||
?s a persoon:GeregistreerdPersoon
|
||||
}
|
||||
} => {
|
||||
?s a persoon:GeregistreerdPersoon
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Gezin
|
||||
} e:becomes {
|
||||
?s a persoon:Gezin
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Gezin
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Gezinsrelatie
|
||||
} e:becomes {
|
||||
?s a persoon:Gezinsrelatie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Gezinsrelatie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Huwelijk
|
||||
} e:becomes {
|
||||
?s a persoon:Huwelijk
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Huwelijk
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Inwoner
|
||||
} e:becomes {
|
||||
?s a persoon:Inwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Inwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Inwonerschap
|
||||
} e:becomes {
|
||||
?s a persoon:Inwonerschap
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Inwonerschap
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Nationaliteit
|
||||
} e:becomes {
|
||||
?s a persoon:Nationaliteit
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Nationaliteit
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Overlijden
|
||||
} e:becomes {
|
||||
?s a persoon:Overlijden
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Overlijden
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:PermanentInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:PermanentInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:PermanentInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Persoonsgebeurtenis
|
||||
} e:becomes {
|
||||
?s a persoon:Persoonsgebeurtenis
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Persoonsgebeurtenis
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Persoonsrelatie
|
||||
} e:becomes {
|
||||
?s a persoon:Persoonsrelatie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Persoonsrelatie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Samenwonen
|
||||
} e:becomes {
|
||||
?s a persoon:Samenwonen
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Samenwonen
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Staatsburger
|
||||
} e:becomes {
|
||||
?s a persoon:Staatsburger
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Staatsburger
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Staatsburgerschap
|
||||
} e:becomes {
|
||||
?s a persoon:Staatsburgerschap
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Staatsburgerschap
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:TijdelijkInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:TijdelijkInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:TijdelijkInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Verblijfplaats
|
||||
} e:becomes {
|
||||
?s a persoon:Verblijfplaats
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Verblijfplaats
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Voogdij
|
||||
} e:becomes {
|
||||
?s a persoon:Voogdij
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Voogdij
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Vreemdeling
|
||||
} e:becomes {
|
||||
?s a persoon:Vreemdeling
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Vreemdeling
|
||||
}.
|
||||
|
||||
## properties
|
||||
{
|
||||
{
|
||||
?s persoon_loket:afstammingsType ?o
|
||||
} e:becomes {
|
||||
?s persoon:afstammingsType ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:afstammingsType ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:alternatieveNaam ?o
|
||||
} e:becomes {
|
||||
?s persoon:alternatieveNaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:alternatieveNaam ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:datum ?o
|
||||
} e:becomes {
|
||||
?s persoon:datum ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:datum ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:datumVanAfstamming ?o
|
||||
} e:becomes {
|
||||
?s persoon:datumVanAfstamming ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:datumVanAfstamming ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:geslacht ?o
|
||||
} e:becomes {
|
||||
?s persoon:geslacht ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:geslacht ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gezinsadres ?o
|
||||
} e:becomes {
|
||||
?s persoon:gezinsadres ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gezinsadres ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gezinsrelatietype ?o
|
||||
} e:becomes {
|
||||
?s persoon:gezinsrelatietype ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gezinsrelatietype ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftBurgerlijkeStaat ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftBurgerlijkeStaat ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftBurgerlijkeStaat ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftGeboorte ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftInwonerschap ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftInwonerschap ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftInwonerschap ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftNationaliteit ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftOverlijden ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftOverlijden ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftOverlijden ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftPersoonsrelatie ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftPersoonsrelatie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftPersoonsrelatie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftStaatsburgerschap ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftStaatsburgerschap ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftStaatsburgerschap ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftVerblijfplaats ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftVerblijfplaats ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftVerblijfplaats ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:Inwonerschap.binnenJurisdictie ?o
|
||||
} e:becomes {
|
||||
?s persoon:Inwonerschap.binnenJurisdictie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:Inwonerschap.binnenJurisdictie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isHoofdVan ?o
|
||||
} e:becomes {
|
||||
?s persoon:isHoofdVan ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isHoofdVan ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isLidVan ?o
|
||||
} e:becomes {
|
||||
?s persoon:isLidVan ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isLidVan ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isRelatieMet ?o
|
||||
} e:becomes {
|
||||
?s persoon:isRelatieMet ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isRelatieMet ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:land ?o
|
||||
} e:becomes {
|
||||
?s persoon:land ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:land ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:nationaliteit ?o
|
||||
} e:becomes {
|
||||
?s persoon:nationaliteit ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:nationaliteit ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:plaats ?o
|
||||
} e:becomes {
|
||||
?s persoon:plaats ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:plaats ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:registratie ?o
|
||||
} e:becomes {
|
||||
?s persoon:registratie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:Staatsburgerschap.binnenJurisdictie ?o
|
||||
} e:becomes {
|
||||
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:type ?o
|
||||
} e:becomes {
|
||||
?s persoon:type ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:type ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:verblijfsadres ?o
|
||||
} e:becomes {
|
||||
?s persoon:verblijfsadres ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:verblijfsadres ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:volledigeNaam ?o
|
||||
} e:becomes {
|
||||
?s persoon:volledigeNaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:volledigeNaam ?o
|
||||
}.
|
||||
@@ -1,32 +0,0 @@
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX schema: <http://schema.org/>
|
||||
PREFIX : <#>
|
||||
{
|
||||
?s schema:telephone ?number.
|
||||
|
||||
# Remove all non digits
|
||||
( ?number ("""[^+\\d]""") ("") ) string:replaceAll ?scrape_result.
|
||||
|
||||
# Replace leading 00 with +
|
||||
( ?scrape_result """^00""" "+") string:replace ?replaced_zero_zero.
|
||||
|
||||
( ?replaced_zero_zero """^0""" "+32") string:replace ?default_be.
|
||||
|
||||
( ?default_be """\\+320""" "+32" ) string:replace ?replace_320.
|
||||
|
||||
( ?replace_320 """^320""" "+32" ) string:replace ?final_result.
|
||||
|
||||
?final_result string:matches """^\\+((32\\d{8})|(324\\d{8})|((?!32)\\d+))$""".
|
||||
|
||||
( "tel:" ?final_result ) string:concatenation ?parsed_result .
|
||||
|
||||
{
|
||||
?s schema:telephone ?number.
|
||||
} e:becomes {
|
||||
?s schema:telephone ?parsed_result .
|
||||
}.
|
||||
|
||||
} => {
|
||||
?s schema:telephone ?parsed_result .
|
||||
}.
|
||||
@@ -1,284 +0,0 @@
|
||||
# Filtering classes to ingest
|
||||
|
||||
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/person#Person> ;
|
||||
?p ?o .
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/person#Person> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/locn#Address> ;
|
||||
?p ?o .
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/locn#Address> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://schema.org/ContactPoint> ;
|
||||
?p ?o .
|
||||
} => {
|
||||
?s a <http://schema.org/ContactPoint> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
# For functionarissen, the contact point is on the bestuursfunctie and not on the agent in position
|
||||
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie> ;
|
||||
<http://schema.org/contactPoint> ?o .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie> ;
|
||||
<http://schema.org/contactPoint> ?o .
|
||||
}.
|
||||
|
||||
# Functionarissen should only be linked to an IGS, AGB, APB, gemeente, district,
|
||||
# provincie, OCMW, or OCMW association (FOR NOW)
|
||||
|
||||
## Province
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## Municipality
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## OCMW
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## district
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## AGB
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/36a82ba0-7ff1-4697-a9dd-2e94df73b721> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## APB
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/80310756-ce0a-4a1b-9b8e-7c01b6cc7a2d> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## projectvereniging (IGS)
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b156b67f-c5f4-4584-9b30-4c090be02fdc> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
## dienstverlenend vereniging (IGS)
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/d01bb1f6-2439-4e33-9c25-1fc295de2e71> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## opdrachthoudende vereniging (IGS)
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cd93f147-3ece-4308-acab-5c5ada3ec63d> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## opdrachthoudende vereniging met private deelname (IGS)
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/4b8450cf-a326-4c66-9e63-b4ec10acc7f6> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## OCMW associations
|
||||
# Note: Loket uses only the general classification code for OCMW associations,
|
||||
# while OP uses its 5 more specific subtypes
|
||||
{
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/cc4e2d67-603b-4784-9b61-e50bac1ec089> .
|
||||
} => {
|
||||
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
# Mandatarissen should only be linked to a gemeente, district, provincie or OCMW
|
||||
# (FOR NOW)
|
||||
|
||||
## province
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?mandate ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## municipality
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?mandate ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## OCMW
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?mandate ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> .
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
## district
|
||||
{
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
<http://www.w3.org/ns/org#holds> ?mandate ;
|
||||
?p ?o .
|
||||
|
||||
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
|
||||
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
|
||||
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
|
||||
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003> .
|
||||
} => {
|
||||
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
|
||||
?p ?o .
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/org#Membership> ;
|
||||
?p ?o .
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/org#Membership> ;
|
||||
?p ?o .
|
||||
}.
|
||||
{
|
||||
?s a <http://www.w3.org/ns/prov#Location> ;
|
||||
?p ?o .
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/prov#Location> ;
|
||||
?p ?o .
|
||||
}.
|
||||
@@ -1,26 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
# Retract empty strings
|
||||
{
|
||||
{
|
||||
?s ?p ""
|
||||
} e:becomes {}.
|
||||
} => {}.
|
||||
@@ -1,60 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
# Rijksregisternummer
|
||||
# Extend identifiers to match OP's model
|
||||
# <http://example.org/tst#subject> skos:notation "00010100105".
|
||||
{
|
||||
?identifier skos:notation ?notation.
|
||||
?notation string:notEqualIgnoringCase "Rijksregisternummer".
|
||||
?identifier log:uri ?identifierString.
|
||||
(?identifierString "STRUCTURED_IDENTIFIER") string:concatenation ?hashInput.
|
||||
?hashInput crypto:md5 ?uuid.
|
||||
("http://data.lblod.info/id/gestructureerdeIdentificatoren/" ?uuid) string:concatenation ?structuredIdString.
|
||||
?structuredIdentifier log:uri ?structuredIdString.
|
||||
|
||||
{
|
||||
?identifier skos:notation ?notation.
|
||||
} e:becomes {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
}.
|
||||
|
||||
} => {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
|
||||
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
|
||||
mu:uuid ?uuid ;
|
||||
generiek:lokaleIdentificator ?notation
|
||||
}.
|
||||
|
||||
# identifier property in the export is only used for RRN.
|
||||
{
|
||||
{
|
||||
?s adms:identifier ?o
|
||||
} e:becomes {
|
||||
?s persoon:registratie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
@@ -1,33 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
# Inverse properties
|
||||
{
|
||||
?s org:holds ?o.
|
||||
} => {
|
||||
?o org:heldBy ?s.
|
||||
}.
|
||||
|
||||
{
|
||||
?s org:heldBy ?o.
|
||||
} => {
|
||||
?o org:holds ?s.
|
||||
}.
|
||||
@@ -1,196 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
|
||||
|
||||
|
||||
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
|
||||
# Hence the mapping is in two steps.
|
||||
# The first step maps the DL persoon:gebruikteVoornaam to the OP counterpart
|
||||
# and drops the DL persoon:gebruikteVoornaam statements with e:becomes
|
||||
# A second reasoning will map DL foaf:name to OP persoon:gebruikteVoornaam
|
||||
# Doing both at once would lead all DL foaf:names to incorrectly become foaf:givennames
|
||||
# in OP
|
||||
|
||||
# First name
|
||||
# persoon:gebruikteVoornaam => foaf:givenName
|
||||
# Alternatieve voornaam
|
||||
# foaf:name => persoon:gebruikteVoornaam
|
||||
|
||||
# Test Mock DL
|
||||
# <http://example.org/person> persoon_loket:gebruikteVoornaam "Didier".
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gebruikteVoornaam ?o
|
||||
} e:becomes {
|
||||
?s foaf:givenName ?o
|
||||
}
|
||||
} => {
|
||||
?s foaf:givenName ?o
|
||||
}.
|
||||
|
||||
|
||||
# First name
|
||||
# persoon:gebruikteVoornaam => foaf:givenName (done in pre-processing)
|
||||
# Alternatieve voornaam
|
||||
# foaf:name => persoon:gebruikteVoornaam
|
||||
|
||||
# Test Mock LLB
|
||||
# <http://example.org/person> foaf:name "Didier".
|
||||
{
|
||||
{
|
||||
?s foaf:name ?o
|
||||
} e:becomes {
|
||||
?s persoon:gebruikteVoornaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gebruikteVoornaam ?o
|
||||
}.
|
||||
|
||||
# Test
|
||||
# ex:s <http://data.vlaanderen.be/ns/mandaat#start> "2019-01-01T19:32:52+00:00"^^xsd:dateTime.
|
||||
{
|
||||
?s mandaat:bindingStart ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s mandaat:bindingStart ?startDate
|
||||
} e:becomes {
|
||||
?s mandaat:bindingStart ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:bindingStart ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:bindingEinde ?eindeDate.
|
||||
# use backward arrow rule defined below
|
||||
?eindeDate :dateTimeFromDate ?eindeDateTime.
|
||||
{
|
||||
?s mandaat:bindingEinde ?eindeDate
|
||||
} e:becomes {
|
||||
?s mandaat:bindingEinde ?eindeDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:bindingEinde ?eindeDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:start ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s mandaat:start ?startDate
|
||||
} e:becomes {
|
||||
?s mandaat:start ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:start ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s mandaat:einde ?eindeDate.
|
||||
# use backward arrow rule defined below
|
||||
?eindeDate :dateTimeFromDate ?eindeDateTime.
|
||||
{
|
||||
?s mandaat:einde ?eindeDate
|
||||
} e:becomes {
|
||||
?s mandaat:einde ?eindeDateTime
|
||||
}.
|
||||
} => {
|
||||
?s mandaat:einde ?eindeDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s ch:startdatum ?startDate.
|
||||
# use backward arrow rule defined below
|
||||
?startDate :dateTimeFromDate ?startDateTime.
|
||||
{
|
||||
?s ch:startdatum ?startDate
|
||||
} e:becomes {
|
||||
?s ch:startdatum ?startDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ch:startdatum ?startDateTime
|
||||
}.
|
||||
|
||||
{
|
||||
?s ch:eindedatum ?endDate.
|
||||
# use backward arrow rule defined below
|
||||
?endDate :dateTimeFromDate ?endDateTime.
|
||||
{
|
||||
?s ch:eindedatum ?endDate
|
||||
} e:becomes {
|
||||
?s ch:eindedatum ?endDateTime
|
||||
}.
|
||||
} => {
|
||||
?s ch:eindedatum ?endDateTime
|
||||
}.
|
||||
|
||||
# Backward arrow rule is like a function call.
|
||||
# Removes the timezone indicator "Z" from incoming datetimes
|
||||
# To make sure all datetimes have the same convention we now save them as
|
||||
# datetime without the timezone indicator
|
||||
# We use "T02:00:00" as time indicator to work around a virtuoso bug that
|
||||
# results in datetimes being converted to a date when using "T00:00:00"
|
||||
{
|
||||
?date :dateTimeFromDate ?dateTime
|
||||
}
|
||||
<=
|
||||
{
|
||||
( ?date 1 10 ) string:substring ?dateSolo .
|
||||
(?dateSolo "T02:00:00") string:concatenation ?datePlusTime.
|
||||
(?datePlusTime xsd:dateTime) log:dtlit ?dateTime .
|
||||
}.
|
||||
|
||||
# ex:orgA besluit:classificatie <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
|
||||
{
|
||||
{
|
||||
?s besluit:classificatie ?o
|
||||
} e:becomes {
|
||||
?s org:classification ?o
|
||||
}
|
||||
} => {
|
||||
?s org:classification ?o
|
||||
}.
|
||||
|
||||
# fix typo V -> v
|
||||
# <http://data.lblod.info/id/adressen/606D972BC20E70000900001C> <https://data.vlaanderen.be/ns/adres#AdresVoorstelling.huisnummer> "1" .
|
||||
{
|
||||
{
|
||||
?s adres:AdresVoorstelling.huisnummer ?o
|
||||
} e:becomes {
|
||||
?s adres:Adresvoorstelling.huisnummer ?o
|
||||
}
|
||||
} => {
|
||||
?s adres:Adresvoorstelling.huisnummer ?o
|
||||
}.
|
||||
|
||||
|
||||
# Tijdspecialisatie
|
||||
{
|
||||
{
|
||||
?s mandaat:isTijdspecialisatieVan ?o.
|
||||
} e:becomes {
|
||||
?s generiek:isTijdspecialisatieVan ?o.
|
||||
}
|
||||
} => {
|
||||
?s generiek:isTijdspecialisatieVan ?o.
|
||||
}.
|
||||
@@ -1,524 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
# Map from http persoon to https persoon namespace.
|
||||
|
||||
## classes:
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Afstamming
|
||||
} e:becomes {
|
||||
?s a persoon:Afstamming
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Afstamming
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:BurgerlijkeStaat
|
||||
} e:becomes {
|
||||
?s a persoon:BurgerlijkeStaat
|
||||
}
|
||||
} => {
|
||||
?s a persoon:BurgerlijkeStaat
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Domicilie
|
||||
} e:becomes {
|
||||
?s a persoon:Domicilie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Domicilie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Geboorte
|
||||
} e:becomes {
|
||||
?s a persoon:Geboorte
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Geboorte
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:GeenInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:GeenInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:GeenInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:GeregistreerdPersoon
|
||||
} e:becomes {
|
||||
?s a persoon:GeregistreerdPersoon
|
||||
}
|
||||
} => {
|
||||
?s a persoon:GeregistreerdPersoon
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Gezin
|
||||
} e:becomes {
|
||||
?s a persoon:Gezin
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Gezin
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Gezinsrelatie
|
||||
} e:becomes {
|
||||
?s a persoon:Gezinsrelatie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Gezinsrelatie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Huwelijk
|
||||
} e:becomes {
|
||||
?s a persoon:Huwelijk
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Huwelijk
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Inwoner
|
||||
} e:becomes {
|
||||
?s a persoon:Inwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Inwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Inwonerschap
|
||||
} e:becomes {
|
||||
?s a persoon:Inwonerschap
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Inwonerschap
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Nationaliteit
|
||||
} e:becomes {
|
||||
?s a persoon:Nationaliteit
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Nationaliteit
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Overlijden
|
||||
} e:becomes {
|
||||
?s a persoon:Overlijden
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Overlijden
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:PermanentInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:PermanentInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:PermanentInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Persoonsgebeurtenis
|
||||
} e:becomes {
|
||||
?s a persoon:Persoonsgebeurtenis
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Persoonsgebeurtenis
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Persoonsrelatie
|
||||
} e:becomes {
|
||||
?s a persoon:Persoonsrelatie
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Persoonsrelatie
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Samenwonen
|
||||
} e:becomes {
|
||||
?s a persoon:Samenwonen
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Samenwonen
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Staatsburger
|
||||
} e:becomes {
|
||||
?s a persoon:Staatsburger
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Staatsburger
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Staatsburgerschap
|
||||
} e:becomes {
|
||||
?s a persoon:Staatsburgerschap
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Staatsburgerschap
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:TijdelijkInwoner
|
||||
} e:becomes {
|
||||
?s a persoon:TijdelijkInwoner
|
||||
}
|
||||
} => {
|
||||
?s a persoon:TijdelijkInwoner
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Verblijfplaats
|
||||
} e:becomes {
|
||||
?s a persoon:Verblijfplaats
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Verblijfplaats
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Voogdij
|
||||
} e:becomes {
|
||||
?s a persoon:Voogdij
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Voogdij
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s a persoon_loket:Vreemdeling
|
||||
} e:becomes {
|
||||
?s a persoon:Vreemdeling
|
||||
}
|
||||
} => {
|
||||
?s a persoon:Vreemdeling
|
||||
}.
|
||||
|
||||
## properties
|
||||
{
|
||||
{
|
||||
?s persoon_loket:afstammingsType ?o
|
||||
} e:becomes {
|
||||
?s persoon:afstammingsType ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:afstammingsType ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:alternatieveNaam ?o
|
||||
} e:becomes {
|
||||
?s persoon:alternatieveNaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:alternatieveNaam ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:datum ?o
|
||||
} e:becomes {
|
||||
?s persoon:datum ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:datum ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:datumVanAfstamming ?o
|
||||
} e:becomes {
|
||||
?s persoon:datumVanAfstamming ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:datumVanAfstamming ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:geslacht ?o
|
||||
} e:becomes {
|
||||
?s persoon:geslacht ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:geslacht ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gezinsadres ?o
|
||||
} e:becomes {
|
||||
?s persoon:gezinsadres ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gezinsadres ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:gezinsrelatietype ?o
|
||||
} e:becomes {
|
||||
?s persoon:gezinsrelatietype ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:gezinsrelatietype ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftBurgerlijkeStaat ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftBurgerlijkeStaat ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftBurgerlijkeStaat ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftGeboorte ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftInwonerschap ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftInwonerschap ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftInwonerschap ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftNationaliteit ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftOverlijden ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftOverlijden ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftOverlijden ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftPersoonsrelatie ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftPersoonsrelatie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftPersoonsrelatie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftStaatsburgerschap ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftStaatsburgerschap ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftStaatsburgerschap ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:heeftVerblijfplaats ?o
|
||||
} e:becomes {
|
||||
?s persoon:heeftVerblijfplaats ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:heeftVerblijfplaats ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:Inwonerschap.binnenJurisdictie ?o
|
||||
} e:becomes {
|
||||
?s persoon:Inwonerschap.binnenJurisdictie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:Inwonerschap.binnenJurisdictie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isHoofdVan ?o
|
||||
} e:becomes {
|
||||
?s persoon:isHoofdVan ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isHoofdVan ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isLidVan ?o
|
||||
} e:becomes {
|
||||
?s persoon:isLidVan ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isLidVan ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:isRelatieMet ?o
|
||||
} e:becomes {
|
||||
?s persoon:isRelatieMet ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:isRelatieMet ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:land ?o
|
||||
} e:becomes {
|
||||
?s persoon:land ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:land ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:nationaliteit ?o
|
||||
} e:becomes {
|
||||
?s persoon:nationaliteit ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:nationaliteit ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:plaats ?o
|
||||
} e:becomes {
|
||||
?s persoon:plaats ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:plaats ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:registratie ?o
|
||||
} e:becomes {
|
||||
?s persoon:registratie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:Staatsburgerschap.binnenJurisdictie ?o
|
||||
} e:becomes {
|
||||
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:Staatsburgerschap.binnenJurisdictie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:type ?o
|
||||
} e:becomes {
|
||||
?s persoon:type ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:type ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:verblijfsadres ?o
|
||||
} e:becomes {
|
||||
?s persoon:verblijfsadres ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:verblijfsadres ?o
|
||||
}.
|
||||
|
||||
{
|
||||
{
|
||||
?s persoon_loket:volledigeNaam ?o
|
||||
} e:becomes {
|
||||
?s persoon:volledigeNaam ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:volledigeNaam ?o
|
||||
}.
|
||||
@@ -1,90 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
|
||||
# Rijksregisternummer
|
||||
# Extend identifiers to match OP's model
|
||||
# <http://example.org/tst#subject> skos:notation "00010100105".
|
||||
{
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
|
||||
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
|
||||
mu:uuid ?uuid ;
|
||||
generiek:lokaleIdentificator ?notation
|
||||
} => {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
|
||||
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
|
||||
mu:uuid ?uuid ;
|
||||
generiek:lokaleIdentificator ?notation
|
||||
}.
|
||||
|
||||
# identifier property in the export is only used for RRN.
|
||||
{
|
||||
?s persoon:registratie ?o
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s a <http://www.w3.org/ns/adms#Identifier>
|
||||
} => {
|
||||
?s a <http://www.w3.org/ns/adms#Identifier>
|
||||
}.
|
||||
|
||||
# Nationality
|
||||
{
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
} => {
|
||||
?s persoon:heeftNationaliteit ?o
|
||||
}.
|
||||
|
||||
|
||||
# Birth and related attributes
|
||||
{
|
||||
?s a persoon:Geboorte;
|
||||
?p ?o.
|
||||
} => {
|
||||
?s a persoon:Geboorte;
|
||||
?p ?o.
|
||||
}.
|
||||
|
||||
{
|
||||
?s persoon:heeftGeboorte ?o
|
||||
} => {
|
||||
?s persoon:heeftGeboorte ?o
|
||||
}.
|
||||
|
||||
{
|
||||
?s persoon:datum ?o
|
||||
} => {
|
||||
?s persoon:datum ?o
|
||||
}.
|
||||
|
||||
# Gender
|
||||
{
|
||||
?s persoon:geslacht ?o
|
||||
} => {
|
||||
?s persoon:geslacht ?o
|
||||
}.
|
||||
@@ -1,27 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
# Retract empty strings
|
||||
{
|
||||
{
|
||||
?s ?p ""
|
||||
} e:becomes {}.
|
||||
} => {}.
|
||||
@@ -1,62 +0,0 @@
|
||||
PREFIX : <#>
|
||||
PREFIX adms: <http://www.w3.org/ns/adms#>
|
||||
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
PREFIX crypto: <http://www.w3.org/2000/10/swap/crypto#>
|
||||
PREFIX e: <http://eulersharp.sourceforge.net/2003/03swap/log-rules#>
|
||||
PREFIX ex: <http://example.org/test#>
|
||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||
PREFIX func: <http://www.w3.org/2007/rif-builtin-function#>
|
||||
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
|
||||
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
|
||||
PREFIX org: <http://www.w3.org/ns/org#>
|
||||
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
|
||||
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
|
||||
PREFIX string: <http://www.w3.org/2000/10/swap/string#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
|
||||
|
||||
# Rijksregisternummer
|
||||
# Extend identifiers to match OP's model
|
||||
# <http://example.org/tst#subject> skos:notation "00010100105".
|
||||
{
|
||||
?identifier skos:notation ?notation.
|
||||
?notation string:notEqualIgnoringCase "Rijksregisternummer".
|
||||
?identifier log:uri ?identifierString.
|
||||
(?identifierString "STRUCTURED_IDENTIFIER") string:concatenation ?hashInput.
|
||||
?hashInput crypto:md5 ?uuid.
|
||||
("http://data.lblod.info/id/gestructureerdeIdentificatoren/" ?uuid) string:concatenation ?structuredIdString.
|
||||
?structuredIdentifier log:uri ?structuredIdString.
|
||||
|
||||
{
|
||||
?identifier skos:notation ?notation.
|
||||
} e:becomes {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
}.
|
||||
|
||||
} => {
|
||||
?identifier
|
||||
generiek:gestructureerdeIdentificator ?structuredIdentifier ;
|
||||
skos:notation "Rijksregisternummer" .
|
||||
|
||||
?structuredIdentifier a generiek:GestructureerdeIdentificator ;
|
||||
mu:uuid ?uuid ;
|
||||
generiek:lokaleIdentificator ?notation
|
||||
}.
|
||||
|
||||
# identifier property in the export is only used for RRN.
|
||||
{
|
||||
{
|
||||
?s adms:identifier ?o
|
||||
} e:becomes {
|
||||
?s persoon:registratie ?o
|
||||
}
|
||||
} => {
|
||||
?s persoon:registratie ?o
|
||||
}.
|
||||
@@ -29,7 +29,8 @@
|
||||
"code": "http://lblod.data.gift/vocabularies/organisatie/",
|
||||
"ext": "http://mu.semte.ch/vocabularies/ext/",
|
||||
"geo": "http://www.opengis.net/ont/geosparql#",
|
||||
"nacebel": "http://data.gift/vocabularies/nace-bel/"
|
||||
"nacebel": "http://data.gift/vocabularies/nace-bel/",
|
||||
"time": "http://www.w3.org/2006/time#"
|
||||
},
|
||||
"resources": {
|
||||
"agents": {
|
||||
@@ -439,36 +440,15 @@
|
||||
"target": "posts",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"associated-organizations": {
|
||||
"predicate": "org:linkedTo",
|
||||
"target": "organizations",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"sub-organizations": {
|
||||
"predicate": "org:hasSubOrganization",
|
||||
"target": "organizations",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"is-associated-with": {
|
||||
"predicate": "org:linkedTo",
|
||||
"target": "organizations",
|
||||
"cardinality": "one",
|
||||
"memberships-of-organizations": {
|
||||
"predicate": "org:member",
|
||||
"target": "memberships",
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
},
|
||||
"is-sub-organization-of": {
|
||||
"predicate": "org:hasSubOrganization",
|
||||
"target": "organizations",
|
||||
"cardinality": "one",
|
||||
"inverse": true
|
||||
},
|
||||
"founded-organizations": {
|
||||
"predicate": "ext:isFounderOfOrganization",
|
||||
"target": "organizations",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"was-founded-by-organizations": {
|
||||
"predicate": "ext:isFounderOfOrganization",
|
||||
"target": "organizations",
|
||||
"memberships": {
|
||||
"predicate": "org:organization",
|
||||
"target": "memberships",
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
},
|
||||
@@ -482,17 +462,6 @@
|
||||
"target": "nace-bel-codes",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"participates-in": {
|
||||
"predicate": "org:memberOf",
|
||||
"target": "organizations",
|
||||
"cardinality": "many"
|
||||
},
|
||||
"has-participants": {
|
||||
"predicate": "org:memberOf",
|
||||
"target": "organizations",
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
},
|
||||
"kbo-organization": {
|
||||
"predicate": "owl:sameAs",
|
||||
"target": "kbo-organizations",
|
||||
@@ -862,6 +831,68 @@
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/vestigingen/"
|
||||
},
|
||||
"memberships": {
|
||||
"class": "org:Membership",
|
||||
"relationships": {
|
||||
"member": {
|
||||
"predicate": "org:member",
|
||||
"target": "organizations",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"organization": {
|
||||
"predicate": "org:organization",
|
||||
"target": "organizations",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"role": {
|
||||
"predicate": "org:role",
|
||||
"target": "membership-roles",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"during": {
|
||||
"predicate": "euro:memberDuring",
|
||||
"target": "period-of-time",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/lidmaatschap/"
|
||||
},
|
||||
"membership-roles": {
|
||||
"class": "org:Role",
|
||||
"attributes": {
|
||||
"label": {
|
||||
"predicate": "skos:prefLabel",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"top-concept-of": {
|
||||
"predicate": "skos:topConceptOf",
|
||||
"target": "concepts",
|
||||
"cardinality": "one"
|
||||
},
|
||||
"has-broader-role": {
|
||||
"predicate": "skos:broader",
|
||||
"target": "membership-roles",
|
||||
"cardinality": "one"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/rollen/"
|
||||
},
|
||||
"period-of-time": {
|
||||
"class": "time:ProperInterval",
|
||||
"attributes": {
|
||||
"start-date": {
|
||||
"predicate": "time:hasBeginning",
|
||||
"type": "datetime"
|
||||
},
|
||||
"end-date": {
|
||||
"predicate": "time:hasEnd",
|
||||
"type": "datetime"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/periode/"
|
||||
},
|
||||
"concepts": {
|
||||
"class": "skos:Concept",
|
||||
"attributes": {
|
||||
|
||||
@@ -92,22 +92,18 @@
|
||||
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris"
|
||||
],
|
||||
"properties": {
|
||||
"given_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"person_id": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"person_uuid": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"family_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/familyName"
|
||||
],
|
||||
"given_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"first_name_used": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam"
|
||||
@@ -135,24 +131,6 @@
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_municipality": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"organization_province": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"position_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://www.w3.org/ns/org#role",
|
||||
@@ -166,6 +144,14 @@
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -175,14 +161,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -192,6 +170,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"first_name_used": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -204,15 +194,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -222,15 +203,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -242,9 +214,6 @@
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -254,22 +223,18 @@
|
||||
"on_path": "functionaries",
|
||||
"rdf_type": "http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
|
||||
"properties": {
|
||||
"given_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"person_id": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"person_uuid": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"family_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/familyName"
|
||||
],
|
||||
"given_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"first_name_used": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam"
|
||||
@@ -297,24 +262,6 @@
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_municipality": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"organization_province": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"position_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://www.w3.org/ns/org#role",
|
||||
@@ -328,6 +275,14 @@
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -337,14 +292,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -354,6 +301,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"first_name_used": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -366,15 +325,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -384,15 +334,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -404,9 +345,6 @@
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -419,22 +357,18 @@
|
||||
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie"
|
||||
],
|
||||
"properties": {
|
||||
"given_name": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"person_id": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"person_uuid": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"family_name": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://xmlns.com/foaf/0.1/familyName"
|
||||
],
|
||||
"given_name": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"first_name_used": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam"
|
||||
@@ -456,20 +390,6 @@
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_municipality": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"organization_province": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"position_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://data.lblod.info/vocabularies/erediensten/functie",
|
||||
@@ -483,6 +403,14 @@
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -492,14 +420,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -509,6 +429,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"first_name_used": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -521,15 +453,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -539,15 +462,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -559,9 +473,6 @@
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -571,14 +482,6 @@
|
||||
"composite_types": ["minister", "functionary", "mandatory"],
|
||||
"on_path": "people",
|
||||
"properties": [
|
||||
{
|
||||
"name": "given_name",
|
||||
"mappings": {
|
||||
"minister": "given_name",
|
||||
"functionary": "given_name",
|
||||
"mandatory": "given_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "person_id",
|
||||
"mappings": {
|
||||
@@ -595,6 +498,14 @@
|
||||
"mandatory": "family_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "given_name",
|
||||
"mappings": {
|
||||
"minister": "given_name",
|
||||
"functionary": "given_name",
|
||||
"mandatory": "given_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "first_name_used",
|
||||
"mappings": {
|
||||
@@ -635,22 +546,6 @@
|
||||
"mandatory": "organization_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_municipality",
|
||||
"mappings": {
|
||||
"minister": "organization_municipality",
|
||||
"functionary": "organization_municipality",
|
||||
"mandatory": "organization_municipality"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_province",
|
||||
"mappings": {
|
||||
"minister": "organization_province",
|
||||
"functionary": "organization_province",
|
||||
"mandatory": "organization_province"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "position_id",
|
||||
"mappings": {
|
||||
@@ -670,6 +565,14 @@
|
||||
],
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -679,14 +582,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -696,6 +591,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"first_name_used": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -708,15 +615,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -726,15 +624,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
@@ -746,9 +635,6 @@
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -810,12 +696,6 @@
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"classification_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"recognized_worship_type_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -843,6 +723,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"classification_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"classification_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
@@ -861,6 +744,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"status_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"recognized_worship_type_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"recognized_worship_type_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
|
||||
@@ -1,877 +0,0 @@
|
||||
{
|
||||
"automatic_index_updates": true,
|
||||
"persist_indexes": true,
|
||||
"number_of_threads": 8,
|
||||
"eager_indexing_groups": [
|
||||
[
|
||||
{
|
||||
"variables": [],
|
||||
"name": "acmidm-worship-editeerder"
|
||||
},
|
||||
{
|
||||
"variables": [],
|
||||
"name": "clean"
|
||||
},
|
||||
{
|
||||
"variables": [],
|
||||
"name": "public"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"variables": [],
|
||||
"name": "acmidm-editeerder"
|
||||
},
|
||||
{
|
||||
"variables": [],
|
||||
"name": "clean"
|
||||
},
|
||||
{
|
||||
"variables": [],
|
||||
"name": "public"
|
||||
}
|
||||
]
|
||||
],
|
||||
"default_settings": {
|
||||
"analysis": {
|
||||
"normalizer": {
|
||||
"custom_sort_normalizer": {
|
||||
"type": "custom",
|
||||
"char_filter": [],
|
||||
"filter": ["lowercase", "trim", "asciifolding"]
|
||||
},
|
||||
"identifier_normalizer": {
|
||||
"type": "custom",
|
||||
"char_filter": ["identifier_alphanumeric_filter"],
|
||||
"filter": ["lowercase", "trim", "asciifolding"]
|
||||
}
|
||||
},
|
||||
"char_filter": {
|
||||
"identifier_alphanumeric_filter": {
|
||||
"type": "pattern_replace",
|
||||
"pattern": "[^a-zA-Z0-9]",
|
||||
"replacement": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"types": [
|
||||
{
|
||||
"type": "mandatory",
|
||||
"on_path": "mandatories",
|
||||
"rdf_type": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#Mandataris",
|
||||
"http://data.lblod.info/vocabularies/erediensten/EredienstMandataris"
|
||||
],
|
||||
"properties": {
|
||||
"given_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"person_id": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"person_uuid": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"family_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/familyName"
|
||||
],
|
||||
"first_name_used": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam"
|
||||
],
|
||||
"end_date": "http://data.vlaanderen.be/ns/mandaat#einde",
|
||||
"organization_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"organization_classification": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_name": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_municipality": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"organization_province": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://www.w3.org/ns/org#hasPost",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"position_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://www.w3.org/ns/org#role",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"position_name": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://www.w3.org/ns/org#role",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
]
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"organization_classification": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"position_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "functionary",
|
||||
"on_path": "functionaries",
|
||||
"rdf_type": "http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
|
||||
"properties": {
|
||||
"given_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"person_id": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"person_uuid": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"family_name": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"http://xmlns.com/foaf/0.1/familyName"
|
||||
],
|
||||
"first_name_used": [
|
||||
"http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan",
|
||||
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam"
|
||||
],
|
||||
"end_date": "http://data.vlaanderen.be/ns/mandaat#einde",
|
||||
"organization_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"organization_classification": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_name": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_municipality": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"organization_province": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
|
||||
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
|
||||
"http://data.vlaanderen.be/ns/besluit#bestuurt",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"position_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://www.w3.org/ns/org#role",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"position_name": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://www.w3.org/ns/org#role",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
]
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"organization_classification": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"position_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "minister",
|
||||
"on_path": "ministers",
|
||||
"rdf_type": [
|
||||
"http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
|
||||
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie"
|
||||
],
|
||||
"properties": {
|
||||
"given_name": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://xmlns.com/foaf/0.1/givenName"
|
||||
],
|
||||
"person_id": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"person_uuid": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"family_name": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"http://xmlns.com/foaf/0.1/familyName"
|
||||
],
|
||||
"first_name_used": [
|
||||
"http://www.w3.org/ns/org#heldBy",
|
||||
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam"
|
||||
],
|
||||
"end_date": "http://data.lblod.info/vocabularies/contacthub/eindedatum",
|
||||
"organization_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"organization_classification": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_name": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"organization_municipality": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"organization_province": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"^http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"position_id": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://data.lblod.info/vocabularies/erediensten/functie",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"position_name": [
|
||||
"http://www.w3.org/ns/org#holds",
|
||||
"http://data.lblod.info/vocabularies/erediensten/functie",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
]
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"organization_classification": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"position_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "person",
|
||||
"composite_types": ["minister", "functionary", "mandatory"],
|
||||
"on_path": "people",
|
||||
"properties": [
|
||||
{
|
||||
"name": "given_name",
|
||||
"mappings": {
|
||||
"minister": "given_name",
|
||||
"functionary": "given_name",
|
||||
"mandatory": "given_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "person_id",
|
||||
"mappings": {
|
||||
"minister": "person_id",
|
||||
"functionary": "person_id",
|
||||
"mandatory": "person_id"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "family_name",
|
||||
"mappings": {
|
||||
"minister": "family_name",
|
||||
"functionary": "family_name",
|
||||
"mandatory": "family_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "first_name_used",
|
||||
"mappings": {
|
||||
"minister": "first_name_used",
|
||||
"functionary": "first_name_used",
|
||||
"mandatory": "first_name_used"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "end_date",
|
||||
"mappings": {
|
||||
"minister": "end_date",
|
||||
"functionary": "end_date",
|
||||
"mandatory": "end_date"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_id",
|
||||
"mappings": {
|
||||
"minister": "organization_id",
|
||||
"functionary": "organization_id",
|
||||
"mandatory": "organization_id"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_classification",
|
||||
"mappings": {
|
||||
"minister": "organization_classification",
|
||||
"functionary": "organization_classification",
|
||||
"mandatory": "organization_classification"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_name",
|
||||
"mappings": {
|
||||
"minister": "organization_name",
|
||||
"functionary": "organization_name",
|
||||
"mandatory": "organization_name"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_municipality",
|
||||
"mappings": {
|
||||
"minister": "organization_municipality",
|
||||
"functionary": "organization_municipality",
|
||||
"mandatory": "organization_municipality"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "organization_province",
|
||||
"mappings": {
|
||||
"minister": "organization_province",
|
||||
"functionary": "organization_province",
|
||||
"mandatory": "organization_province"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "position_id",
|
||||
"mappings": {
|
||||
"minister": "position_id",
|
||||
"functionary": "position_id",
|
||||
"mandatory": "position_id"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "position_name",
|
||||
"mappings": {
|
||||
"minister": "position_name",
|
||||
"functionary": "position_name",
|
||||
"mandatory": "position_name"
|
||||
}
|
||||
}
|
||||
],
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"family_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"person_id": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"given_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"organization_classification": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"organization_municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"position_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"position_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"end_date": {
|
||||
"type": "date"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "organization",
|
||||
"on_path": "organizations",
|
||||
"rdf_type": [
|
||||
"http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
|
||||
"http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
|
||||
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
|
||||
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
|
||||
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
|
||||
"http://www.w3.org/ns/regorg#RegisteredOrganization"
|
||||
],
|
||||
"properties": {
|
||||
"name": "http://www.w3.org/2004/02/skos/core#prefLabel",
|
||||
"legal_name": "http://www.w3.org/ns/regorg#legalName",
|
||||
"alternative_name": "http://www.w3.org/2004/02/skos/core#altLabel",
|
||||
"classification_id": [
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"classification_name": [
|
||||
"http://www.w3.org/ns/org#classification",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"status": [
|
||||
"http://www.w3.org/ns/regorg#orgStatus",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"status_id": [
|
||||
"http://www.w3.org/ns/regorg#orgStatus",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"recognized_worship_type_id": [
|
||||
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
|
||||
"http://mu.semte.ch/vocabularies/core/uuid"
|
||||
],
|
||||
"recognized_worship_type_name": [
|
||||
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
|
||||
"http://www.w3.org/2004/02/skos/core#prefLabel"
|
||||
],
|
||||
"province": [
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"http://www.w3.org/ns/locn#adminUnitL2"
|
||||
],
|
||||
"municipality": [
|
||||
"http://www.w3.org/ns/org#hasPrimarySite",
|
||||
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
|
||||
"https://data.vlaanderen.be/ns/adres#gemeentenaam"
|
||||
],
|
||||
"identifier": [
|
||||
"http://www.w3.org/ns/adms#identifier",
|
||||
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator",
|
||||
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
|
||||
]
|
||||
},
|
||||
"mappings": {
|
||||
"properties": {
|
||||
"classification_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"recognized_worship_type_id": {
|
||||
"type": "text"
|
||||
},
|
||||
"name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"legal_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"alternative_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"classification_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recognized_worship_type_name": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"province": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"municipality": {
|
||||
"type": "keyword",
|
||||
"fields": {
|
||||
"field": {
|
||||
"type": "keyword",
|
||||
"normalizer": "custom_sort_normalizer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"identifier": {
|
||||
"type": "text",
|
||||
"fields": {
|
||||
"index": {
|
||||
"type": "keyword",
|
||||
"normalizer": "identifier_normalizer"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -23,6 +23,8 @@ services:
|
||||
restart: "no"
|
||||
cache:
|
||||
restart: "no"
|
||||
db-cleanup:
|
||||
restart: "no"
|
||||
kalliope-api:
|
||||
environment:
|
||||
SECURITY_CONFIG_PATH: "/config/security-dev.json"
|
||||
@@ -56,8 +58,6 @@ services:
|
||||
restart: "no"
|
||||
search:
|
||||
restart: "no"
|
||||
volumes:
|
||||
- ./config/search/dev:/config
|
||||
elasticsearch:
|
||||
restart: "no"
|
||||
file:
|
||||
|
||||
@@ -8,7 +8,7 @@ x-logging: &default-logging
|
||||
|
||||
services:
|
||||
identifier:
|
||||
image: semtech/mu-identifier:1.10.1
|
||||
image: semtech/mu-identifier:1.10.3
|
||||
environment:
|
||||
DEFAULT_MU_AUTH_ALLOWED_GROUPS_HEADER: '[{"variables":[],"name":"public"}]'
|
||||
SESSION_COOKIE_SECURE: "on"
|
||||
@@ -51,8 +51,17 @@ services:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
db-cleanup:
|
||||
image: lblod/db-cleanup-service:0.5.1
|
||||
environment:
|
||||
MU_SPARQL_ENDPOINT: "http://db:8890/sparql"
|
||||
CRON_PATTERN: "23 */6 * * *"
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
migrations:
|
||||
image: semtech/mu-migrations-service:0.7.0
|
||||
image: semtech/mu-migrations-service:0.9.0
|
||||
links:
|
||||
- triplestore:database
|
||||
volumes:
|
||||
@@ -62,7 +71,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
migrations-triggering-indexing:
|
||||
image: semtech/mu-migrations-service:0.8.0
|
||||
image: semtech/mu-migrations-service:0.9.0
|
||||
links:
|
||||
- db:database
|
||||
volumes:
|
||||
@@ -179,10 +188,11 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
frontend:
|
||||
image: lblod/frontend-organization-portal:1.28.3
|
||||
image: lblod/frontend-organization-portal:1.29.0
|
||||
volumes:
|
||||
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
|
||||
environment:
|
||||
EMBER_ENABLE_EDIT_CONTACT_DATA_FEATURE: "true"
|
||||
EMBER_OAUTH_API_REDIRECT_URL: "https://organisaties.abb.lblod.info/authorization/callback"
|
||||
EMBER_OAUTH_API_KEY: "677af572-2e2f-4e61-ad38-036723bb314c"
|
||||
EMBER_OAUTH_API_BASE_URL: "https://authenticatie-ti.vlaanderen.be/op/v1/auth"
|
||||
@@ -201,7 +211,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
file:
|
||||
image: semtech/mu-file-service:3.2.0
|
||||
image: semtech/mu-file-service:3.4.0
|
||||
volumes:
|
||||
- ./data/files:/share
|
||||
links:
|
||||
@@ -256,24 +266,13 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
construct-organization-relationships:
|
||||
image: lblod/construct-organization-relationships-service:1.0.1
|
||||
environment:
|
||||
START_DATE_WORSHIP_GOVERNING_BODY: "2023-04-01T00:00:00"
|
||||
END_DATE_WORSHIP_GOVERNING_BODY: "2026-03-31T00:00:00"
|
||||
image: lblod/construct-organization-relationships-service:1.0.3
|
||||
links:
|
||||
- db:database
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
reasoner:
|
||||
image: eyereasoner/reasoning-service:1.0.4
|
||||
volumes:
|
||||
- ./config/reasoner:/config
|
||||
labels:
|
||||
- "logging=true"
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
report-generation:
|
||||
image: lblod/loket-report-generation-service:0.7.0
|
||||
environment:
|
||||
@@ -370,7 +369,7 @@ services:
|
||||
# LOKET MANDATARISSEN CONSUMERS
|
||||
################################################################################
|
||||
mandatarissen-consumer:
|
||||
image: lblod/delta-consumer:0.1.0
|
||||
image: lblod/delta-consumer:0.1.1
|
||||
environment:
|
||||
DCR_SERVICE_NAME: "mandatarissen-consumer"
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # replace with link to Loket API
|
||||
@@ -403,7 +402,7 @@ services:
|
||||
# LOKET LEIDINGGEVENDEN CONSUMERS
|
||||
################################################################################
|
||||
leidinggevenden-consumer:
|
||||
image: lblod/delta-consumer:0.1.0
|
||||
image: lblod/delta-consumer:0.1.1
|
||||
environment:
|
||||
DCR_SERVICE_NAME: "leidinggevenden-consumer"
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info" # replace with link to Loket API
|
||||
@@ -436,13 +435,15 @@ services:
|
||||
# LOKET WORSHIP SENSITIVE CONSUMERS
|
||||
################################################################################
|
||||
worship-services-main-info-consumer:
|
||||
image: lblod/delta-consumer:0.1.0
|
||||
image: lblod/delta-consumer:0.1.1
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info/"
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/worship-services-sensitive/login"
|
||||
DCR_SECRET_KEY: "<override with secret key>"
|
||||
DCR_SERVICE_NAME: "worship-services-main-info-consumer"
|
||||
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/WorshipServicesSensitiveCacheGraphDump"
|
||||
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive"
|
||||
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing"
|
||||
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive/main"
|
||||
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing/main"
|
||||
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/worship-services-main-info-consumer"
|
||||
DCR_DISABLE_INITIAL_SYNC: "true"
|
||||
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES: "true"
|
||||
@@ -469,13 +470,15 @@ services:
|
||||
logging: *default-logging
|
||||
|
||||
worship-services-private-info-consumer:
|
||||
image: lblod/delta-consumer:0.1.0
|
||||
image: lblod/delta-consumer:0.1.1
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info/"
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/worship-services-sensitive/login"
|
||||
DCR_SECRET_KEY: "<override with secret key>"
|
||||
DCR_SERVICE_NAME: "worship-services-private-info-consumer"
|
||||
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/WorshipServicesSensitiveCacheGraphDump"
|
||||
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive"
|
||||
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing"
|
||||
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitive/private"
|
||||
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/wsSensitiveDeltaFileSyncing/private"
|
||||
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/worship-services-private-info-consumer"
|
||||
DCR_DISABLE_INITIAL_SYNC: "true"
|
||||
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES: "true"
|
||||
@@ -501,37 +504,6 @@ services:
|
||||
- triplestore:virtuoso
|
||||
logging: *default-logging
|
||||
|
||||
################################################################################
|
||||
# CLB CONSUMERS
|
||||
################################################################################
|
||||
clb-contact-data-consumer:
|
||||
image: lblod/delta-consumer:0.0.18
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://dev.contactgegevens-loket.lblod.info/"
|
||||
DCR_SERVICE_NAME: "clb-contact-data-consumer"
|
||||
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/ContactGegevensCacheGraphDump"
|
||||
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/contactData"
|
||||
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/contactDataDeltaFileSyncing"
|
||||
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/clb-contact-data-consumer"
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES: "true"
|
||||
DCR_SYNC_FILES_PATH: "/sync/contact-data/files"
|
||||
BATCH_SIZE: 1000
|
||||
DCR_KEEP_DELTA_FILES: "true"
|
||||
DCR_ENABLE_DELTA_CONTEXT: "true"
|
||||
DCR_LANDING_ZONE_DATABASE: "triplestore"
|
||||
DCR_LANDING_ZONE_GRAPH: "http://mu.semte.ch/graphs/landing-zone/clb-contact-data"
|
||||
volumes:
|
||||
- ./config/clb-consumer/contact-data:/config/triples-dispatching/custom-dispatching
|
||||
- ./data/files/consumer-files/clb-contact-data:/consumer-files/
|
||||
restart: always
|
||||
labels:
|
||||
- "logging=true"
|
||||
links:
|
||||
- db:database
|
||||
- triplestore:virtuoso
|
||||
logging: *default-logging
|
||||
|
||||
################################################################################
|
||||
# DELTA CONSUMERS: END
|
||||
################################################################################
|
||||
@@ -570,7 +542,7 @@ services:
|
||||
# MU SEARCH
|
||||
################################################################################
|
||||
search:
|
||||
image: semtech/mu-search:0.10.0-beta.5
|
||||
image: semtech/mu-search:0.10.0
|
||||
links:
|
||||
- db:database
|
||||
restart: always
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
#!/bin/bash
|
||||
version=$(docker compose version)
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
DRC_COMMAND="docker compose"
|
||||
else
|
||||
DRC_COMMAND="docker-compose"
|
||||
fi
|
||||
|
||||
echo "warning this will run queries on the triplestore and delete containers, you have 3 seconds to press ctrl+c"
|
||||
sleep 3
|
||||
docker-compose rm -fs elasticsearch search
|
||||
eval "$DRC_COMMAND rm -fs elasticsearch search"
|
||||
sudo rm -rf data/elasticsearch/
|
||||
docker-compose exec -T triplestore isql-v <<EOF
|
||||
eval "$DRC_COMMAND exec -T triplestore isql-v <<EOF
|
||||
SPARQL DELETE WHERE { GRAPH <http://mu.semte.ch/authorization> { ?s ?p ?o. } };
|
||||
exec('checkpoint');
|
||||
exit;
|
||||
EOF
|
||||
docker-compose up -d --remove-orphan
|
||||
EOF"
|
||||
eval "$DRC_COMMAND up -d --remove-orphans"
|
||||
|
||||
Reference in New Issue
Block a user