Merge pull request #605 from lblod/feature/new-organization-types

Feature/new organization types
This commit is contained in:
Sam Van Campenhout
2026-07-08 09:44:18 +02:00
committed by GitHub
9 changed files with 155 additions and 4 deletions

View File

@@ -3,9 +3,10 @@
- Added service to link addresses to addressregister uris [OP-3795]
- Derive an organization's reference region(s) from its werkingsgebied; bump scope-of-operation to 0.2.0 [OP-3799]
- Site type changes [OP-3818]
- Frontend [v1.38.0]
- Frontend [v1.40.0](https://github.com/lblod/frontend-organization-portal/blob/5d2147662f620d420f54b9624a12c42ca2ac964a/CHANGELOG.md#v1400-2026-07-06), [v1.39.0](https://github.com/lblod/frontend-organization-portal/blob/5d2147662f620d420f54b9624a12c42ca2ac964a/CHANGELOG.md#v1390-2026-06-25) ,[v1.38.0](https://github.com/lblod/frontend-organization-portal/blob/5d2147662f620d420f54b9624a12c42ca2ac964a/CHANGELOG.md#v1380-2026-06-12)
- Added Juridische vorm [OP-3816] [OP-3820]
- Frontend [v1.39.0]
- Add new organization types (interlokale vereniging, vervoerregioraad, zorgraad, bosgroep, woonmaatschappij); add werkingsgebied (dct:spatial) to registered organizations [OP-3828]
- Rename generic organization types to "Vereniging algemeen" / "Vennootschap algemeen" [OP-3828]
### Deploy notes
```
@@ -19,6 +20,13 @@ drc up -d frontend scope-of-operation
drc restart cache resource
```
```
drc pull construct-organization-relationships && drc up -d construct-organization-relationships
drc restart migrations
drc restart resource cache
scripts/reset-elastic.sh
```
## v1.40.0
- Query to check missing address URI's [OP-3784]
- Create new query 'organisations shown in OP frontend' in Dashboard [OP-3774]

View File

@@ -0,0 +1,51 @@
# New organization classification codes (ticket: new org types).
# prefLabel = technically-correct org name; altLabel = colloquial werkingsgebied term.
# URIs under data.vlaanderen.be/id/concept/<Family>/<uuid> (to be published upstream) - matches existing codes.
# Each code is inScheme its family scheme AND the public-export scheme (10caf4a4) = the export switch.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
@prefix scheme: <http://data.vlaanderen.be/id/conceptscheme/> .
# --- BestuurseenheidClassificatieCode (besluit:Bestuurseenheid) ---
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/3a2649ef-7345-4d3a-8709-f89fc9b44f58>
rdf:type ext:OrganizationClassificationCode , code:BestuurseenheidClassificatieCode ;
mu:uuid "3a2649ef-7345-4d3a-8709-f89fc9b44f58" ;
skos:prefLabel "Interlokale vereniging" ;
skos:topConceptOf scheme:BestuurseenheidClassificatieCode ;
skos:inScheme scheme:BestuurseenheidClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/b2133b86-24f0-44f0-9d10-5b4c7f944a9d>
rdf:type ext:OrganizationClassificationCode , code:BestuurseenheidClassificatieCode ;
mu:uuid "b2133b86-24f0-44f0-9d10-5b4c7f944a9d" ;
skos:prefLabel "Vervoerregioraad" ;
skos:altLabel "Vervoerregio" ; # Modelled as the werkingsgebied of a Vervoerregioraad, but colloquially known as a Vervoerregio.
skos:topConceptOf scheme:BestuurseenheidClassificatieCode ;
skos:inScheme scheme:BestuurseenheidClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
# --- GeregistreerdeOrganisatieClassificatieCode (regorg:RegisteredOrganization) ---
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/8392b885-a875-4b0d-b6a2-b52e53bda454>
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
mu:uuid "8392b885-a875-4b0d-b6a2-b52e53bda454" ;
skos:prefLabel "Zorgraad" ;
skos:altLabel "Eerstelijnszone" ; # Modelled as the werkingsgebied of a Zorgraad, but colloquially known as an Eerstelijnszone.
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b22948f9-e695-4f24-a530-b6bf3af3b37f>
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
mu:uuid "b22948f9-e695-4f24-a530-b6bf3af3b37f" ;
skos:prefLabel "Bosgroep" ;
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/f4e5bb57-1007-4397-828b-b34bbf1e760d>
rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ;
mu:uuid "f4e5bb57-1007-4397-828b-b34bbf1e760d" ;
skos:prefLabel "Woonmaatschappij" ;
skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ;
skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .

View File

@@ -0,0 +1,35 @@
# Governing body (bestuursorgaan) + mandate (bestuursfunctie) codes for the Vervoerregioraad.
# The vervoerregioraad is itself the deliberative organ (no AV/RvB substructure); members + a
# (dual) voorzitter. URIs under data.vlaanderen.be (to be published), matching existing codes.
# NOTE (business to confirm): exact role set + the dual voorzitterschap (gemeente-vertegenwoordiger
# + Departement MOW) — modeled here as a single Voorzitter + Lid.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix mu: <http://mu.semte.ch/vocabularies/core/> .
@prefix ext: <http://mu.semte.ch/vocabularies/ext/> .
@prefix code: <http://lblod.data.gift/vocabularies/organisatie/> .
@prefix scheme: <http://data.vlaanderen.be/id/conceptscheme/> .
# --- Bestuursorgaan: the Vervoerregioraad itself ---
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a04a5fb1-b79c-4b8d-a664-c5410d466d49>
rdf:type code:BestuursorgaanClassificatieCode , skos:Concept , ext:BestuursorgaanClassificatieCode ;
mu:uuid "a04a5fb1-b79c-4b8d-a664-c5410d466d49" ;
skos:prefLabel "Vervoerregioraad" ;
skos:inScheme <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
# --- Bestuursfunctie codes (mandate roles) applying to the Vervoerregioraad ---
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/540f3be6-73ed-4935-9de7-30997bab379c>
rdf:type code:BestuursfunctieCode ;
mu:uuid "540f3be6-73ed-4935-9de7-30997bab379c" ;
skos:prefLabel "Voorzitter van de vervoerregioraad" ;
ext:appliesTo <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a04a5fb1-b79c-4b8d-a664-c5410d466d49> ;
skos:topConceptOf scheme:BestuursfunctieCode ;
skos:inScheme scheme:BestuursfunctieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .
<http://data.vlaanderen.be/id/concept/BestuursfunctieCode/1093c55c-84d5-424b-980e-8b2ca32dc445>
rdf:type code:BestuursfunctieCode ;
mu:uuid "1093c55c-84d5-424b-980e-8b2ca32dc445" ;
skos:prefLabel "Lid van de vervoerregioraad" ;
ext:appliesTo <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a04a5fb1-b79c-4b8d-a664-c5410d466d49> ;
skos:topConceptOf scheme:BestuursfunctieCode ;
skos:inScheme scheme:BestuursfunctieCode , <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> .

View File

@@ -0,0 +1,31 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> <http://www.w3.org/2004/02/skos/core#prefLabel> "Vereniging algemeen".
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
}
};
DELETE {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61> <http://www.w3.org/2004/02/skos/core#prefLabel> "Vennootschap algemeen".
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/b9ed22af-3661-4c3e-b07f-b641d80ebf61> <http://www.w3.org/2004/02/skos/core#prefLabel> ?oldLabel.
}
}

