diff --git a/CHANGELOG.md b/CHANGELOG.md index 6166932..cef3da5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ # Changelog ## Unreleased - Added service to link addresses to addressregister uris [OP-3795] +- Added Juridische vorm [OP-3816] [OP-3820] +- Frontend [v1.39.0] ### Deploy notes ``` -drc up -d link-adressenregister-uri +drc up -d link-adressenregister-uri frontend +drc restart resource migrations ``` ## v1.40.0 @@ -16,7 +19,7 @@ drc up -d link-adressenregister-uri ### Deploy notes ``` -drc restart report-generation +drc restart report-generation drc restart migrations scripts/reset-elastic.sh drc up -d login login-dashboard frontend diff --git a/config/migrations/2026/20260615120000-add-legal-forms-codelist.graph b/config/migrations/2026/20260615120000-add-legal-forms-codelist.graph new file mode 100644 index 0000000..d5c0765 --- /dev/null +++ b/config/migrations/2026/20260615120000-add-legal-forms-codelist.graph @@ -0,0 +1 @@ +http://mu.semte.ch/graphs/public \ No newline at end of file diff --git a/config/migrations/2026/20260615120000-add-legal-forms-codelist.ttl b/config/migrations/2026/20260615120000-add-legal-forms-codelist.ttl new file mode 100644 index 0000000..969c961 --- /dev/null +++ b/config/migrations/2026/20260615120000-add-legal-forms-codelist.ttl @@ -0,0 +1,214 @@ +@prefix rdf: . +@prefix skos: . +@prefix mu: . +@prefix code: . +@prefix conceptscheme: . +@prefix concept: . +@prefix sh: . + +# Concept Scheme for Legal Forms +conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af + rdf:type skos:ConceptScheme ; + mu:uuid "c3ff1a7f-c091-484d-8785-c8a5740573af" ; + skos:prefLabel "Juridische vorm" . + +# Legal Form Codes +concept:4a55b679-e4c7-4014-a0b8-3d6762e0225f + rdf:type skos:Concept ; + mu:uuid "4a55b679-e4c7-4014-a0b8-3d6762e0225f" ; + skos:prefLabel "Stad / gemeente" ; + sh:order 1 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:e87b0707-1f9c-4577-8918-023e60974d2f + rdf:type skos:Concept ; + mu:uuid "e87b0707-1f9c-4577-8918-023e60974d2f" ; + skos:prefLabel "Openbaar centrum voor maatschappelijk welzijn" ; + sh:order 2 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:fa7b4356-6e67-4d3a-9256-72922a12227a + rdf:type skos:Concept ; + mu:uuid "fa7b4356-6e67-4d3a-9256-72922a12227a" ; + skos:prefLabel "Provinciale overheid" ; + sh:order 3 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:37e78d58-ab28-4047-8d23-4f2c09707c22 + rdf:type skos:Concept ; + mu:uuid "37e78d58-ab28-4047-8d23-4f2c09707c22" ; + skos:prefLabel "Autonoom gemeentebedrijf" ; + sh:order 4 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:5a015434-4917-4124-a8ad-7f80d5300952 + rdf:type skos:Concept ; + mu:uuid "5a015434-4917-4124-a8ad-7f80d5300952" ; + skos:prefLabel "Autonoom provinciebedrijf" ; + sh:order 5 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:107b192a-44e4-4d4b-aba7-e41aa6cc7f69 + rdf:type skos:Concept ; + mu:uuid "107b192a-44e4-4d4b-aba7-e41aa6cc7f69" ; + skos:prefLabel "Projectvereniging" ; + sh:order 6 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:960f8bb1-ea5d-40d7-bbf4-dbc0794afd26 + rdf:type skos:Concept ; + mu:uuid "960f8bb1-ea5d-40d7-bbf4-dbc0794afd26" ; + skos:prefLabel "Dienstverlenende vereniging (Vlaams Gewest)" ; + sh:order 7 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:574a4cfb-7958-463a-9f4c-d9c4b250847c + rdf:type skos:Concept ; + mu:uuid "574a4cfb-7958-463a-9f4c-d9c4b250847c" ; + skos:prefLabel "Opdrachthoudende vereniging (Vlaams Gewest)" ; + sh:order 8 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:c28b64ce-bb6c-4f8f-b03f-51dc09ae6748 + rdf:type skos:Concept ; + mu:uuid "c28b64ce-bb6c-4f8f-b03f-51dc09ae6748" ; + skos:prefLabel "Lokale politiezone" ; + sh:order 9 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:75b075c8-1076-4ea3-9bc3-366f6cf866f4 + rdf:type skos:Concept ; + mu:uuid "75b075c8-1076-4ea3-9bc3-366f6cf866f4" ; + skos:prefLabel "Hulpverleningszone" ; + sh:order 10 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:dbdd09f3-55b1-48bc-ac51-2c87f951860a + rdf:type skos:Concept ; + mu:uuid "dbdd09f3-55b1-48bc-ac51-2c87f951860a" ; + skos:prefLabel "Vereniging zonder winstoogmerk" ; + sh:order 11 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:925fbdb3-4693-4dcf-b75e-0a98985b1785 + rdf:type skos:Concept ; + mu:uuid "925fbdb3-4693-4dcf-b75e-0a98985b1785" ; + skos:prefLabel "Internationale vereniging zonder winstoogmerk" ; + sh:order 12 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:f25de736-bbc3-4e73-b401-5ee0b277f5f8 + rdf:type skos:Concept ; + mu:uuid "f25de736-bbc3-4e73-b401-5ee0b277f5f8" ; + skos:prefLabel "Private stichting" ; + sh:order 13 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:9f578b10-255a-4403-ab4c-5d4415c30a0a + rdf:type skos:Concept ; + mu:uuid "9f578b10-255a-4403-ab4c-5d4415c30a0a" ; + skos:prefLabel "Stichting van openbaar nut" ; + sh:order 14 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:30fb3516-fc48-453b-b1f6-a571d149ca3a + rdf:type skos:Concept ; + mu:uuid "30fb3516-fc48-453b-b1f6-a571d149ca3a" ; + skos:prefLabel "Maatschap" ; + sh:order 15 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:7e31d057-fde3-47f3-ad89-3efd9e22ab08 + rdf:type skos:Concept ; + mu:uuid "7e31d057-fde3-47f3-ad89-3efd9e22ab08" ; + skos:prefLabel "Vennootschap onder firma" ; + sh:order 16 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:cab6c3f9-aeee-48f0-88eb-c404310870ad + rdf:type skos:Concept ; + mu:uuid "cab6c3f9-aeee-48f0-88eb-c404310870ad" ; + skos:prefLabel "Commanditaire vennootschap" ; + sh:order 17 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:8aa6149a-0916-42ed-a907-f760c0720527 + rdf:type skos:Concept ; + mu:uuid "8aa6149a-0916-42ed-a907-f760c0720527" ; + skos:prefLabel "Besloten Vennootschap" ; + sh:order 18 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:e85bdc30-a69f-48f2-bc08-d32b640b1730 + rdf:type skos:Concept ; + mu:uuid "e85bdc30-a69f-48f2-bc08-d32b640b1730" ; + skos:prefLabel "Naamloze vennootschap" ; + sh:order 19 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:f35352d5-9454-4561-916a-f5f6459bc92b + rdf:type skos:Concept ; + mu:uuid "f35352d5-9454-4561-916a-f5f6459bc92b" ; + skos:prefLabel "Coöperatieve vennootschap" ; + sh:order 20 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:205d4e7b-d6cc-4534-8336-7fae98dc139e + rdf:type skos:Concept ; + mu:uuid "205d4e7b-d6cc-4534-8336-7fae98dc139e" ; + skos:prefLabel "Organisme voor de Financiering van Pensioenen" ; + sh:order 21 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:b4f2c3d5-8a7e-4f1b-9c2d-3e5f6a7b8c9d + rdf:type skos:Concept ; + mu:uuid "b4f2c3d5-8a7e-4f1b-9c2d-3e5f6a7b8c9d" ; + skos:prefLabel "Autonome verzorgingsinstelling" ; + sh:order 22 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:c7d8e9f0-1a2b-4c5d-6e7f-8a9b0c1d2e3f + rdf:type skos:Concept ; + mu:uuid "c7d8e9f0-1a2b-4c5d-6e7f-8a9b0c1d2e3f" ; + skos:prefLabel "Welzijnsvereniging" ; + sh:order 23 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:d1e2f3a4-5b6c-7d8e-9f0a-1b2c3d4e5f6a + rdf:type skos:Concept ; + mu:uuid "d1e2f3a4-5b6c-7d8e-9f0a-1b2c3d4e5f6a" ; + skos:prefLabel "Geen rechtspersoonlijkheid" ; + sh:order 24 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . + +concept:aa2590a0-b6de-4cba-982c-27d70553b17e + rdf:type skos:Concept ; + mu:uuid "aa2590a0-b6de-4cba-982c-27d70553b17e" ; + skos:prefLabel "Andere" ; + sh:order 25 ; + skos:topConceptOf conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af ; + skos:inScheme conceptscheme:c3ff1a7f-c091-484d-8785-c8a5740573af . diff --git a/config/migrations/2026/20260615170000-add-legal-form-change-event-type.sparql b/config/migrations/2026/20260615170000-add-legal-form-change-event-type.sparql new file mode 100644 index 0000000..3f60ca6 --- /dev/null +++ b/config/migrations/2026/20260615170000-add-legal-form-change-event-type.sparql @@ -0,0 +1,11 @@ +INSERT DATA { + GRAPH { + + a ; + "8a4f3c2d-9e1b-4f5a-b7c3-6d8e9f0a1b2c" ; + "Wijziging juridische vorm" ; + ; + ; + . + } +} diff --git a/config/resources/change-events.json b/config/resources/change-events.json index 1ed1021..134fc96 100644 --- a/config/resources/change-events.json +++ b/config/resources/change-events.json @@ -67,6 +67,11 @@ "target": "organization-status-codes", "cardinality": "one" }, + "resulting-legal-form": { + "predicate": "code:resulterendeRechtsvorm", + "target": "concepts", + "cardinality": "one" + }, "result-from": { "predicate": "code:veranderingsgebeurtenisResultaat", "target": "change-events", diff --git a/config/resources/domain.json b/config/resources/domain.json index 7e488d9..1d33ba4 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -31,7 +31,8 @@ "geo": "http://www.opengis.net/ont/geosparql#", "nacebel": "http://data.gift/vocabularies/nace-bel/", "time": "http://www.w3.org/2006/time#", - "muAccount": "http://mu.semte.ch/vocabularies/account/" + "muAccount": "http://mu.semte.ch/vocabularies/account/", + "sh": "http://www.w3.org/ns/shacl#" }, "resources": { "agents": { @@ -404,6 +405,11 @@ "target": "organization-classification-codes", "cardinality": "one" }, + "legal-form": { + "predicate": "organisatie:rechtsvorm", + "target": "concepts", + "cardinality": "one" + }, "identifiers": { "predicate": "adms:identifier", "target": "identifiers", @@ -938,10 +944,32 @@ "alt-label": { "type": "string", "predicate": "skos:altLabel" + }, + "order": { + "type": "number", + "predicate": "sh:order" + } + }, + "relationships": { + "in-scheme": { + "predicate": "skos:inScheme", + "target": "concept-schemes", + "cardinality": "one" } }, "new-resource-base": "http://lblod.data.gift/concepts/" }, + "concept-schemes": { + "class": "skos:ConceptScheme", + "attributes": { + "label": { + "type": "string", + "predicate": "skos:prefLabel" + } + }, + "features": ["include-uri"], + "new-resource-base": "http://data.vlaanderen.be/id/conceptscheme/" + }, "organization-status-codes": { "class": "code:OrganisatieStatusCode", "attributes": { diff --git a/docker-compose.yml b/docker-compose.yml index 5331c1e..5467857 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -215,7 +215,7 @@ services: restart: always logging: *default-logging frontend: - image: lblod/frontend-organization-portal:1.37.0 + image: lblod/frontend-organization-portal:1.39.0 volumes: - ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf environment: