Compare commits
41 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f47847d5fd | ||
|
|
5f36c2880c | ||
|
|
0727ad4674 | ||
|
|
e598e9334c | ||
|
|
d77dcd7ad6 | ||
|
|
dd7f360268 | ||
|
|
cfa006d8e5 | ||
|
|
0c6f8fe115 | ||
|
|
a7d14d42af | ||
|
|
9a0e8bfa4b | ||
|
|
7b3d0d94d1 | ||
|
|
c5cebc7c08 | ||
|
|
a6802e4c9d | ||
|
|
cec0ccca77 | ||
|
|
c27870a274 | ||
|
|
380dd9afaf | ||
|
|
c74e32336c | ||
|
|
0c4df815e9 | ||
|
|
f2d66ba03b | ||
|
|
b1322d1884 | ||
|
|
7f60f302b0 | ||
|
|
0674a8a998 | ||
|
|
10b8b0dd0c | ||
|
|
3b0131f398 | ||
|
|
49ac622757 | ||
|
|
bacf26e75d | ||
|
|
c82d7591e4 | ||
|
|
b163cda6fa | ||
|
|
01de4843a2 | ||
|
|
6555e00645 | ||
|
|
2efdf333d0 | ||
|
|
78c3882c10 | ||
|
|
7567343001 | ||
|
|
fa46345c57 | ||
|
|
f27d122665 | ||
|
|
4289225cf7 | ||
|
|
ecb1736fcf | ||
|
|
973b791e00 | ||
|
|
7374c861fb | ||
|
|
2eea02673b | ||
|
|
3d7d56d9da |
@@ -1 +0,0 @@
|
||||
COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml
|
||||
67
CHANGELOG.md
67
CHANGELOG.md
@@ -1,4 +1,71 @@
|
||||
# Changelog
|
||||
## 1.38.0 (2026-01-08)
|
||||
### General
|
||||
- [OP-3590]: OP is now master of "aantal houders" of mandates
|
||||
- [OP-3699]: Update aantal houders for some mandates Hasselt and Antwerp
|
||||
- [OP-3680]: Indicate whether a worship service is a customer of ReligioPoint or Loket voor Lokale Besturen
|
||||
- Bump frontend to v1.36.2 [OP-3623] [OP-3681] [OP-3703] [OP-2712]
|
||||
|
||||
### Deploy instructions
|
||||
#### For the vendor-management-consumer
|
||||
Per environment a slightly different configuration is needed. Update the `docker-compose.override.yml` accordingly.
|
||||
##### development
|
||||
```
|
||||
vendor-management-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://dev.loket.lblod.info/"
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://dev.loket.lblod.info/sync/vendor-management/login" # Add DCR_SECRET_KEY in docker-compose.override.yml
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
DCR_SECRET_KEY: "SECRECT KEY TO ASK"
|
||||
```
|
||||
##### qa
|
||||
```
|
||||
vendor-management-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lblod.info/"
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lblod.info/sync/vendor-management/login" # Add DCR_SECRET_KEY in docker-compose.override.yml
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
DCR_SECRET_KEY: "SECRECT KEY TO ASK"
|
||||
```
|
||||
##### production
|
||||
```
|
||||
vendor-management-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://loket.lokaalbestuur.vlaanderen.be/"
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://loket.lokaalbestuur.vlaanderen.be/sync/vendor-management/login" # Add DCR_SECRET_KEY in docker-compose.override.yml
|
||||
DCR_DISABLE_INITIAL_SYNC: "false"
|
||||
DCR_DISABLE_DELTA_INGEST: "false"
|
||||
DCR_SECRET_KEY: "SECRECT KEY TO ASK"
|
||||
```
|
||||
|
||||
#### Deploy instructions
|
||||
```
|
||||
drc restart migrations
|
||||
drc restart delta-producer-publication-graph-maintainer resource
|
||||
drc pull vendor-management-consumer; drc up -d vendor-management-consumer
|
||||
drc restart db resource
|
||||
drc pull frontend && drc up -d frontend
|
||||
```
|
||||
|
||||
## 1.37.3 (2025-11-14)
|
||||
### Backend
|
||||
- Added cleanup job to clean duplicated data of municipalities and provinces [OP-3676]
|
||||
- Delete local involvements for worship services [OP-3693]
|
||||
|
||||
### Deploy notes
|
||||
```
|
||||
drc restart migrations
|
||||
drc exec db-cleanup curl -X GET "http://localhost/runCronJob?cronJobID=8ffd9f11-db25-430d-a66a-31fc8b393d5f"
|
||||
```
|
||||
|
||||
## 1.37.2 (2025-11-13)
|
||||
- Bump frontend to v1.36.0
|
||||
### Deploy notes
|
||||
```
|
||||
drc up -d frontend
|
||||
```
|
||||
## 1.37.1 (2025-11-04)
|
||||
### Bakend
|
||||
- Include v1.35.2 hotfix to the 1.37.x version. Already deployed so no deploy instructions
|
||||
|
||||
61
README.md
61
README.md
@@ -2,14 +2,40 @@
|
||||
|
||||
Backend for the organization portal application, based on the mu.semte.ch microservices stack.
|
||||
|
||||
## How to
|
||||
|
||||
### Boot up the system in DEV environment
|
||||
|
||||
cd /path/to/mu-project
|
||||
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
|
||||
cd /path/to/app-organization-portal
|
||||
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
|
||||
|
||||
You can shut down using `docker-compose stop` and remove everything using `docker-compose rm`.
|
||||
You can shut down using `docker compose stop` and remove everything using `docker compose rm`.
|
||||
|
||||
You need to wait until the migrations are ready.
|
||||
|
||||
After that, you need to trigger the ES index manually.
|
||||
|
||||
You can do it by:
|
||||
```
|
||||
# Assumes you are in root of app-organization-portal
|
||||
/bin/bash scripts/reset-elastic.sh
|
||||
```
|
||||
And follow the steps. It takes a bit, from an install from scratch, about 10 mins. (Mileage may vary)
|
||||
|
||||
|
||||
#### Tricks to make it a bit easier.
|
||||
If you think typing the full command takes too long every time, run this in your shell:
|
||||
|
||||
```
|
||||
# Assumes you are in root of app-organization-portal
|
||||
echo "COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml:docker-compose.override.yml" > .env
|
||||
touch docker-compose.override.yml
|
||||
```
|
||||
Now you can just run `docker compose up` and it will take the config files into account.
|
||||
If you want to go a step further, and still think (like most of us) that `docker compose` is too long to type, you can alias it:
|
||||
```
|
||||
echo "alias drc='docker compose'" >> ~/.bashrc
|
||||
echo "alias drcl='docker compose logs -ft --tail=100'" >> ~/.bashrc
|
||||
```
|
||||
Now everywhere `drc up -d` will work as shorthand for `docker compose up -d`.
|
||||
|
||||
#### Setup consumers
|
||||
|
||||
@@ -151,6 +177,31 @@ drc up -d
|
||||
sh scripts/reset-elastic.sh
|
||||
```
|
||||
|
||||
#### Setup vendors sync
|
||||
Note: this is assuming you have never ran this before.
|
||||
```
|
||||
drc down;
|
||||
```
|
||||
Update `docker-compose.override.yml` to:
|
||||
```
|
||||
vendor-management-consumer:
|
||||
environment:
|
||||
DCR_SYNC_BASE_URL: "https://dev.loket.lblod.info/" # or another endpoint
|
||||
DCR_DISABLE_INITIAL_SYNC: "true"
|
||||
BATCH_SIZE: "500"
|
||||
DCR_SECRET_KEY: "<key>>" # fill in key for selected endpoint
|
||||
DCR_SYNC_LOGIN_ENDPOINT: "https://dev.loket.lblod.info/sync/vendor-management/login" # login for selected endpoint
|
||||
```
|
||||
Then:
|
||||
```
|
||||
drc up -d migrations
|
||||
drc up -d db vendor-management-consumer
|
||||
```
|
||||
Finally, put the stack back up.
|
||||
```
|
||||
drc up -d
|
||||
```
|
||||
|
||||
### Setting up the delta-producers related services
|
||||
To make sure the app can share data, producers need to be set up. There is an intial sync, that is potentially very expensive, and must be started manually
|
||||
|
||||
|
||||
@@ -89,6 +89,11 @@ defmodule Acl.UserGroups.Config do
|
||||
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
|
||||
]
|
||||
|
||||
@vendor_type [
|
||||
"http://mu.semte.ch/vocabularies/ext/Vendor"
|
||||
]
|
||||
|
||||
|
||||
defp access_by_role(group_string) do
|
||||
%AccessByQuery{
|
||||
# vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
|
||||
@@ -130,6 +135,12 @@ defmodule Acl.UserGroups.Config do
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -143,6 +154,12 @@ defmodule Acl.UserGroups.Config do
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @error_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -156,6 +173,12 @@ defmodule Acl.UserGroups.Config do
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @error_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -169,6 +192,12 @@ defmodule Acl.UserGroups.Config do
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @worship_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -182,6 +211,12 @@ defmodule Acl.UserGroups.Config do
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @error_type ++ @worship_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -195,6 +230,12 @@ defmodule Acl.UserGroups.Config do
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @org_type ++ @error_type ++ @worship_type
|
||||
}
|
||||
},
|
||||
%GraphSpec{
|
||||
graph: "http://mu.semte.ch/graphs/vendor-management-data",
|
||||
constraint: %ResourceConstraint{
|
||||
resource_types: @vendor_type
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -540,7 +540,8 @@
|
||||
],
|
||||
"properties": [
|
||||
"http://mu.semte.ch/vocabularies/core/uuid",
|
||||
"http://www.w3.org/ns/org#role"
|
||||
"http://www.w3.org/ns/org#role",
|
||||
"http://data.vlaanderen.be/ns/mandaat#aantalHouders"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?s a <http://www.w3.org/ns/org#Organization>.
|
||||
?s <http://www.w3.org/ns/regorg#orgStatus> ?status.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?s <http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH ?g {
|
||||
?s a <http://www.w3.org/ns/org#Organization>.
|
||||
|
||||
OPTIONAL {
|
||||
?s <http://www.w3.org/ns/regorg#orgStatus> ?status.
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
INSERT DATA {
|
||||
GRAPH <http://mu.semte.ch/graphs/public> {
|
||||
|
||||
|
||||
|
||||
<http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> <http://www.w3.org/2004/02/skos/core#prefLabel> "Organisatie status code" .
|
||||
<http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> .
|
||||
<http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> <http://mu.semte.ch/vocabularies/core/uuid> "b8dcb04f0d1feb86ff01cc0677363b20" .
|
||||
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> <http://mu.semte.ch/vocabularies/core/uuid> "63cc561de9188d64ba5840a42ae8f0d6" .
|
||||
<http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#ConceptScheme> .
|
||||
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> <http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> .
|
||||
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> .
|
||||
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode> .
|
||||
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> <http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> .
|
||||
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> .
|
||||
<http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> <http://www.w3.org/2004/02/skos/core#prefLabel> "In oprichting" .
|
||||
<http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode> .
|
||||
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
<http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> <http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/b8dcb04f0d1feb86ff01cc0677363b20> .
|
||||
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> <http://www.w3.org/2004/02/skos/core#prefLabel> "Niet Actief" .
|
||||
<http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> <http://mu.semte.ch/vocabularies/core/uuid> "abf4fee82019f88cf122f986830621ab" .
|
||||
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> <http://www.w3.org/2004/02/skos/core#prefLabel> "Actief" .
|
||||
<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode> .
|
||||
<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> <http://mu.semte.ch/vocabularies/core/uuid> "d02c4e12bf88d2fdf5123b07f29c9311" .
|
||||
<http://lblod.data.gift/concepts/abf4fee82019f88cf122f986830621ab> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/public
|
||||
@@ -0,0 +1,48 @@
|
||||
@prefix cleanup: <http://mu.semte.ch/vocabularies/ext/cleanup/> .
|
||||
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
|
||||
<http://data.lblod.info/id/cleanup-job/48ffd9f11-db25-430d-a66a-31fc8b393d5f> a cleanup:Job ;
|
||||
mu:uuid "8ffd9f11-db25-430d-a66a-31fc8b393d5f" ;
|
||||
dcterms:title "Cleaning duplicated data of municipalities and provinces" ;
|
||||
cleanup:randomQuery """
|
||||
|
||||
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?s ?p ?o .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
VALUES (?g1 ?g2) {
|
||||
(<http://mu.semte.ch/graphs/shared> <http://mu.semte.ch/graphs/administrative-unit>)
|
||||
}
|
||||
|
||||
{
|
||||
GRAPH ?g1 {
|
||||
?s a besluit:Bestuurseenheid ;
|
||||
?p ?o .
|
||||
FILTER(?p != rdf:type)
|
||||
}
|
||||
GRAPH ?g2 {
|
||||
?s a besluit:Bestuurseenheid ;
|
||||
?p ?o .
|
||||
FILTER(?p != rdf:type)
|
||||
}
|
||||
}
|
||||
UNION
|
||||
{
|
||||
GRAPH ?g1 {
|
||||
?s ?p ?o .
|
||||
?o a besluit:Bestuurseenheid .
|
||||
FILTER(?p != rdf:type)
|
||||
}
|
||||
GRAPH ?g2 {
|
||||
?s ?p ?o .
|
||||
?o a besluit:Bestuurseenheid .
|
||||
FILTER(?p != rdf:type)
|
||||
}
|
||||
}
|
||||
}
|
||||
""" .
|
||||
@@ -0,0 +1,35 @@
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/150c7b74277a2602994ce1aaa9553c8a> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/69e815e62d4698903b7db1df39f372317439cb28a8c4ca62aa6bfd1acaa62266> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/150c7b74277a2602994ce1aaa9553c8a>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?localInvolvementKapellen <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?localInvolvementKapellen <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> 100.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?g)
|
||||
GRAPH ?g {
|
||||
?localInvolvementKapellen <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
VALUES ?localInvolvementKapellen {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/4a08c9a735bb0ef402a7bbed0a39afd0>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/ce6a7228a87e079fbb7b0e7a018af176> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/7d457bc3985fbb70ba748c121043c89d498a3926e8c59ffdf9438c2896791248> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/ce6a7228a87e079fbb7b0e7a018af176>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?localInvolvementKalmthout <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?localInvolvementKalmthout <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> 100.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?g)
|
||||
GRAPH ?g {
|
||||
?localInvolvementKalmthout <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
VALUES ?localInvolvementKalmthout {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/3cec37859c0504f26edf0cbc505a1b1d>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/41c41a1aca62f09bdb57dc93cc83af49> ?p ?o.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE WHERE {
|
||||
graph <http://mu.semte.ch/graphs/worship-service> {
|
||||
<http://data.lblod.info/id/bestuurseenheden/25fc615f81f2032ee7126108474e842b418c890c3755f9e1efc58ac6dc59d1fc> <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> <http://data.lblod.info/id/betrokkenLokaleBesturen/41c41a1aca62f09bdb57dc93cc83af49>.
|
||||
}
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
DELETE {
|
||||
GRAPH ?g {
|
||||
?localInvolvementKapellen <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH ?g {
|
||||
?localInvolvementKapellen <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> 100.
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?g)
|
||||
GRAPH ?g {
|
||||
?localInvolvementKapellen <http://data.lblod.info/vocabularies/erediensten/financieringspercentage> ?percentage.
|
||||
}
|
||||
VALUES ?localInvolvementKapellen {
|
||||
<http://data.lblod.info/id/betrokkenLokaleBesturen/f7450dc34b53dd33b17e0b231470e64c>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
http://mu.semte.ch/graphs/administrative-unit
|
||||
6481
config/migrations/2025/20251118155546-ingest-aantal-houders-lmb.ttl
Normal file
6481
config/migrations/2025/20251118155546-ingest-aantal-houders-lmb.ttl
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?mandaat mandaat:aantalHouders ?oldValue .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?mandaat mandaat:aantalHouders "9"^^xsd:integer .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
VALUES ?mandaat {
|
||||
<http://data.lblod.info/id/mandaten/1d6bf704b39472c5aa987779b7c0162183736d7990ddbd54835c0a6f98e52116>
|
||||
<http://data.lblod.info/id/mandaten/273adda009e28c3512472f2e1e5bda0ee49272fca353eebde0f045e461c174d9>
|
||||
<http://data.lblod.info/id/mandaten/23d2744cdb69fbdbbd4aa63f22752e19dc20b9a71bebbf260fa7812c20db483a>
|
||||
<http://data.lblod.info/id/mandaten/1ba0b2b260793ace3bf8425b22fd22622e2fcc0f805c14db10ac8194b227a988>
|
||||
}
|
||||
OPTIONAL { ?mandaat mandaat:aantalHouders ?oldValue . }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
|
||||
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||
|
||||
DELETE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?mandaat mandaat:aantalHouders ?oldValue .
|
||||
}
|
||||
}
|
||||
INSERT {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
?mandaat mandaat:aantalHouders ?newValue .
|
||||
}
|
||||
}
|
||||
WHERE {
|
||||
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
|
||||
VALUES ?mandaat {
|
||||
<http://data.lblod.info/id/mandaten/1d6bf704b39472c5aa987779b7c0162183736d7990ddbd54835c0a6f98e52116>
|
||||
<http://data.lblod.info/id/mandaten/23d2744cdb69fbdbbd4aa63f22752e19dc20b9a71bebbf260fa7812c20db483a>
|
||||
<http://data.lblod.info/id/mandaten/68021f6bbdb0835e116b252030c420fc15de36732dc50a50bb76e119bd273ec8>
|
||||
}
|
||||
?mandaat mandaat:aantalHouders ?oldValue .
|
||||
BIND(?oldValue + 1 AS ?newValue)
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,8 @@
|
||||
"ext": "http://mu.semte.ch/vocabularies/ext/",
|
||||
"geo": "http://www.opengis.net/ont/geosparql#",
|
||||
"nacebel": "http://data.gift/vocabularies/nace-bel/",
|
||||
"time": "http://www.w3.org/2006/time#"
|
||||
"time": "http://www.w3.org/2006/time#",
|
||||
"muAccount": "http://mu.semte.ch/vocabularies/account/"
|
||||
},
|
||||
"resources": {
|
||||
"agents": {
|
||||
@@ -252,6 +253,12 @@
|
||||
"mandates": {
|
||||
"class": "mandaat:Mandaat",
|
||||
"super": ["posts"],
|
||||
"attributes": {
|
||||
"aantal-houders": {
|
||||
"type": "number",
|
||||
"predicate": "mandaat:aantalHouders"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"role-board": {
|
||||
"predicate": "org:role",
|
||||
@@ -467,7 +474,13 @@
|
||||
"target": "kbo-organizations",
|
||||
"cardinality": "one",
|
||||
"inverse": true
|
||||
}
|
||||
},
|
||||
"vendors": {
|
||||
"predicate": "muAccount:canActOnBehalfOf",
|
||||
"target": "vendors",
|
||||
"cardinality": "many",
|
||||
"inverse": true
|
||||
}
|
||||
},
|
||||
"features": ["include-uri"],
|
||||
"new-resource-base": "http://data.lblod.info/id/organisaties/"
|
||||
@@ -553,6 +566,23 @@
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/id/eredienstBestuurseenheden/"
|
||||
},
|
||||
"vendors": {
|
||||
"class": "ext:Vendor",
|
||||
"attributes": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"predicate": "foaf:name"
|
||||
}
|
||||
},
|
||||
"relationships": {
|
||||
"organizations": {
|
||||
"predicate": "muAccount:canActOnBehalfOf",
|
||||
"target": "organizations",
|
||||
"cardinality": "many"
|
||||
}
|
||||
},
|
||||
"new-resource-base": "http://data.lblod.info/vendors/"
|
||||
},
|
||||
"worship-services": {
|
||||
"class": "ere:BestuurVanDeEredienst",
|
||||
"super": ["worship-administrative-units"],
|
||||
|
||||
@@ -202,7 +202,7 @@ services:
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
frontend:
|
||||
image: lblod/frontend-organization-portal:1.35.0
|
||||
image: lblod/frontend-organization-portal:1.36.2
|
||||
volumes:
|
||||
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
|
||||
environment:
|
||||
@@ -540,6 +540,27 @@ services:
|
||||
- triplestore:virtuoso
|
||||
logging: *default-logging
|
||||
|
||||
vendor-management-consumer:
|
||||
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/vendor-management/login' # Add DCR_SECRET_KEY in docker-compose.override.yml
|
||||
DCR_SERVICE_NAME: "vendor-management-consumer"
|
||||
DCR_SYNC_FILES_PATH: "/sync/vendor-management/files"
|
||||
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/VendorManagementCacheGraphDump"
|
||||
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/initialSync/vendor-management"
|
||||
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/vendor-management-consumer"
|
||||
DCR_DISABLE_INITIAL_SYNC: "true"
|
||||
DCR_KEEP_DELTA_FILES: "true"
|
||||
DCR_DELTA_FILE_FOLDER: "/consumer-files"
|
||||
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/VendorManagementFileSyncing"
|
||||
INGEST_GRAPH: "http://mu.semte.ch/graphs/vendor-management-data"
|
||||
labels:
|
||||
- "logging=true"
|
||||
links:
|
||||
- db:database
|
||||
restart: always
|
||||
logging: *default-logging
|
||||
################################################################################
|
||||
# DELTA CONSUMERS: END
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user