View File

@@ -527,6 +527,13 @@
"registered-organizations": {
"class": "regorg:RegisteredOrganization",
"super": ["organizations"],
"relationships": {
"scope": {
"predicate": "dc_terms:spatial",
"target": "locations",
"cardinality": "one"
}
},
"new-resource-base": "http://data.lblod.info/id/geregistreerdeOrganisaties/"
},
"organization-classification-codes": {
@@ -535,6 +542,10 @@
"label": {
"type": "string",
"predicate": "skos:prefLabel"
},
"alt-label": {
"type": "string",
"predicate": "skos:altLabel"
}
},
"new-resource-base": "http://data.vlaanderen.be/id/concept/OrganizationClassificationCode/"

View File

@@ -663,6 +663,10 @@
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#prefLabel"
],
"classification_alternative_name": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#altLabel"
],
"status": [
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -745,6 +749,15 @@
}
}
},
"classification_alternative_name": {
"type": "text",
"fields": {
"field": {
"type": "keyword",
"normalizer": "custom_sort_normalizer"
}
}
},
"status": {
"type": "text",
"fields": {

View File

@@ -215,7 +215,7 @@ services:
restart: always
logging: *default-logging
frontend:
image: lblod/frontend-organization-portal:1.39.1
image: lblod/frontend-organization-portal:1.40.0
volumes:
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
environment:
@@ -308,7 +308,7 @@ services:
restart: always
logging: *default-logging
construct-organization-relationships:
image: lblod/construct-organization-relationships-service:1.1.1
image: lblod/construct-organization-relationships-service:1.1.2
links:
- db:database
labels: