diff --git a/.gitignore b/.gitignore index 8eaa314..cc42a73 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ out.json security.yml config/proxy-https/proxy_ssl.conf /config/search/update-handler.store +/config/search/dev/update-handler.store diff --git a/README.md b/README.md index d4741e2..a59e0e3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Contact Hub +# Organization portal -Backend for the Contact Hub application based on the mu.semte.ch microservices stack. +Backend for the organization portal application, based on the mu.semte.ch microservices stack. ## How to diff --git a/config/authorization/config.ex b/config/authorization/config.ex index d1784cb..fb10aaa 100644 --- a/config/authorization/config.ex +++ b/config/authorization/config.ex @@ -10,6 +10,7 @@ defmodule Acl.UserGroups.Config do @protected_resource_type [ "http://www.w3.org/ns/org#Organization", "http://data.vlaanderen.be/ns/besluit#Besluit", + "https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit", "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid", "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst", "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan", @@ -68,7 +69,7 @@ defmodule Acl.UserGroups.Config do defp sparql_query_for_access_role( group_string ) do "PREFIX ext: PREFIX mu: - SELECT ?session_group ?session_role WHERE { + SELECT distinct ?session_group ?session_role WHERE { ext:sessionGroup/mu:uuid ?session_group; ext:sessionRole ?session_role. FILTER( ?session_role = \"#{group_string}\" ) @@ -116,30 +117,6 @@ defmodule Acl.UserGroups.Config do } ] }, - %GroupSpec{ - name: "ch-lezer", - useage: [:read], - access: access_by_role( "ABBOrganisatiePortaalGebruiker-lezer" ), - graphs: [ %GraphSpec{ - graph: "http://mu.semte.ch/graphs/organisatieportaal", - constraint: %ResourceConstraint{ - resource_types: @protected_resource_type } } ] }, - %GroupSpec{ - name: "ch-editeerder", - useage: [:read, :write, :read_for_write], - access: access_by_role( "ABBOrganisatiePortaalGebruiker-editeerder" ), - graphs: [ %GraphSpec{ - graph: "http://mu.semte.ch/graphs/organisatieportaal", - constraint: %ResourceConstraint{ - resource_types: @protected_resource_type } } ] }, - %GroupSpec{ - name: "ch-beheerder", - useage: [:read, :write, :read_for_write], - access: access_by_role( "ABBOrganisatiePortaalGebruiker-beheerder" ), - graphs: [ %GraphSpec{ - graph: "http://mu.semte.ch/graphs/organisatieportaal", - constraint: %ResourceConstraint{ - resource_types: @protected_resource_type } } ] }, %GroupSpec{ name: "public", useage: [:read], diff --git a/config/delta-producer/dump-file-publisher/config.json b/config/delta-producer/dump-file-publisher/config.json index 66391ca..5f0fd27 100644 --- a/config/delta-producer/dump-file-publisher/config.json +++ b/config/delta-producer/dump-file-publisher/config.json @@ -2,21 +2,37 @@ "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/administrative-units" : { "dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump", "targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units", - "fileBaseName": "dump-administrative-units" + "fileBaseName": "dump-administrative-units", + "compression": true }, "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/administrative-units" : { "dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump", "targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units", - "fileBaseName": "dump-administrative-units" + "fileBaseName": "dump-administrative-units", + "compression": true }, "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations" : { "dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump", "targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations", - "fileBaseName": "dump-organizations" + "fileBaseName": "dump-organizations", + "compression": true }, "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations" : { "dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump", "targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations", - "fileBaseName": "dump-organizations" + "fileBaseName": "dump-organizations", + "compression": true + }, + "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public" : { + "dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/PublicCacheGraphDump", + "targetGraph": "http://redpencil.data.gift/id/deltas/producer/public", + "fileBaseName": "dump-public", + "compression": false + }, + "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public" : { + "dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/PublicCacheGraphDump", + "targetGraph": "http://redpencil.data.gift/id/deltas/producer/public", + "fileBaseName": "dump-public", + "compression": false } } diff --git a/config/delta-producer/public/export.json b/config/delta-producer/public/export.json new file mode 100644 index 0000000..49d2931 --- /dev/null +++ b/config/delta-producer/public/export.json @@ -0,0 +1,270 @@ +{ + "conceptScheme": "http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b", + "export": [ + { + "type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst", + "strictTypeExport": "true", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel", + "http://www.w3.org/2004/02/skos/core#altLabel", + "http://www.w3.org/ns/adms#identifier", + "http://www.w3.org/ns/regorg#orgStatus", + "http://www.w3.org/ns/org#hasPrimarySite", + "http://www.w3.org/ns/org#hasSite", + "http://www.w3.org/ns/org#changedBy", + "http://www.w3.org/ns/org#resultedFrom", + "http://www.w3.org/ns/org#hasPost", + "http://www.w3.org/ns/org#linkedTo", + "http://www.w3.org/ns/org#hasSubOrganization", + "http://www.w3.org/ns/org#classification", + "http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur", + "http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau", + "http://data.lblod.info/vocabularies/erediensten/denominatie", + "http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend", + "http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor", + "http://data.lblod.info/vocabularies/erediensten/typeEredienst" + ] + }, + { + "type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst", + "strictTypeExport": "true", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel", + "http://www.w3.org/2004/02/skos/core#altLabel", + "http://www.w3.org/ns/adms#identifier", + "http://www.w3.org/ns/regorg#orgStatus", + "http://www.w3.org/ns/org#hasPrimarySite", + "http://www.w3.org/ns/org#hasSite", + "http://www.w3.org/ns/org#changedBy", + "http://www.w3.org/ns/org#resultedFrom", + "http://www.w3.org/ns/org#hasPost", + "http://www.w3.org/ns/org#linkedTo", + "http://www.w3.org/ns/org#hasSubOrganization", + "http://www.w3.org/ns/org#classification", + "http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur", + "http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau", + "http://data.lblod.info/vocabularies/erediensten/typeEredienst" + ] + }, + { + "type": "http://www.w3.org/ns/org#Site", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "^http://www.w3.org/ns/org#hasPrimarySite", + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + + ], + "properties": [ + "http://www.w3.org/ns/org#siteAddress", + "https://data.vlaanderen.be/ns/organisatie#bestaatUit", + "http://data.lblod.info/vocabularies/erediensten/vestigingstype" + ] + }, + { + "type": "http://www.w3.org/ns/locn#Address", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "^https://data.vlaanderen.be/ns/organisatie#bestaatUit", + "^http://www.w3.org/ns/org#hasPrimarySite", + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + + ], + "properties": [ + "https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer", + "https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer", + "http://www.w3.org/ns/locn#thoroughfare", + "http://www.w3.org/ns/locn#postCode", + "https://data.vlaanderen.be/ns/adres#gemeentenaam", + "http://www.w3.org/ns/locn#adminUnitL2", + "https://data.vlaanderen.be/ns/adres#land", + "http://www.w3.org/ns/locn#fullAddress", + "https://data.vlaanderen.be/ns/adres#verwijstNaar", + "http://purl.org/dc/terms/source" + ] + }, + { + "type": "http://schema.org/ContactPoint", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "^http://www.w3.org/ns/org#siteAddress", + "^http://www.w3.org/ns/org#hasPrimarySite", + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://mu.semte.ch/vocabularies/core/uuid", + "http://www.w3.org/ns/locn#address", + "http://xmlns.com/foaf/0.1/page", + "http://schema.org/faxNumber", + "http://schema.org/contactType", + "http://xmlns.com/foaf/0.1/page", + "http://schema.org/email", + "http://schema.org/telephone" + + ] + }, + { + "type": "http://www.w3.org/ns/adms#Identifier", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "^http://www.w3.org/ns/adms#identifier", + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#notation", + "https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator" + ] + }, + { + "type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "^https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator", + "^http://www.w3.org/ns/adms#identifier", + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "https://data.vlaanderen.be/ns/generiek#lokaleIdentificator" + ] + }, + { + "type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + }, + { + "type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan", + "strictTypeExport": "true", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/ns/org#classification", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://data.vlaanderen.be/ns/mandaat#bindingEinde", + "http://data.vlaanderen.be/ns/mandaat#bindingStart", + "http://data.vlaanderen.be/ns/besluit#bestuurt", + "http://www.w3.org/ns/org#classification", + "https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan" + ] + }, + { + "type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + }, + { + "type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + }, + { + "type": "http://www.w3.org/ns/org#ChangeEvent", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://data.lblod.info/vocabularies/contacthub/typeWijziging", + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://purl.org/dc/terms/date", + "http://purl.org/dc/terms/description", + "http://data.lblod.info/vocabularies/contacthub/typeWijziging", + "http://www.w3.org/ns/org#resultedFrom", + "http://www.w3.org/ns/org#changedBy", + "http://lblod.data.gift/vocabularies/organisatie/veranderingsgebeurtenisResultaat", + "http://www.w3.org/ns/org#originalOrganization", + "http://www.w3.org/ns/org#resultingOrganization", + "http://data.europa.eu/m8g/hasFormalFramework" + ] + }, + { + "type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + }, + { + "type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + }, + { + "type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging", + "graphsFilter": [ + "http://mu.semte.ch/graphs/organisatieportaal" + ], + "pathToConceptScheme": [ + "http://www.w3.org/2004/02/skos/core#inScheme" + ], + "properties": [ + "http://www.w3.org/2004/02/skos/core#prefLabel" + ] + } + ] +} diff --git a/config/delta/rules.js b/config/delta/rules.js index c1d5575..15a2309 100644 --- a/config/delta/rules.js +++ b/config/delta/rules.js @@ -16,6 +16,23 @@ export default [ ignoreFromSelf: true } }, + { + match: { + graph: { + type: "uri", + value: "http://mu.semte.ch/graphs/organisatieportaal" + } + }, + callback: { + url: 'http://resource/.mu/delta', + method: 'POST' + }, + options: { + resourceFormat: "v0.0.1", + gracePeriod: 250, + ignoreFromSelf: true + } + }, { match: { predicate: { @@ -104,6 +121,41 @@ export default [ optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ] } }, + { + match: { + }, + callback: { + url: 'http://delta-producer-pub-graph-maintainer-public/delta', + method: 'POST' + }, + options: { + resourceFormat: 'v0.0.1', + gracePeriod: 1000, + ignoreFromSelf: true, + optOutMuScopeIds: [ + "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync", + "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance" + ] + } + }, + { + match: { + graph: { + type: 'uri', + value: 'http://redpencil.data.gift/id/deltas/producer/public' + } + }, + callback: { + url: 'http://delta-producer-json-diff-publisher-public/delta', + method: 'POST' + }, + options: { + resourceFormat: 'v0.0.1', + gracePeriod: 1000, + ignoreFromSelf: true, + optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ] + } + }, { match: { predicate: { diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index b155a18..0adabb7 100644 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -195,6 +195,9 @@ defmodule Dispatcher 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 ############### # LOGIN @@ -251,6 +254,14 @@ defmodule Dispatcher do forward conn, path, "http://privacy/person-information-requests" end + match "/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do + forward conn, path, "http://privacy/person-information-ask/" + end + + match "/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do + forward conn, path, "http://privacy/person-information-validate-ssn/" + end + get "/uri-info/*path", %{ layer: :api_services, accept: %{ json: true } } do forward conn, path, "http://uri-info/" end diff --git a/config/jobs-controller/config.json b/config/jobs-controller/config.json index 317c490..928128b 100644 --- a/config/jobs-controller/config.json +++ b/config/jobs-controller/config.json @@ -62,5 +62,37 @@ "nextIndex": "0" } ] + }, + "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public": { + "tasksConfiguration": [ + { + "currentOperation": null, + "nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing", + "nextIndex": "0" + }, + { + "currentOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing", + "nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation", + "nextIndex": "1" + } + ] + }, + "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public": { + "tasksConfiguration": [ + { + "currentOperation": null, + "nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/healing/patchPublicationGraph", + "nextIndex": "0" + } + ] + }, + "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public": { + "tasksConfiguration": [ + { + "currentOperation": null, + "nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation", + "nextIndex": "0" + } + ] } } diff --git a/config/migrations/20210701120000-meta.ttl b/config/migrations/2021/20210701120000-meta.ttl similarity index 100% rename from config/migrations/20210701120000-meta.ttl rename to config/migrations/2021/20210701120000-meta.ttl diff --git a/config/migrations/20210729182256-bestuurseenheid-classificatie-code-uuid.ttl b/config/migrations/2021/20210729182256-bestuurseenheid-classificatie-code-uuid.ttl similarity index 100% rename from config/migrations/20210729182256-bestuurseenheid-classificatie-code-uuid.ttl rename to config/migrations/2021/20210729182256-bestuurseenheid-classificatie-code-uuid.ttl diff --git a/config/migrations/20210729182256-bestuurseenheid-classificatie-code.ttl b/config/migrations/2021/20210729182256-bestuurseenheid-classificatie-code.ttl similarity index 100% rename from config/migrations/20210729182256-bestuurseenheid-classificatie-code.ttl rename to config/migrations/2021/20210729182256-bestuurseenheid-classificatie-code.ttl diff --git a/config/migrations/20210729182256-geslacht-code.ttl b/config/migrations/2021/20210729182256-geslacht-code.ttl similarity index 100% rename from config/migrations/20210729182256-geslacht-code.ttl rename to config/migrations/2021/20210729182256-geslacht-code.ttl diff --git a/config/migrations/20210729182256-mandataris-status-code-uuid.ttl b/config/migrations/2021/20210729182256-mandataris-status-code-uuid.ttl similarity index 100% rename from config/migrations/20210729182256-mandataris-status-code-uuid.ttl rename to config/migrations/2021/20210729182256-mandataris-status-code-uuid.ttl diff --git a/config/migrations/20210729182256-mandataris-status-code.ttl b/config/migrations/2021/20210729182256-mandataris-status-code.ttl similarity index 100% rename from config/migrations/20210729182256-mandataris-status-code.ttl rename to config/migrations/2021/20210729182256-mandataris-status-code.ttl diff --git a/config/migrations/20210729182257-reason-code.ttl b/config/migrations/2021/20210729182257-reason-code.ttl similarity index 100% rename from config/migrations/20210729182257-reason-code.ttl rename to config/migrations/2021/20210729182257-reason-code.ttl diff --git a/config/migrations/20210830174500-delete-label-from-bestuurseenheid.sparql b/config/migrations/2021/20210830174500-delete-label-from-bestuurseenheid.sparql similarity index 100% rename from config/migrations/20210830174500-delete-label-from-bestuurseenheid.sparql rename to config/migrations/2021/20210830174500-delete-label-from-bestuurseenheid.sparql diff --git a/config/migrations/20210831193441-codelist-nationality.ttl b/config/migrations/2021/20210831193441-codelist-nationality.ttl similarity index 100% rename from config/migrations/20210831193441-codelist-nationality.ttl rename to config/migrations/2021/20210831193441-codelist-nationality.ttl diff --git a/config/migrations/20210902170100-rename-location-fusion.sparql b/config/migrations/2021/20210902170100-rename-location-fusion.sparql similarity index 100% rename from config/migrations/20210902170100-rename-location-fusion.sparql rename to config/migrations/2021/20210902170100-rename-location-fusion.sparql diff --git a/config/migrations/20210906150000-fix-classification-property.sparql b/config/migrations/2021/20210906150000-fix-classification-property.sparql similarity index 100% rename from config/migrations/20210906150000-fix-classification-property.sparql rename to config/migrations/2021/20210906150000-fix-classification-property.sparql diff --git a/config/migrations/20210909152600-fix-percentage-sort-part-1.sparql b/config/migrations/2021/20210909152600-fix-percentage-sort-part-1.sparql similarity index 100% rename from config/migrations/20210909152600-fix-percentage-sort-part-1.sparql rename to config/migrations/2021/20210909152600-fix-percentage-sort-part-1.sparql diff --git a/config/migrations/20210909152630-fix-percentage-sort-part-2.sparql b/config/migrations/2021/20210909152630-fix-percentage-sort-part-2.sparql similarity index 100% rename from config/migrations/20210909152630-fix-percentage-sort-part-2.sparql rename to config/migrations/2021/20210909152630-fix-percentage-sort-part-2.sparql diff --git a/config/migrations/20211119151700-move-reason-codes.sparql b/config/migrations/2021/20211119151700-move-reason-codes.sparql similarity index 100% rename from config/migrations/20211119151700-move-reason-codes.sparql rename to config/migrations/2021/20211119151700-move-reason-codes.sparql diff --git a/config/migrations/20211120120000-create-mock-group.sparql b/config/migrations/2021/20211120120000-create-mock-group.sparql similarity index 100% rename from config/migrations/20211120120000-create-mock-group.sparql rename to config/migrations/2021/20211120120000-create-mock-group.sparql diff --git a/config/migrations/20211120130000-create-mock-user.sparql b/config/migrations/2021/20211120130000-create-mock-user.sparql similarity index 100% rename from config/migrations/20211120130000-create-mock-user.sparql rename to config/migrations/2021/20211120130000-create-mock-user.sparql diff --git a/config/migrations/20211120140000-auth.sparql b/config/migrations/2021/20211120140000-auth.sparql similarity index 100% rename from config/migrations/20211120140000-auth.sparql rename to config/migrations/2021/20211120140000-auth.sparql diff --git a/config/migrations/20211120150000-remove-acmidm-account-from-public.sparql b/config/migrations/2021/20211120150000-remove-acmidm-account-from-public.sparql similarity index 100% rename from config/migrations/20211120150000-remove-acmidm-account-from-public.sparql rename to config/migrations/2021/20211120150000-remove-acmidm-account-from-public.sparql diff --git a/config/migrations/20211120160000-source-crab.sparql b/config/migrations/2021/20211120160000-source-crab.sparql similarity index 100% rename from config/migrations/20211120160000-source-crab.sparql rename to config/migrations/2021/20211120160000-source-crab.sparql diff --git a/config/migrations/20211123120000-private-data.sparql b/config/migrations/2021/20211123120000-private-data.sparql similarity index 100% rename from config/migrations/20211123120000-private-data.sparql rename to config/migrations/2021/20211123120000-private-data.sparql diff --git a/config/migrations/20211203120000-bestuur-admidm.sparql b/config/migrations/2021/20211203120000-bestuur-admidm.sparql similarity index 100% rename from config/migrations/20211203120000-bestuur-admidm.sparql rename to config/migrations/2021/20211203120000-bestuur-admidm.sparql diff --git a/config/migrations/20211203130000-clear-mock-data.sparql b/config/migrations/2021/20211203130000-clear-mock-data.sparql similarity index 100% rename from config/migrations/20211203130000-clear-mock-data.sparql rename to config/migrations/2021/20211203130000-clear-mock-data.sparql diff --git a/config/migrations/20211206120000-mock-user-roles.sparql b/config/migrations/2021/20211206120000-mock-user-roles.sparql similarity index 100% rename from config/migrations/20211206120000-mock-user-roles.sparql rename to config/migrations/2021/20211206120000-mock-user-roles.sparql diff --git a/config/migrations/20211206130000-move-graph.sparql b/config/migrations/2021/20211206130000-move-graph.sparql similarity index 100% rename from config/migrations/20211206130000-move-graph.sparql rename to config/migrations/2021/20211206130000-move-graph.sparql diff --git a/config/migrations/20220110120000-delete-old-change-events.sparql b/config/migrations/2022/20220110120000-delete-old-change-events.sparql similarity index 100% rename from config/migrations/20220110120000-delete-old-change-events.sparql rename to config/migrations/2022/20220110120000-delete-old-change-events.sparql diff --git a/config/migrations/20220120100418-remove-old-reasons.sparql b/config/migrations/2022/20220120100418-remove-old-reasons.sparql similarity index 100% rename from config/migrations/20220120100418-remove-old-reasons.sparql rename to config/migrations/2022/20220120100418-remove-old-reasons.sparql diff --git a/config/migrations/20220120101318-insert-new-reasons.sparql b/config/migrations/2022/20220120101318-insert-new-reasons.sparql similarity index 100% rename from config/migrations/20220120101318-insert-new-reasons.sparql rename to config/migrations/2022/20220120101318-insert-new-reasons.sparql diff --git a/config/migrations/2022/20220317100000-remove-bestuurseenheden-op-1075.sparql b/config/migrations/2022/20220317100000-remove-bestuurseenheden-op-1075.sparql new file mode 100644 index 0000000..ca963b3 --- /dev/null +++ b/config/migrations/2022/20220317100000-remove-bestuurseenheden-op-1075.sparql @@ -0,0 +1,36 @@ +DELETE { + GRAPH ?g { + ?representatieveOrgaan ?bestuur . + ?bestuur ?pbestuur ?obestuur . + ?primarySite ?pprimarySite ?oprimarySite . + ?address ?paddress ?oaddress . + ?contactPoint ?pcontactPoint ?ocontactPoint . + ?identifier ?pidentifier ?oidentifier . + ?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier . + } +} WHERE { + GRAPH ?g { + VALUES ?bestuur { + + + } + + ?bestuur ?primarySite ; + ?identifier ; + ?pbestuur ?obestuur . + + ?primarySite ?address ; + ?contactPoint ; + ?pprimarySite ?oprimarySite . + + ?address ?paddress ?oaddress . + + ?contactPoint ?pcontactPoint ?ocontactPoint . + + ?identifier ?structuredIdentifier ; + ?pidentifier ?oidentifier . + + ?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier . + } +} + diff --git a/config/migrations/2022/20220328171923-update-date-change-event-Eeklo.sparql b/config/migrations/2022/20220328171923-update-date-change-event-Eeklo.sparql new file mode 100644 index 0000000..9739adf --- /dev/null +++ b/config/migrations/2022/20220328171923-update-date-change-event-Eeklo.sparql @@ -0,0 +1,15 @@ +PREFIX dct: + +DELETE { + GRAPH ?g { + dct:date "2018-06-09"^^xsd:date . + } +} INSERT { + GRAPH ?g { + dct:date "2018-06-15"^^xsd:date . + } +} WHERE { + GRAPH ?g { + dct:date "2018-06-09"^^xsd:date . + } +} diff --git a/config/migrations/2022/20220328172743-update-date-change-event-Glabbeek.sparql b/config/migrations/2022/20220328172743-update-date-change-event-Glabbeek.sparql new file mode 100644 index 0000000..314a72c --- /dev/null +++ b/config/migrations/2022/20220328172743-update-date-change-event-Glabbeek.sparql @@ -0,0 +1,15 @@ +PREFIX dct: + +DELETE { + GRAPH ?g { + dct:date "2021-02-04"^^xsd:date . + } +} INSERT { + GRAPH ?g { + dct:date "2022-02-04"^^xsd:date . + } +} WHERE { + GRAPH ?g { + dct:date "2021-02-04"^^xsd:date . + } +} diff --git a/config/migrations/2022/20220329114750-remove-kbo-of-Centraal-Comite-van-de-Anglicaanse-Eredienst-in-Belgie.sparql b/config/migrations/2022/20220329114750-remove-kbo-of-Centraal-Comite-van-de-Anglicaanse-Eredienst-in-Belgie.sparql new file mode 100644 index 0000000..a888347 --- /dev/null +++ b/config/migrations/2022/20220329114750-remove-kbo-of-Centraal-Comite-van-de-Anglicaanse-Eredienst-in-Belgie.sparql @@ -0,0 +1,19 @@ +DELETE { + GRAPH ?g { + + ?identifier . + ?identifier + ?structuredIdentifier ; + ?pidentifier ?oidentifier . + ?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier . + } +} WHERE { + GRAPH ?g { + + ?identifier . + ?identifier + ?structuredIdentifier ; + ?pidentifier ?oidentifier . + ?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier . + } +} diff --git a/config/migrations/2022/20220329150729-delete-positions-Protestantse-Kerk-van-Kortrijk.sparql b/config/migrations/2022/20220329150729-delete-positions-Protestantse-Kerk-van-Kortrijk.sparql new file mode 100644 index 0000000..3cd75ec --- /dev/null +++ b/config/migrations/2022/20220329150729-delete-positions-Protestantse-Kerk-van-Kortrijk.sparql @@ -0,0 +1,38 @@ +DELETE { + GRAPH ?g { + + ?post . + + ?post ?ppost ?opost . + + ?role ?post ; + ?contactPoint ; + ?prole ?orole . + + ?contactPoint ?address ; + ?pcontactPoint ?ocontactPoint . + + ?address ?paddress ?oaddress . + } +} WHERE { + GRAPH ?g { + + ?post . + + ?post ?ppost ?opost . + + ?role ?post ; + ?prole ?orole . + + OPTIONAL { + ?role ?contactPoint . + + ?contactPoint ?pcontactPoint ?ocontactPoint . + + OPTIONAL { + ?contactPoint ?address . + ?address ?paddress ?oaddress . + } + } + } +} diff --git a/config/migrations/2022/20220329154322-delete-positions-ckb-staden.sparql b/config/migrations/2022/20220329154322-delete-positions-ckb-staden.sparql new file mode 100644 index 0000000..32cb92e --- /dev/null +++ b/config/migrations/2022/20220329154322-delete-positions-ckb-staden.sparql @@ -0,0 +1,38 @@ +DELETE { + GRAPH ?g { + + ?post . + + ?post ?ppost ?opost . + + ?role ?post ; + ?contactPoint ; + ?prole ?orole . + + ?contactPoint ?address ; + ?pcontactPoint ?ocontactPoint . + + ?address ?paddress ?oaddress . + } +} WHERE { + GRAPH ?g { + + ?post . + + ?post ?ppost ?opost . + + ?role ?post ; + ?prole ?orole . + + OPTIONAL { + ?role ?contactPoint . + + ?contactPoint ?pcontactPoint ?ocontactPoint . + + OPTIONAL { + ?contactPoint ?address . + ?address ?paddress ?oaddress . + } + } + } +} diff --git a/config/migrations/2022/20220401162146-fix-wrongly-formatted-kbo.sparql b/config/migrations/2022/20220401162146-fix-wrongly-formatted-kbo.sparql new file mode 100644 index 0000000..41a491a --- /dev/null +++ b/config/migrations/2022/20220401162146-fix-wrongly-formatted-kbo.sparql @@ -0,0 +1,51 @@ +PREFIX generiek: + +DELETE { + GRAPH ?g { + generiek:lokaleIdentificator ?kbo1 . + generiek:lokaleIdentificator ?kbo2 . + generiek:lokaleIdentificator ?kbo3 . + generiek:lokaleIdentificator ?kbo4 . + generiek:lokaleIdentificator ?kbo5 . + generiek:lokaleIdentificator ?kbo6 . + generiek:lokaleIdentificator ?kbo7 . + generiek:lokaleIdentificator ?kbo8 . + generiek:lokaleIdentificator ?kbo9 . + generiek:lokaleIdentificator ?kbo10 . + generiek:lokaleIdentificator ?kbo11 . + generiek:lokaleIdentificator ?kbo12 . + generiek:lokaleIdentificator ?kbo13 . + } +} INSERT { + GRAPH ?g { + generiek:lokaleIdentificator "0777683642" . + generiek:lokaleIdentificator "0780386972" . + generiek:lokaleIdentificator "0408140861" . + generiek:lokaleIdentificator "0408472839" . + generiek:lokaleIdentificator "0409677223" . + generiek:lokaleIdentificator "0409771253" . + generiek:lokaleIdentificator "0410195380" . + generiek:lokaleIdentificator "0412914944" . + generiek:lokaleIdentificator "0413234648" . + generiek:lokaleIdentificator "0464533790" . + generiek:lokaleIdentificator "0687815914" . + generiek:lokaleIdentificator "0864330673" . + generiek:lokaleIdentificator "0898987189" . + } +} WHERE { + GRAPH ?g { + generiek:lokaleIdentificator ?kbo1 . + generiek:lokaleIdentificator ?kbo2 . + generiek:lokaleIdentificator ?kbo3 . + generiek:lokaleIdentificator ?kbo4 . + generiek:lokaleIdentificator ?kbo5 . + generiek:lokaleIdentificator ?kbo6 . + generiek:lokaleIdentificator ?kbo7 . + generiek:lokaleIdentificator ?kbo8 . + generiek:lokaleIdentificator ?kbo9 . + generiek:lokaleIdentificator ?kbo10 . + generiek:lokaleIdentificator ?kbo11 . + generiek:lokaleIdentificator ?kbo12 . + generiek:lokaleIdentificator ?kbo13 . + } +} diff --git a/config/migrations/2022/20220405084015-delete-triples-pointing-towards-werkingsgebieden.sparql b/config/migrations/2022/20220405084015-delete-triples-pointing-towards-werkingsgebieden.sparql new file mode 100644 index 0000000..7e20f97 --- /dev/null +++ b/config/migrations/2022/20220405084015-delete-triples-pointing-towards-werkingsgebieden.sparql @@ -0,0 +1,9 @@ +DELETE { + GRAPH ?g { + ?s ?o . + } +} WHERE { + GRAPH ?g { + ?s ?o . + } +} diff --git a/config/migrations/2022/20220406100547-add-link-gemeente-provincie.sparql b/config/migrations/2022/20220406100547-add-link-gemeente-provincie.sparql new file mode 100644 index 0000000..0c58b23 --- /dev/null +++ b/config/migrations/2022/20220406100547-add-link-gemeente-provincie.sparql @@ -0,0 +1,319 @@ +INSERT DATA { + GRAPH { + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + . + } +} diff --git a/config/migrations/2022/20220406134511-change-status-ckb-melle.sparql b/config/migrations/2022/20220406134511-change-status-ckb-melle.sparql new file mode 100644 index 0000000..ea1a9e0 --- /dev/null +++ b/config/migrations/2022/20220406134511-change-status-ckb-melle.sparql @@ -0,0 +1,19 @@ +PREFIX regorg: + +DELETE { + GRAPH ?g { + + regorg:orgStatus . # Actief + } +} INSERT { + GRAPH ?g { + + regorg:orgStatus . # Niet Actief + + } +} WHERE { + GRAPH ?g { + + regorg:orgStatus . + } +} diff --git a/config/migrations/2022/20220407110000-add-export-concept-scheme.sparql b/config/migrations/2022/20220407110000-add-export-concept-scheme.sparql new file mode 100644 index 0000000..3f76325 --- /dev/null +++ b/config/migrations/2022/20220407110000-add-export-concept-scheme.sparql @@ -0,0 +1,43 @@ +PREFIX mu: +PREFIX skos: + +INSERT { + GRAPH { + + a + skos:ConceptScheme ; + mu:uuid + "10caf4a4-1ff5-4c05-917e-56489910d68b" ; + skos:prefLabel + "Public OP Export" . + ?code + skos:inScheme + . + } +} WHERE { + VALUES ?type { + + + + + + } + GRAPH { + ?code + a + ?type . + } +} + +INSERT { + GRAPH { + + skos:inScheme + . + + + skos:inScheme + . + } +} + diff --git a/config/migrations/2022/20220412134535-update-gender-codelist.sparql b/config/migrations/2022/20220412134535-update-gender-codelist.sparql new file mode 100644 index 0000000..13f4c53 --- /dev/null +++ b/config/migrations/2022/20220412134535-update-gender-codelist.sparql @@ -0,0 +1,42 @@ +DELETE { + GRAPH ?g { + ?s ?p ?o . + } +} WHERE { + GRAPH ?g { + ?s ?p ?o . + VALUES ?s { + + + } + } +} + +; + +INSERT DATA { + GRAPH { + a , + ; + "c11b47dd-cacd-4664-9a72-14730e00eaed"; + "Ander"; + ; + . + } +} + +; + +DELETE { + GRAPH ?g { + skos:prefLabel ?label . + } +} INSERT { + GRAPH ?g { + skos:prefLabel "Niet gekend" . + } +} WHERE { + GRAPH ?g { + skos:prefLabel ?label . + } +} \ No newline at end of file diff --git a/config/migrations/2022/20220414092643-remove-bedinaren.sparql b/config/migrations/2022/20220414092643-remove-bedinaren.sparql new file mode 100644 index 0000000..8b55a4e --- /dev/null +++ b/config/migrations/2022/20220414092643-remove-bedinaren.sparql @@ -0,0 +1,35 @@ +DELETE { + GRAPH ?g { + + ?position . + + ?position ?pposition ?oposition . + + ?role ?prole ?orole . + + ?contactPoint ?pcontactPoint ?ocontactPoint . + + ?address ?paddress ?oaddress . + } +} WHERE { + GRAPH ?g { + + ?position . + + ?position ?pposition ?oposition . + + ?role ?position ; + ?prole ?orole . + + OPTIONAL { + ?role ?contactPoint . + + ?contactPoint ?pcontactPoint ?ocontactPoint . + + OPTIONAL { + ?contactPoint ?address . + ?address ?paddress ?oaddress . + } + } + } +} diff --git a/config/migrations/2022/20220414132656-fix-wrong-resulting-org-after-merge.sparql b/config/migrations/2022/20220414132656-fix-wrong-resulting-org-after-merge.sparql new file mode 100644 index 0000000..86dd408 --- /dev/null +++ b/config/migrations/2022/20220414132656-fix-wrong-resulting-org-after-merge.sparql @@ -0,0 +1,42 @@ +# Update status of the bestuurseenheden as well as the resulting status of the change event + +PREFIX regorg: +PREFIX lblodOrg: + +DELETE { + GRAPH ?g { + + regorg:orgStatus . # Actief + + lblodOrg:resulterendeStatus . # Actief + + + regorg:orgStatus . # Niet Actief + + lblodOrg:resulterendeStatus . # Niet Actief + } +} INSERT { + GRAPH ?g { + + regorg:orgStatus . # Niet Actief + + lblodOrg:resulterendeStatus . # Niet Actief + + + regorg:orgStatus . # Actief + + lblodOrg:resulterendeStatus . # Actief + } +} WHERE { + GRAPH ?g { + + regorg:orgStatus . # Actief + + lblodOrg:resulterendeStatus . # Actief + + + regorg:orgStatus . # Niet Actief + + lblodOrg:resulterendeStatus . # Niet Actief + } +} diff --git a/config/migrations/2022/20220414152431-upate-resulting-org-change-event.sparql b/config/migrations/2022/20220414152431-upate-resulting-org-change-event.sparql new file mode 100644 index 0000000..0e8a9ff --- /dev/null +++ b/config/migrations/2022/20220414152431-upate-resulting-org-change-event.sparql @@ -0,0 +1,18 @@ +PREFIX org: + +DELETE { + GRAPH ?g { + + org:resultingOrganization . + } +} INSERT { + GRAPH ?g { + + org:resultingOrganization . + } +} WHERE { + GRAPH ?g { + + org:resultingOrganization . + } +} diff --git a/config/migrations/2022/20220414161826-add-missing-original-org-to-change-event.sparql b/config/migrations/2022/20220414161826-add-missing-original-org-to-change-event.sparql new file mode 100644 index 0000000..28c254f --- /dev/null +++ b/config/migrations/2022/20220414161826-add-missing-original-org-to-change-event.sparql @@ -0,0 +1,8 @@ +PREFIX org: + +INSERT DATA { + GRAPH { + + org:originalOrganization . + } +} diff --git a/config/migrations/2022/20220415090554-fix-change-event.sparql b/config/migrations/2022/20220415090554-fix-change-event.sparql new file mode 100644 index 0000000..b150023 --- /dev/null +++ b/config/migrations/2022/20220415090554-fix-change-event.sparql @@ -0,0 +1,36 @@ +# Update status of the bestuurseenheden as well as the resulting status of the change event + +PREFIX regorg: +PREFIX lblodOrg: + +DELETE { + GRAPH ?g { + + lblodOrg:resulterendeStatus . # Actief + + + regorg:orgStatus . # Niet Actief + + lblodOrg:resulterendeStatus . # Niet Actief + } +} INSERT { + GRAPH ?g { + + lblodOrg:resulterendeStatus . # Niet Actief + + + regorg:orgStatus . # Actief + + lblodOrg:resulterendeStatus . # Actief + } +} WHERE { + GRAPH ?g { + + lblodOrg:resulterendeStatus . # Actief + + + regorg:orgStatus . # Niet Actief + + lblodOrg:resulterendeStatus . # Niet Actief + } +} diff --git a/config/migrations/2022/20220429135441-remove-person-and-related-positions.sparql b/config/migrations/2022/20220429135441-remove-person-and-related-positions.sparql new file mode 100644 index 0000000..a063a30 --- /dev/null +++ b/config/migrations/2022/20220429135441-remove-person-and-related-positions.sparql @@ -0,0 +1,17 @@ +# A person has been wrongly added (it's a duplicate) and someone attached to him a wrong position + +DELETE { + GRAPH ?g { + ?pperson ?operson . + ?pmandataris ?omandataris . + ?pcontact ?ocontact . + ?paddress ?oaddress . + } +} WHERE { + GRAPH ?g { + ?pperson ?operson . + ?pmandataris ?omandataris . + ?pcontact ?ocontact . + ?paddress ?oaddress . + } +} diff --git a/config/migrations/2022/20220503141921-fix-broken-link-person-position.sparql b/config/migrations/2022/20220503141921-fix-broken-link-person-position.sparql new file mode 100644 index 0000000..4adec4d --- /dev/null +++ b/config/migrations/2022/20220503141921-fix-broken-link-person-position.sparql @@ -0,0 +1,21 @@ +INSERT DATA { + GRAPH { + . + } +} + +# The associated call to trigger a reindex is : +# curl --location --request POST '/update' \ +# --header 'Content-Type: application/vnd.api+json' \ +# --data-raw ' [ +# { +# "deletes": [], +# "inserts": [ +# { +# "subject": { "type": "uri", "value": "http://data.lblod.info/id/mandatarissen/626BCD9AFEE49A5CF118F54B" }, +# "predicate": { "type": "uri", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" }, +# "object": { "type": "uri", "value": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris" } +# } +# ] +# } +# ]' diff --git a/config/migrations/2022/20220504081921-fix-missing-governing-body.sparql b/config/migrations/2022/20220504081921-fix-missing-governing-body.sparql new file mode 100644 index 0000000..f12b2c7 --- /dev/null +++ b/config/migrations/2022/20220504081921-fix-missing-governing-body.sparql @@ -0,0 +1,17 @@ +PREFIX mu: +PREFIX org: +PREFIX besluit: +PREFIX generiek: + +INSERT DATA { + GRAPH { + + a ; + mu:uuid "3703cf09-f9c0-451b-b8b1-e373e1367a85"; + besluit:bestuurt ; + org:classification . + a ; + mu:uuid "bdf61666-05fe-4a70-8e13-7a98e8e72707"; + generiek:isTijdspecialisatieVan . + } +} diff --git a/config/migrations/2022/20220509081921-fix-gb-classification-code.sparql b/config/migrations/2022/20220509081921-fix-gb-classification-code.sparql new file mode 100644 index 0000000..f3d7cf4 --- /dev/null +++ b/config/migrations/2022/20220509081921-fix-gb-classification-code.sparql @@ -0,0 +1,22 @@ +PREFIX mu: +PREFIX org: +PREFIX besluit: +PREFIX generiek: + + +DELETE { + graph ?g { + org:classification . + } +} +INSERT { + graph ?g { + org:classification . + } + +}WHERE { + graph ?g { + org:classification . + } + +} diff --git a/config/resources/change-events.json b/config/resources/change-events.json index 2ac99e5..1ed1021 100644 --- a/config/resources/change-events.json +++ b/config/resources/change-events.json @@ -98,7 +98,32 @@ "predicate": "foaf:page" } }, + "relationships": { + "has-decision-activity": { + "predicate": "http://www.w3.org/ns/prov#generated", + "target": "decision-activities", + "cardinality": "one", + "inverse": true + } + }, "new-resource-base": "http://lblod.data.info/id/besluiten/" + }, + "decision-activities": { + "class": "https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit", + "attributes": { + "end-date": { + "type": "date", + "predicate": "https://data.vlaanderen.be/ns/dossier#Activiteit.einddatum" + } + }, + "relationships": { + "gives-cause-to": { + "predicate": "http://www.w3.org/ns/prov#generated", + "target": "decisions", + "cardinality": "many" + } + }, + "new-resource-base": "http://lblod.data.info/id/beslissingsactiviteit/" } } } diff --git a/config/resources/dcat.json b/config/resources/dcat.json index eba75ea..4945a66 100644 --- a/config/resources/dcat.json +++ b/config/resources/dcat.json @@ -133,6 +133,10 @@ "byte-size": { "type": "number", "predicate": "dcat:byteSize" + }, + "compression": { + "type": "url", + "predicate": "dcat:compressFormat" } }, "relationships": { diff --git a/config/resources/domain.json b/config/resources/domain.json index f1bd579..6f5142c 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -392,6 +392,11 @@ "predicate": "ere:typeEredienst", "target": "recognized-worship-types", "cardinality": "one" + }, + "minister-positions": { + "predicate": "ere:wordtBediendDoor", + "target": "minister-positions", + "cardinality": "many" } }, "new-resource-base": "http://data.lblod.info/id/eredienstBestuurseenheden/" @@ -416,11 +421,6 @@ "target": "local-involvements", "cardinality": "many", "inverse": true - }, - "minister-positions": { - "predicate": "ere:wordtBediendDoor", - "target": "minister-positions", - "cardinality": "many" } }, "new-resource-base": "http://data.lblod.info/id/besturenVanDeEredienst/" @@ -756,7 +756,7 @@ }, "worship-service": { "predicate": "ere:wordtBediendDoor", - "target": "worship-services", + "target": "worship-administrative-units", "cardinality": "one", "inverse": true }, diff --git a/config/search/config.json b/config/search/config.json index 52e8ee3..7f787f7 100644 --- a/config/search/config.json +++ b/config/search/config.json @@ -3,21 +3,166 @@ "persist_indexes": true, "number_of_threads": 6, "eager_indexing_groups": [ - [{ "variables": [], "name": "acmidm-lezer" }], - [{ "variables": [], "name": "acmidm-editeerder" }], - [{ "variables": [], "name": "acmidm-beheerder" }] + [ + { + "variables": [], + "name": "acmidm-lezer" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-editeerder" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-beheerder" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-beheerder" + }, + { + "variables": [], + "name": "acmidm-editeerder" + }, + { + "variables": [], + "name": "acmidm-lezer" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-editeerder" + }, + { + "variables": [], + "name": "acmidm-lezer" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-editeerder" + }, + { + "variables": [], + "name": "acmidm-beheerder" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-lezer" + }, + { + "variables": [], + "name": "acmidm-beheerder" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ] ], + "default_settings" : { + "analysis": { + "normalizer": { + "custom_sort_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase", + "trim", + "asciifolding" + ] + } + } + } + }, "types": [ { "type": "mandatory", "on_path": "mandatories", "rdf_type": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris", "properties": { - "given_name": ["http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan","http://xmlns.com/foaf/0.1/givenName"], - "id": ["http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan","http://mu.semte.ch/vocabularies/core/uuid"], - "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"], + "given_name": [ + "http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan", + "http://xmlns.com/foaf/0.1/givenName" + ], + "id": [ + "http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan", + "http://mu.semte.ch/vocabularies/core/uuid" + ], + "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", @@ -62,14 +207,14 @@ "http://www.w3.org/2004/02/skos/core#prefLabel" ] }, - "mappings": { "properties": { "family_name": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -85,16 +230,20 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "organization_id": { "type": "text" }, + "organization_id": { + "type": "text" + }, "organization_province": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -102,7 +251,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -110,20 +260,26 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "position_id": { "type": "text" }, + "position_id": { + "type": "text" + }, "position_name": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "end_date": { "type": "date" } + "end_date": { + "type": "date" + } } } }, @@ -131,13 +287,30 @@ "type": "minister", "on_path": "ministers", "rdf_type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar", - "sub_types": ["http://data.lblod.info/vocabularies/contacthub/AgentInPositie"], + "sub_types": [ + "http://data.lblod.info/vocabularies/contacthub/AgentInPositie" + ], "properties": { - "given_name": ["http://www.w3.org/ns/org#heldBy","http://xmlns.com/foaf/0.1/givenName"], - "id": ["http://www.w3.org/ns/org#heldBy","http://mu.semte.ch/vocabularies/core/uuid"], - "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"], + "given_name": [ + "http://www.w3.org/ns/org#heldBy", + "http://xmlns.com/foaf/0.1/givenName" + ], + "id": [ + "http://www.w3.org/ns/org#heldBy", + "http://mu.semte.ch/vocabularies/core/uuid" + ], + "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", @@ -174,14 +347,14 @@ "http://www.w3.org/2004/02/skos/core#prefLabel" ] }, - "mappings": { "properties": { "family_name": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -197,16 +370,20 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "organization_id": { "type": "text" }, + "organization_id": { + "type": "text" + }, "organization_province": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -214,7 +391,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -222,105 +400,114 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "position_id": { "type": "text" }, + "position_id": { + "type": "text" + }, "position_name": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "end_date": { "type": "date" } + "end_date": { + "type": "date" + } } } }, { - "type" : "person", - "composite_types" : ["minister", "mandatory"], - "on_path" : "people", - "properties" : [ - { - "name" : "given_name", - "mappings" : { - "minister" : "given_name", - "mandatory" : "given_name" - } - }, - { - "name" : "id", - "mappings" : { - "minister" : "id", - "mandatory" : "id" - } - }, - { - "name" : "family_name", - "mappings" : { - "minister" : "family_name", - "mandatory" : "family_name" - } - }, - { - "name" : "first_name_used", - "mappings" : { - "minister" : "first_name_used", - "mandatory" : "first_name_used" - } - }, - { - "name" : "end_date", - "mappings" : { - "minister" : "end_date", - "mandatory" : "end_date" - } - }, - { - "name" : "organization_id", - "mappings" : { - "minister" : "organization_id", - "mandatory" : "organization_id" - } - }, - { - "name" : "organization_name", - "mappings" : { - "minister" : "organization_name", - "mandatory" : "organization_name" - } - }, - { - "name" : "organization_municipality", - "mappings" : { - "minister" : "organization_municipality", - "mandatory" : "organization_municipality" - } - }, - { - "name" : "organization_province", - "mappings" : { - "minister" : "organization_province", - "mandatory" : "organization_province" - } - }, - { - "name" : "position_id", - "mappings" : { - "minister" : "position_id", - "mandatory" : "position_id" - } - }, - { - "name" : "position_name", - "mappings" : { - "minister" : "position_name", - "mandatory" : "position_name" - } + "type": "person", + "composite_types": [ + "minister", + "mandatory" + ], + "on_path": "people", + "properties": [ + { + "name": "given_name", + "mappings": { + "minister": "given_name", + "mandatory": "given_name" } + }, + { + "name": "id", + "mappings": { + "minister": "id", + "mandatory": "id" + } + }, + { + "name": "family_name", + "mappings": { + "minister": "family_name", + "mandatory": "family_name" + } + }, + { + "name": "first_name_used", + "mappings": { + "minister": "first_name_used", + "mandatory": "first_name_used" + } + }, + { + "name": "end_date", + "mappings": { + "minister": "end_date", + "mandatory": "end_date" + } + }, + { + "name": "organization_id", + "mappings": { + "minister": "organization_id", + "mandatory": "organization_id" + } + }, + { + "name": "organization_name", + "mappings": { + "minister": "organization_name", + "mandatory": "organization_name" + } + }, + { + "name": "organization_municipality", + "mappings": { + "minister": "organization_municipality", + "mandatory": "organization_municipality" + } + }, + { + "name": "organization_province", + "mappings": { + "minister": "organization_province", + "mandatory": "organization_province" + } + }, + { + "name": "position_id", + "mappings": { + "minister": "position_id", + "mandatory": "position_id" + } + }, + { + "name": "position_name", + "mappings": { + "minister": "position_name", + "mandatory": "position_name" + } + } ], "mappings": { "properties": { @@ -328,7 +515,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -344,16 +532,20 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "organization_id": { "type": "text" }, + "organization_id": { + "type": "text" + }, "organization_province": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -361,7 +553,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -369,20 +562,26 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "position_id": { "type": "text" }, + "position_id": { + "type": "text" + }, "position_name": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, - "end_date": { "type": "date" } + "end_date": { + "type": "date" + } } } }, @@ -434,13 +633,18 @@ }, "mappings": { "properties": { - "classification_id": { "type": "text" }, - "recognized_worship_type_id": { "type": "text" }, + "classification_id": { + "type": "text" + }, + "recognized_worship_type_id": { + "type": "text" + }, "name": { "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -448,7 +652,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -456,7 +661,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -464,7 +670,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -472,7 +679,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } }, @@ -480,7 +688,8 @@ "type": "text", "fields": { "field": { - "type": "keyword" + "type": "keyword", + "normalizer": "custom_sort_normalizer" } } } diff --git a/config/search/dev/config.json b/config/search/dev/config.json new file mode 100644 index 0000000..269b7a6 --- /dev/null +++ b/config/search/dev/config.json @@ -0,0 +1,625 @@ +{ + "automatic_index_updates": true, + "persist_indexes": true, + "number_of_threads": 11, + "eager_indexing_groups": [ + [ + { + "variables": [], + "name": "acmidm-lezer" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-editeerder" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ], + [ + { + "variables": [], + "name": "acmidm-beheerder" + }, + { + "variables": [], + "name": "clean" + }, + { + "variables": [], + "name": "public" + } + ] + ], + "default_settings" : { + "analysis": { + "normalizer": { + "custom_sort_normalizer": { + "type": "custom", + "char_filter": [], + "filter": [ + "lowercase", + "trim", + "asciifolding" + ] + } + } + } + }, + "types": [ + { + "type": "mandatory", + "on_path": "mandatories", + "rdf_type": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris", + "properties": { + "given_name": [ + "http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan", + "http://xmlns.com/foaf/0.1/givenName" + ], + "id": [ + "http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan", + "http://mu.semte.ch/vocabularies/core/uuid" + ], + "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_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" + } + } + }, + "id": { + "type": "text", + "fields": { + "field": { + "type": "keyword" + } + } + }, + "given_name": { + "type": "text", + "fields": { + "field": { + "type": "keyword", + "normalizer": "custom_sort_normalizer" + } + } + }, + "organization_id": { + "type": "text" + }, + "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": "text", + "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", + "sub_types": [ + "http://data.lblod.info/vocabularies/contacthub/AgentInPositie" + ], + "properties": { + "given_name": [ + "http://www.w3.org/ns/org#heldBy", + "http://xmlns.com/foaf/0.1/givenName" + ], + "id": [ + "http://www.w3.org/ns/org#heldBy", + "http://mu.semte.ch/vocabularies/core/uuid" + ], + "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_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" + } + } + }, + "id": { + "type": "text", + "fields": { + "field": { + "type": "keyword" + } + } + }, + "given_name": { + "type": "text", + "fields": { + "field": { + "type": "keyword", + "normalizer": "custom_sort_normalizer" + } + } + }, + "organization_id": { + "type": "text" + }, + "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": "text", + "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", + "mandatory" + ], + "on_path": "people", + "properties": [ + { + "name": "given_name", + "mappings": { + "minister": "given_name", + "mandatory": "given_name" + } + }, + { + "name": "id", + "mappings": { + "minister": "id", + "mandatory": "id" + } + }, + { + "name": "family_name", + "mappings": { + "minister": "family_name", + "mandatory": "family_name" + } + }, + { + "name": "first_name_used", + "mappings": { + "minister": "first_name_used", + "mandatory": "first_name_used" + } + }, + { + "name": "end_date", + "mappings": { + "minister": "end_date", + "mandatory": "end_date" + } + }, + { + "name": "organization_id", + "mappings": { + "minister": "organization_id", + "mandatory": "organization_id" + } + }, + { + "name": "organization_name", + "mappings": { + "minister": "organization_name", + "mandatory": "organization_name" + } + }, + { + "name": "organization_municipality", + "mappings": { + "minister": "organization_municipality", + "mandatory": "organization_municipality" + } + }, + { + "name": "organization_province", + "mappings": { + "minister": "organization_province", + "mandatory": "organization_province" + } + }, + { + "name": "position_id", + "mappings": { + "minister": "position_id", + "mandatory": "position_id" + } + }, + { + "name": "position_name", + "mappings": { + "minister": "position_name", + "mandatory": "position_name" + } + } + ], + "mappings": { + "properties": { + "family_name": { + "type": "text", + "fields": { + "field": { + "type": "keyword", + "normalizer": "custom_sort_normalizer" + } + } + }, + "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_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": "text", + "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": "unit", + "on_path": "units", + "rdf_type": "http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid", + "sub_types": [ + "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst", + "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst" + ], + "properties": { + "name": "http://www.w3.org/2004/02/skos/core#prefLabel", + "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" + ] + }, + "mappings": { + "properties": { + "classification_id": { + "type": "text" + }, + "recognized_worship_type_id": { + "type": "text" + }, + "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": "text", + "fields": { + "field": { + "type": "keyword", + "normalizer": "custom_sort_normalizer" + } + } + } + } + } + } + ] +} \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 61f384e..b705c26 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -43,7 +43,7 @@ services: adressenregister: restart: "no" frontend: - image: lblod/frontend-contact-hub:latest + image: lblod/frontend-organization-portal:latest restart: "no" uri-info: restart: "no" @@ -61,6 +61,8 @@ services: restart: "no" search: restart: "no" + volumes: + - ./config/search/dev:/config elasticsearch: restart: "no" file: diff --git a/docker-compose.yml b/docker-compose.yml index dd4c91e..1dd39f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -61,7 +61,9 @@ services: restart: always logging: *default-logging resource: - image: semtech/mu-cl-resources:feature-all-errors-as-json-api-errors # Bump to fixed version when merged and release + image: semtech/mu-cl-resources:1.21.1 + environment: + CACHE_CLEAR_PATH: "http://cache/.mu/clear-keys" links: - db:database volumes: @@ -79,7 +81,7 @@ services: restart: always logging: *default-logging kalliope-api: - image: lblod/jsonld-delta-service:0.5.5 + image: lblod/jsonld-delta-service:0.5.6 volumes: - ./config/kalliope:/config - ./data/files:/share @@ -138,20 +140,17 @@ services: restart: always logging: *default-logging privacy: - image: lblod/privacy-centric-service:0.3.0 + image: lblod/privacy-centric-service:0.5.0 labels: - "logging=true" environment: - SERVER_PORT: "80" - SPARQL_ENDPOINT: "http://db:8890/sparql" - LOGGING_LEVEL: "INFO" DEFAULT_GRAPH: "http://mu.semte.ch/graphs/privacy-centric-graph" SESSION_GRAPH: "http://mu.semte.ch/graphs/sessions" APP_GRAPH: "http://mu.semte.ch/graphs/organisatieportaal" - labels: - - "logging=true" restart: always logging: *default-logging + links: + - db:database adressenregister: image: lblod/adressenregister-fuzzy-search-service:0.6.0 labels: @@ -159,7 +158,7 @@ services: restart: always logging: *default-logging frontend: - image: lblod/frontend-contact-hub:1.6.3 + image: lblod/frontend-organization-portal:1.7.2 volumes: - ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf environment: @@ -200,7 +199,7 @@ services: # DELTA GENERAL ################################################################################ delta-producer-dump-file-publisher: - image: bdevloed/delta-producer-dump-file-publisher:0.5.0-beta + image: bdevloed/delta-producer-dump-file-publisher:0.8.0-beta volumes: - ./config/delta-producer/dump-file-publisher:/config - ./data/files:/share @@ -335,11 +334,74 @@ services: ################################################################################ +################################################################################ +# DELTA PUBLIC INFORMATION: START +################################################################################ + delta-producer-bg-jobs-initiator-public: + image: lblod/delta-producer-background-jobs-initiator:0.3.1 + environment: + JOBS_GRAPH: "http://mu.semte.ch/graphs/organisatieportaal" + DUMP_FILE_CREATION_JOB_OPERATION: 'http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public' + INITIAL_PUBLICATION_GRAPH_SYNC_JOB_OPERATION: 'http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public' + HEALING_JOB_OPERATION: 'http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public' + CRON_PATTERN_DUMP_JOB: '11 */4 * * *' # At minute 11 every 4 hours + CRON_PATTERN_HEALING_JOB: '0 0 4 * * *' # everyday at 4 AM + START_INITIAL_SYNC: 'false' # prefer to disable it now. We want to have feeling with how the DB acts. + labels: + - "logging=true" + links: + - db:database + restart: always + logging: *default-logging + delta-producer-pub-graph-maintainer-public: + image: lblod/delta-producer-publication-graph-maintainer:0.15.1 + environment: + MAX_BODY_SIZE: "50mb" + JOBS_GRAPH: "http://mu.semte.ch/graphs/organisatieportaal" + RELATIVE_FILE_PATH: "deltas/public" + PUBLICATION_GRAPH: 'http://redpencil.data.gift/id/deltas/producer/public' + HEALING_JOB_OPERATION: 'http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public' + INITIAL_PUBLICATION_GRAPH_SYNC_JOB_OPERATION: 'http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public' + QUEUE_POLL_INTERVAL: 3000 + USE_VIRTUOSO_FOR_EXPENSIVE_SELECTS: "true" # some queries are just too expensive + SKIP_MU_AUTH_INITIAL_SYNC: 'true' + HEALING_PATCH_GRAPH_BATCH_SIZE: 500 + volumes: + - ./config/delta-producer/public:/config + - ./data/files/:/share + links: + - db:database + - triplestore:virtuoso + restart: always + logging: *default-logging + delta-producer-json-diff-publisher-public: + image: lblod/delta-producer-json-diff-file-publisher:0.2.3 + environment: + MAX_BODY_SIZE: "50mb" + ERROR_GRAPH: "http://mu.semte.ch/graphs/organisatieportaal" + RELATIVE_FILE_PATH: "deltas/public" + PUBLISHER_URI: "http://data.lblod.info/services/delta-production-json-diff-file-manager/public" + PUBLICATION_GRAPH: 'http://redpencil.data.gift/id/deltas/producer/public' + DELTA_INTERVAL_MS: 10000 + PRETTY_PRINT_DIFF_JSON: "true" + volumes: + - ./data/files:/share + labels: + - "logging=true" + links: + - db:database + restart: always + logging: *default-logging +################################################################################ +# DELTA PUBLIC INFORMATION: END +################################################################################ + + ################################################################################ # MU SEARCH - TODO USE THE CORRECT IMAGE ONCE INHERITANCE IS IN MU SEARCH ################################################################################ search: - image: nbittich/mu-search:wip-inheritance # Bump to fixed version when merged and release to the original repo + image: nbittich/mu-search:wip-inheritance-alpha2 # Bump to fixed version when merged and release to the original repo links: - db:database restart: always