diff --git a/CHANGELOG.md b/CHANGELOG.md index 416c867..55c2727 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ - Add a new "Wijkkantoor" site type [OP-3837] - cleanup local involvement herne [OP-3858] - Search organizations by vendor [OP-3808] +- Add organization types "Regionaal zorgplatform" (altLabel "Regionale zorgzone") and residual "Andere" [OP-3844] +- Move organizations from "Vereniging algemeen" / "Vennootschap algemeen" to "Andere"; delete those codes [OP-3844] +- Bump construct-organization-relationships [OP-3844] +- Frontend [v1.40.5](https://github.com/lblod/frontend-organization-portal/blob/v1.40.5/CHANGELOG.md) [OP-3844] [OP-3808] [OP-3849] +- Consume and serve provenance properties on harvested Worship positions [DL-7437] +- Frontend [v1.41.0](https://github.com/lblod/frontend-organization-portal/blob/v1.41.0/CHANGELOG.md) [DL-7438] - Keep werkingsgebied filter up to date via db-cleanup service [OP-3841] ### Deploy notes @@ -46,6 +52,15 @@ drc up -d frontend drc restart migrations drc restart db-cleanup ``` + +``` +# requires frontend >= 1.40.5 and construct-organization-relationships >= 1.1.4 (both bumped in compose here) +drc pull construct-organization-relationships && drc up -d construct-organization-relationships +drc restart migrations-triggering-indexing +drc up -d frontend +drc restart cache resource +``` + ## v1.41.0 - added explicit healtchecks [DL-7466] diff --git a/config/delta-consumers/worship-services-main-info/mapping/queries/dl2op/pass/person.sparql b/config/delta-consumers/worship-services-main-info/mapping/queries/dl2op/pass/person.sparql index 1276ece..9eb6da3 100644 --- a/config/delta-consumers/worship-services-main-info/mapping/queries/dl2op/pass/person.sparql +++ b/config/delta-consumers/worship-services-main-info/mapping/queries/dl2op/pass/person.sparql @@ -7,7 +7,12 @@ CONSTRUCT { FILTER (?p IN ( , , - + , + , + , + , + , + )) FILTER NOT EXISTS { diff --git a/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162242-add-zorgplatform-and-andere-classification-codes.sparql b/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162242-add-zorgplatform-and-andere-classification-codes.sparql new file mode 100644 index 0000000..3894671 --- /dev/null +++ b/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162242-add-zorgplatform-and-andere-classification-codes.sparql @@ -0,0 +1,25 @@ +PREFIX rdf: +PREFIX skos: +PREFIX mu: +PREFIX ext: +PREFIX scheme: + +INSERT DATA { + GRAPH { + + rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ; + mu:uuid "e3afe092-6ca6-4685-94c6-1ee20811efc4" ; + skos:prefLabel "Regionaal zorgplatform" ; + skos:altLabel "Regionale zorgzone" ; + skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ; + skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , . + + + rdf:type ext:OrganizationClassificationCode , ext:GeregistreerdeOrganisatieClassificatieCode ; + mu:uuid "7a199d27-31c3-44bb-a58f-b3a64673a8b6" ; + skos:prefLabel "Andere" ; + skos:definition "Restcategorie: geregistreerde organisatie die niet onder een van de andere classificaties valt." ; + skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode ; + skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode , . + } +} diff --git a/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162300-move-orgs-to-andere.sparql b/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162300-move-orgs-to-andere.sparql new file mode 100644 index 0000000..ba5fc26 --- /dev/null +++ b/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162300-move-orgs-to-andere.sparql @@ -0,0 +1,24 @@ +PREFIX org: +PREFIX skos: +PREFIX ext: + +# All graphs authorized for regorg:RegisteredOrganization (see config/authorization/config.lisp), +# so no dangling org:classification survives the code deletion in the next migration. +DELETE { + GRAPH ?g { ?org org:classification ?legacy . } +} +INSERT { + GRAPH ?g { ?org org:classification . } +} +WHERE { + VALUES ?g { + + + + } + VALUES ?legacy { + + + } + GRAPH ?g { ?org org:classification ?legacy . } +} diff --git a/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162400-delete-legacy-other-classification-codes.sparql b/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162400-delete-legacy-other-classification-codes.sparql new file mode 100644 index 0000000..56b577c --- /dev/null +++ b/config/migrations-triggering-indexing/2026/20260714162242-restructure-other-org-types/20260714162400-delete-legacy-other-classification-codes.sparql @@ -0,0 +1,13 @@ +PREFIX skos: +PREFIX ext: + +DELETE { + GRAPH { ?code ?p ?o . } +} +WHERE { + VALUES ?code { + + + } + GRAPH { ?code ?p ?o . } +} diff --git a/config/resources/domain.json b/config/resources/domain.json index 50fdd45..545b4de 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -32,7 +32,10 @@ "nacebel": "http://data.gift/vocabularies/nace-bel/", "time": "http://www.w3.org/2006/time#", "muAccount": "http://mu.semte.ch/vocabularies/account/", - "sh": "http://www.w3.org/ns/shacl#" + "sh": "http://www.w3.org/ns/shacl#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "owl": "http://www.w3.org/2002/07/owl#", + "task": "http://redpencil.data.gift/vocabularies/tasks/" }, "resources": { "agents": { @@ -66,9 +69,30 @@ "first-name-used": { "type": "string", "predicate": "persoon:gebruikteVoornaam" + }, + "harvest-source": { + "type": "string", + "predicate": "prov:wasGeneratedBy" + }, + "harvest-original-uri": { + "type": "uri", + "predicate": "owl:sameAs" + }, + "harvest-date": { + "type": "datetime", + "predicate": "task:modifiedOn" + }, + "harvest-job": { + "type": "uri", + "predicate": "task:modifiedBy" } }, "relationships": { + "vendor": { + "predicate": "prov:wasAssociatedWith", + "target": "vendors", + "cardinality": "one" + }, "mandatories": { "predicate": "mandaat:isBestuurlijkeAliasVan", "target": "mandatories", @@ -101,9 +125,34 @@ "agent-end-date": { "type": "datetime", "predicate": "ch:eindedatum" + }, + "harvest-source": { + "type": "string", + "predicate": "prov:wasGeneratedBy" + }, + "harvest-original-uri": { + "type": "uri", + "predicate": "owl:sameAs" + }, + "harvest-date": { + "type": "datetime", + "predicate": "task:modifiedOn" + }, + "harvest-job": { + "type": "uri", + "predicate": "task:modifiedBy" + }, + "harvestLink": { + "type": "uri", + "predicate": "rdfs:seeAlso" } }, "relationships": { + "vendor": { + "predicate": "prov:wasAssociatedWith", + "target": "vendors", + "cardinality": "one" + }, "person": { "predicate": "org:heldBy", "target": "people", @@ -197,9 +246,30 @@ "reason-stopped": { "type": "string", "predicate": "ere:redenVanStopzetting" + }, + "harvest-source": { + "type": "string", + "predicate": "prov:wasGeneratedBy" + }, + "harvest-original-uri": { + "type": "uri", + "predicate": "owl:sameAs" + }, + "harvest-date": { + "type": "datetime", + "predicate": "task:modifiedOn" + }, + "harvest-job": { + "type": "uri", + "predicate": "task:modifiedBy" } }, "relationships": { + "vendor": { + "predicate": "prov:wasAssociatedWith", + "target": "vendors", + "cardinality": "one" + }, "type-half": { "predicate": "ere:typeHelft", "target": "half-elections", @@ -240,9 +310,30 @@ "type": { "type": "string", "predicate": "schema:contactType" + }, + "harvest-source": { + "type": "string", + "predicate": "prov:wasGeneratedBy" + }, + "harvest-original-uri": { + "type": "uri", + "predicate": "owl:sameAs" + }, + "harvest-date": { + "type": "datetime", + "predicate": "task:modifiedOn" + }, + "harvest-job": { + "type": "uri", + "predicate": "task:modifiedBy" } }, "relationships": { + "vendor": { + "predicate": "prov:wasAssociatedWith", + "target": "vendors", + "cardinality": "one" + }, "contact-address": { "predicate": "locn:address", "target": "addresses", @@ -603,6 +694,7 @@ "cardinality": "many" } }, + "features": ["include-uri"], "new-resource-base": "http://data.lblod.info/vendors/" }, "worship-services": { @@ -846,9 +938,30 @@ "address-register-uri": { "type": "url", "predicate": "adres:verwijstNaar" + }, + "harvest-source": { + "type": "string", + "predicate": "prov:wasGeneratedBy" + }, + "harvest-original-uri": { + "type": "uri", + "predicate": "owl:sameAs" + }, + "harvest-date": { + "type": "datetime", + "predicate": "task:modifiedOn" + }, + "harvest-job": { + "type": "uri", + "predicate": "task:modifiedBy" } }, "relationships": { + "vendor": { + "predicate": "prov:wasAssociatedWith", + "target": "vendors", + "cardinality": "one" + }, "source": { "predicate": "dc_terms:source", "target": "concepts", diff --git a/docker-compose.yml b/docker-compose.yml index 434b3b1..d10cf56 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.40.4 + image: lblod/frontend-organization-portal:1.41.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.3 + image: lblod/construct-organization-relationships-service:1.1.4 links: - db:database labels: