diff --git a/config/authorization/config.ex b/config/authorization/config.ex
index f6fa2de..12f824e 100644
--- a/config/authorization/config.ex
+++ b/config/authorization/config.ex
@@ -7,92 +7,93 @@ alias Acl.GroupSpec, as: GroupSpec
alias Acl.GroupSpec.GraphCleanup, as: GraphCleanup
defmodule Acl.UserGroups.Config do
-
@error_type [
"https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#Error"
]
@worship_type [
- "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
- "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
- "http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
- "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
- "http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
- "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
- "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
- "http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
- "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
- "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
+ "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
+ "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
+ "http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
+ "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
+ "http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
+ "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
+ "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
+ "http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
+ "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
+ "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan"
]
@public_type [
- "http://www.w3.org/ns/org#Role",
- "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
- "http://xmlns.com/foaf/0.1/Person",
- "http://xmlns.com/foaf/0.1/OnlineAccount",
- "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
- "http://www.w3.org/ns/dcat#Dataset",
- "http://www.w3.org/ns/dcat#Distribution",
- "http://www.w3.org/ns/dcat#Catalog",
- "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
- "http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
- "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
- "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
- "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
- "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
- "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
- "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
- "http://www.w3.org/2004/02/skos/core#ConceptScheme",
- "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinancieringCode",
- "http://www.w3.org/2004/02/skos/core#Concept",
- "http://publications.europa.eu/ontology/euvoc#Country",
- "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
- "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
- "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
- "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
- "http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
- "http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
- "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
- "http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype"
+ "http://www.w3.org/ns/org#Role",
+ "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
+ "http://xmlns.com/foaf/0.1/Person",
+ "http://xmlns.com/foaf/0.1/OnlineAccount",
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
+ "http://www.w3.org/ns/dcat#Dataset",
+ "http://www.w3.org/ns/dcat#Distribution",
+ "http://www.w3.org/ns/dcat#Catalog",
+ "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
+ "http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
+ "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
+ "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
+ "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
+ "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
+ "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
+ "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
+ "http://www.w3.org/2004/02/skos/core#ConceptScheme",
+ "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinancieringCode",
+ "http://www.w3.org/2004/02/skos/core#Concept",
+ "http://publications.europa.eu/ontology/euvoc#Country",
+ "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
+ "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
+ "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
+ "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
+ "http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
+ "http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
+ "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
+ "http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype"
]
@org_type [
- "http://purl.org/dc/terms/Agent",
- "http://www.w3.org/ns/org#Organization",
- "http://data.vlaanderen.be/ns/besluit#Besluit",
- "https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
- "http://www.w3.org/ns/org#Site",
- "http://www.w3.org/ns/locn#Address",
- "http://www.w3.org/ns/person#Person",
- "http://schema.org/ContactPoint",
- "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
- "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
- "http://www.w3.org/ns/adms#Identifier",
- "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
- "http://data.vlaanderen.be/ns/mandaat#Mandaat",
- "http://data.vlaanderen.be/ns/mandaat#Mandataris",
- "http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
- "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
- "http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
- "http://www.w3.org/ns/org#Post",
- "http://www.w3.org/ns/org#ChangeEvent",
- "http://data.lblod.info/vocabularies/contacthub/AgentInPositie"
+ "http://purl.org/dc/terms/Agent",
+ "http://www.w3.org/ns/org#Organization",
+ "http://www.w3.org/ns/regorg#RegisteredOrganization",
+ "http://data.vlaanderen.be/ns/besluit#Besluit",
+ "https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
+ "http://www.w3.org/ns/org#Site",
+ "http://www.w3.org/ns/locn#Address",
+ "http://www.w3.org/ns/person#Person",
+ "http://schema.org/ContactPoint",
+ "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
+ "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
+ "http://www.w3.org/ns/adms#Identifier",
+ "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
+ "http://data.vlaanderen.be/ns/mandaat#Mandaat",
+ "http://data.vlaanderen.be/ns/mandaat#Mandataris",
+ "http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
+ "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
+ "http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
+ "http://www.w3.org/ns/org#Post",
+ "http://www.w3.org/ns/org#ChangeEvent",
+ "http://data.lblod.info/vocabularies/contacthub/AgentInPositie"
]
@shared_protected_type [
- "http://www.w3.org/ns/prov#Location",
- "http://xmlns.com/foaf/0.1/Image",
- "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
+ "http://www.w3.org/ns/prov#Location",
+ "http://xmlns.com/foaf/0.1/Image",
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
- defp access_by_role( group_string ) do
+ defp access_by_role(group_string) do
%AccessByQuery{
-# vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
+ # vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
vars: [],
- query: sparql_query_for_access_role( group_string ) }
+ query: sparql_query_for_access_role(group_string)
+ }
end
- defp sparql_query_for_access_role( group_string ) do
+ defp sparql_query_for_access_role(group_string) do
"PREFIX ext:
PREFIX mu:
SELECT distinct ?session_group ?session_role WHERE {
@@ -104,11 +105,10 @@ defmodule Acl.UserGroups.Config do
def user_groups do
[
-
%GroupSpec{
name: "acmidm-lezer",
useage: [:read],
- access: access_by_role( "ABBOrganisatiePortaalGebruiker-lezer" ),
+ access: access_by_role("ABBOrganisatiePortaalGebruiker-lezer"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/administrative-unit",
@@ -121,7 +121,7 @@ defmodule Acl.UserGroups.Config do
%GroupSpec{
name: "acmidm-editeerder",
useage: [:read, :write, :read_for_write],
- access: access_by_role( "ABBOrganisatiePortaalGebruiker-editeerder" ),
+ access: access_by_role("ABBOrganisatiePortaalGebruiker-editeerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/administrative-unit",
@@ -134,7 +134,7 @@ defmodule Acl.UserGroups.Config do
%GroupSpec{
name: "acmidm-beheerder",
useage: [:read, :write, :read_for_write],
- access: access_by_role( "ABBOrganisatiePortaalGebruiker-beheerder" ),
+ access: access_by_role("ABBOrganisatiePortaalGebruiker-beheerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/administrative-unit",
@@ -147,7 +147,7 @@ defmodule Acl.UserGroups.Config do
%GroupSpec{
name: "acmidm-worship-lezer",
useage: [:read],
- access: access_by_role( "ABBOrganisatiePortaalErediensten-lezer" ),
+ access: access_by_role("ABBOrganisatiePortaalErediensten-lezer"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
@@ -160,7 +160,7 @@ defmodule Acl.UserGroups.Config do
%GroupSpec{
name: "acmidm-worship-editeerder",
useage: [:read, :write, :read_for_write],
- access: access_by_role( "ABBOrganisatiePortaalErediensten-editeerder" ),
+ access: access_by_role("ABBOrganisatiePortaalErediensten-editeerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
@@ -173,7 +173,7 @@ defmodule Acl.UserGroups.Config do
%GroupSpec{
name: "acmidm-worship-beheerder",
useage: [:read, :write, :read_for_write],
- access: access_by_role( "ABBOrganisatiePortaalErediensten-beheerder" ),
+ access: access_by_role("ABBOrganisatiePortaalErediensten-beheerder"),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/worship-service",
@@ -189,10 +189,10 @@ defmodule Acl.UserGroups.Config do
access: %AlwaysAccessible{},
graphs: [
%GraphSpec{
- graph: "http://mu.semte.ch/graphs/public",
- constraint: %ResourceConstraint{
- resource_types: @public_type
- }
+ graph: "http://mu.semte.ch/graphs/public",
+ constraint: %ResourceConstraint{
+ resource_types: @public_type
+ }
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/shared",
@@ -200,8 +200,8 @@ defmodule Acl.UserGroups.Config do
resource_types: @shared_protected_type ++ @org_type
}
}
-
- ]},
+ ]
+ },
# // CLEANUP
#
diff --git a/config/dev-migrations/20231222112146-add-ocmw-association-wieltjesgracht.sparql b/config/dev-migrations/20231222112146-add-ocmw-association-wieltjesgracht.sparql
new file mode 100644
index 0000000..7d6df0e
--- /dev/null
+++ b/config/dev-migrations/20231222112146-add-ocmw-association-wieltjesgracht.sparql
@@ -0,0 +1,200 @@
+PREFIX org:
+PREFIX locn:
+PREFIX schema:
+PREFIX regorg:
+PREFIX person:
+PREFIX vcard:
+PREFIX dbpedia:
+PREFIX adms:
+PREFIX euro:
+PREFIX prov:
+PREFIX organisatie:
+PREFIX persoon:
+PREFIX adres:
+PREFIX generiek:
+PREFIX mandaat:
+PREFIX besluit:
+PREFIX lblodlg:
+PREFIX lblodorg:
+PREFIX lblodgeneriek:
+PREFIX dc_terms:
+PREFIX foaf:
+PREFIX skos:
+PREFIX euvoc:
+PREFIX ere:
+PREFIX ch:
+PREFIX code:
+PREFIX ext:
+PREFIX geo:
+PREFIX nacebel:
+PREFIX core:
+
+# Core data
+INSERT DATA {
+ GRAPH {
+ core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""".
+ a besluit:Bestuurseenheid.
+ a org:Organization.
+ a dc_terms:Agent.
+ skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT""".
+
+ org:classification .
+
+ # Site
+ core:uuid """6585490A8CEC3153DEA3A208""" .
+ a schema:ContactPoint .
+ schema:email """mail@adres.com""" .
+ schema:telephone """tel:+3211211430""" .
+ foaf:page """https://www.vlaanderen.be""" .
+ schema:contactType """Primary""" .
+
+ core:uuid """6585490B8CEC3153DEA3A209""" .
+ a schema:ContactPoint .
+ schema:telephone """tel:+3211211431""" .
+ schema:contactType """Secondary""" .
+
+ core:uuid """6585490B8CEC3153DEA3A20A""" .
+ a locn:Address .
+ adres:Adresvoorstelling.huisnummer """1""" .
+ locn:thoroughfare """Oude Markt""" .
+ locn:postCode """3000""" .
+ adres:gemeentenaam """Leuven""" .
+ locn:adminUnitL2 """Vlaams-Brabant""" .
+ adres:land """Belgiƫ""" .
+ locn:fullAddress """Oude Markt 1, 3000 Leuven, Belgiƫ""" .
+ adres:verwijstNaar .
+ dc_terms:source .
+
+ core:uuid """6585490B8CEC3153DEA3A20B""" .
+ a org:Site .
+ organisatie:bestaatUit .
+ org:siteAddress .
+ org:siteAddress .
+ ere:vestigingstype .
+ org:hasPrimarySite .
+
+ # KBO number
+ core:uuid """65856287B12D00C739F23920""".
+ a generiek:GestructureerdeIdentificator.
+ generiek:lokaleIdentificator """0262925527""".
+ core:uuid """65856287B12D00C739F23921""".
+ a adms:Identifier.
+ skos:notation """KBO nummer""".
+ generiek:gestructureerdeIdentificator .
+ adms:identifier .
+
+ # Sharepoint identifier
+ core:uuid """65856287B12D00C739F23922""".
+ a generiek:GestructureerdeIdentificator.
+ generiek:lokaleIdentificator """sp-id-test""" .
+ core:uuid """65856287B12D00C739F23923""".
+ a adms:Identifier.
+ skos:notation """SharePoint identificator""".
+ generiek:gestructureerdeIdentificator .
+ adms:identifier .
+
+ # OVO number
+ adms:identifier .
+ a adms:Identifier ;
+ core:uuid """d5713a51-40d4-4b79-bf72-0d917f78c37b""" ;
+ skos:notation "OVO-nummer" ;
+ generiek:gestructureerdeIdentificator .
+ a generiek:GestructureerdeIdentificator ;
+ core:uuid """438b542b-6841-4137-b8da-287b394328ee""" ;
+ generiek:lokaleIdentificator "OVO009999" .
+
+ besluit:werkingsgebied .
+
+ regorg:orgStatus .
+
+ org:hasSubOrganization .
+
+ ext:isFounderOfOrganization .
+ }
+}
+;
+INSERT {
+ GRAPH {
+ a besluit:Bestuursorgaan ;
+ core:uuid """16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353""" ;
+ skos:prefLabel ?governingBodyLabel ;
+ besluit:bestuurt ;
+ org:classification .
+ }
+} WHERE {
+ GRAPH {
+ ?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
+ skos:prefLabel ?administrativeUnitLabel .
+ BIND(CONCAT("""Raad van bestuur""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
+ }
+}
+;
+INSERT DATA {
+ GRAPH {
+ a besluit:Bestuursorgaan ;
+ core:uuid """47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee""" ;
+ generiek:isTijdspecialisatieVan ;
+ mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
+ }
+}
+;
+INSERT {
+ GRAPH {
+ a besluit:Bestuursorgaan ;
+ core:uuid """e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034""" ;
+ skos:prefLabel ?governingBodyLabel ;
+ besluit:bestuurt ;
+ org:classification .
+ }
+} WHERE {
+ GRAPH {
+ ?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
+ skos:prefLabel ?administrativeUnitLabel .
+ BIND(CONCAT("""Algemene vergadering""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
+ }
+}
+;
+INSERT DATA {
+ GRAPH {
+ a besluit:Bestuursorgaan ;
+ core:uuid """be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86""" ;
+ generiek:isTijdspecialisatieVan ;
+ mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
+ }
+}
+;
+INSERT {
+ GRAPH {
+ a besluit:Bestuursorgaan ;
+ core:uuid """0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d""" ;
+ skos:prefLabel ?governingBodyLabel ;
+ besluit:bestuurt ;
+ org:classification .
+ }
+} WHERE {
+ GRAPH {
+ ?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
+ skos:prefLabel ?administrativeUnitLabel .
+ BIND(CONCAT("""Leidend Ambtenaar""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
+ }
+}
+;
+INSERT DATA {
+ GRAPH {
+ a besluit:Bestuursorgaan ;
+ core:uuid """a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66""" ;
+ generiek:isTijdspecialisatieVan ;
+ mandaat:bindingStart "2019-01-01T00:00:00.000Z"^^xsd:dateTime .
+ }
+}
+;
+INSERT DATA {
+ GRAPH {
+ lblodlg:heeftBestuursfunctie .
+
+ a lblodlg:Bestuursfunctie ;
+ core:uuid """73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490""" ;
+ org:role ;
+ skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT Leidend ambtenaar""" .
+ }
+}
diff --git a/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231129134823-autonome-verzorginginstelling.sparql b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231129134823-autonome-verzorginginstelling.sparql
new file mode 100644
index 0000000..15cab74
--- /dev/null
+++ b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231129134823-autonome-verzorginginstelling.sparql
@@ -0,0 +1,17 @@
+PREFIX skos:
+PREFIX core:
+PREFIX scheme:
+PREFIX code:
+PREFIX ext:
+PREFIX concept:
+
+INSERT DATA {
+ GRAPH {
+ concept:34b5af85-dc9f-468f-9e03-ef89b174c267 a code:BestuurseenheidClassificatieCode ;
+ a ext:OrganizationClassificationCode ;
+ core:uuid "34b5af85-dc9f-468f-9e03-ef89b174c267" ;
+ skos:prefLabel "Autonome verzorgingsinstelling" ;
+ skos:inScheme scheme:BestuurseenheidClassificatieCode ;
+ skos:topConceptOf scheme:BestuurseenheidClassificatieCode .
+ }
+}
diff --git a/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204120700-ziekenhuisvereniging.sparql b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204120700-ziekenhuisvereniging.sparql
new file mode 100644
index 0000000..1a07c8f
--- /dev/null
+++ b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204120700-ziekenhuisvereniging.sparql
@@ -0,0 +1,17 @@
+PREFIX skos:
+PREFIX core:
+PREFIX scheme:
+PREFIX code:
+PREFIX ext:
+PREFIX concept:
+
+INSERT DATA {
+ GRAPH {
+ concept:82250452-83a0-48f4-89cc-b430320493ce a ext:GeregistreerdeOrganisatieClassificatieCode ;
+ a ext:OrganizationClassificationCode ;
+ core:uuid "82250452-83a0-48f4-89cc-b430320493ce" ;
+ skos:prefLabel "Ziekenhuisvereniging" ;
+ skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode ;
+ skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode .
+ }
+}
diff --git a/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204120900-woonzorgvereniging-of-woonzorgvennootschap.sparql b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204120900-woonzorgvereniging-of-woonzorgvennootschap.sparql
new file mode 100644
index 0000000..460ab28
--- /dev/null
+++ b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204120900-woonzorgvereniging-of-woonzorgvennootschap.sparql
@@ -0,0 +1,17 @@
+PREFIX skos:
+PREFIX core:
+PREFIX scheme:
+PREFIX code:
+PREFIX ext:
+PREFIX concept:
+
+INSERT DATA {
+ GRAPH {
+ concept:82fd21dc-e8bb-4d13-a010-f4a12358ef10 a ext:GeregistreerdeOrganisatieClassificatieCode ;
+ a ext:OrganizationClassificationCode ;
+ core:uuid "82fd21dc-e8bb-4d13-a010-f4a12358ef10" ;
+ skos:prefLabel "Woonzorgvereniging of woonzorgvennootschap" ;
+ skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode ;
+ skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode .
+ }
+}
diff --git a/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204121000-vereniging-of-vennootschap-voor-sociale-dienstverlening.sparql b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204121000-vereniging-of-vennootschap-voor-sociale-dienstverlening.sparql
new file mode 100644
index 0000000..a2ace78
--- /dev/null
+++ b/config/migrations/2023/20231129134822-onboarding-ocmw-verenigingen/20231204121000-vereniging-of-vennootschap-voor-sociale-dienstverlening.sparql
@@ -0,0 +1,17 @@
+PREFIX skos:
+PREFIX core:
+PREFIX scheme:
+PREFIX code:
+PREFIX ext:
+PREFIX concept:
+
+INSERT DATA {
+ GRAPH {
+ concept:35833ba2-7371-400b-8df2-2912f66fb153 a ext:GeregistreerdeOrganisatieClassificatieCode ;
+ a ext:OrganizationClassificationCode ;
+ core:uuid "35833ba2-7371-400b-8df2-2912f66fb153" ;
+ skos:prefLabel "Vereniging of vennootschap voor sociale dienstverlening" ;
+ skos:inScheme scheme:GeregistreerdeOrganisatieClassificatieCode ;
+ skos:topConceptOf scheme:GeregistreerdeOrganisatieClassificatieCode .
+ }
+}
diff --git a/config/migrations/2024/20240108134546-onboarding-peva/20240108134546-onboarding-peva-classification-code-peva-gemeente.sparql b/config/migrations/2024/20240108134546-onboarding-peva/20240108134546-onboarding-peva-classification-code-peva-gemeente.sparql
new file mode 100644
index 0000000..3a73d52
--- /dev/null
+++ b/config/migrations/2024/20240108134546-onboarding-peva/20240108134546-onboarding-peva-classification-code-peva-gemeente.sparql
@@ -0,0 +1,20 @@
+PREFIX skos:
+PREFIX core:
+PREFIX scheme:
+PREFIX code:
+PREFIX ext:
+PREFIX lblodorg:
+PREFIX concept:
+
+INSERT DATA {
+ GRAPH {
+ concept:2ad46df5-5c79-4d67-84d5-604c1377231e a skos:Concept ;
+ a lblodorg:BestuurseenheidClassificatieCode ;
+ a ext:BestuurseenheidClassificatieCode ;
+ a ext:OrganizationClassificationCode ;
+ core:uuid "2ad46df5-5c79-4d67-84d5-604c1377231e" ;
+ skos:prefLabel "PEVA gemeente" ;
+ skos:inScheme scheme:BestuurseenheidClassificatieCode ;
+ skos:topConceptOf scheme:BestuurseenheidClassificatieCode .
+ }
+}
diff --git a/config/migrations/2024/20240108134546-onboarding-peva/20240108134610-onboarding-peva-classification-code-peva-provincie.sparql b/config/migrations/2024/20240108134546-onboarding-peva/20240108134610-onboarding-peva-classification-code-peva-provincie.sparql
new file mode 100644
index 0000000..53e463a
--- /dev/null
+++ b/config/migrations/2024/20240108134546-onboarding-peva/20240108134610-onboarding-peva-classification-code-peva-provincie.sparql
@@ -0,0 +1,20 @@
+PREFIX skos:
+PREFIX core:
+PREFIX scheme:
+PREFIX code:
+PREFIX ext:
+PREFIX lblodorg:
+PREFIX concept:
+
+INSERT DATA {
+ GRAPH {
+ concept:088784b6-e188-48bf-b94f-94665f9e1f53 a skos:Concept ;
+ a lblodorg:BestuurseenheidClassificatieCode ;
+ a ext:BestuurseenheidClassificatieCode ;
+ a ext:OrganizationClassificationCode ;
+ core:uuid "088784b6-e188-48bf-b94f-94665f9e1f53" ;
+ skos:prefLabel "PEVA provincie" ;
+ skos:inScheme scheme:BestuurseenheidClassificatieCode ;
+ skos:topConceptOf scheme:BestuurseenheidClassificatieCode .
+ }
+}
diff --git a/config/reasoner/dl2op/main/query.n3q b/config/reasoner/dl2op/main/query.n3q
index 1db4e37..55d3d9d 100644
--- a/config/reasoner/dl2op/main/query.n3q
+++ b/config/reasoner/dl2op/main/query.n3q
@@ -36,8 +36,10 @@
?o .
}.
-# Functionarissen should be linked to an igs, agb, apb, gemeente, district, provincie or ocmw only (FOR NOW)
+# Functionarissen should only be linked to an IGS, AGB, APB, gemeente, district,
+# provincie, OCMW, or OCMW association (FOR NOW)
+## Province
{
?s a ;
?bestuursfunctie ;
@@ -52,6 +54,7 @@
?p ?o .
}.
+## Municipality
{
?s a ;
?bestuursfunctie ;
@@ -66,6 +69,7 @@
?p ?o .
}.
+## OCMW
{
?s a ;
?bestuursfunctie ;
@@ -80,6 +84,7 @@
?p ?o .
}.
+## district
{
?s a ;
?bestuursfunctie ;
@@ -93,6 +98,8 @@
?s a ;
?p ?o .
}.
+
+## AGB
{
?s a ;
?bestuursfunctie ;
@@ -107,6 +114,7 @@
?p ?o .
}.
+## APB
{
?s a ;
?bestuursfunctie ;
@@ -121,6 +129,7 @@
?p ?o .
}.
+## projectvereniging (IGS)
{
?s a ;
?bestuursfunctie ;
@@ -134,7 +143,7 @@
?s a ;
?p ?o .
}.
-
+## dienstverlenend vereniging (IGS)
{
?s a ;
?bestuursfunctie ;
@@ -149,6 +158,7 @@
?p ?o .
}.
+## opdrachthoudende vereniging (IGS)
{
?s a ;
?bestuursfunctie ;
@@ -163,6 +173,7 @@
?p ?o .
}.
+## opdrachthoudende vereniging met private deelname (IGS)
{
?s a ;
?bestuursfunctie ;
@@ -177,8 +188,27 @@
?p ?o .
}.
-# Mandatarissen should be linked to a gemeente, district, provincie or ocmw only (FOR NOW)
+## OCMW associations
+# Note: Loket uses only the general classification code for OCMW associations,
+# while OP uses its 5 more specific subtypes
+{
+ ?s a ;
+ ?bestuursfunctie ;
+ ?p ?o .
+ ?orgaanInTime ?bestuursfunctie ;
+ ?orgaan .
+ ?orgaan ?bestuur .
+ ?bestuur .
+ } => {
+ ?s a ;
+ ?p ?o .
+}.
+
+# Mandatarissen should only be linked to a gemeente, district, provincie or OCMW
+# (FOR NOW)
+
+## province
{
?s a ;
?mandate ;
@@ -193,6 +223,7 @@
?p ?o .
}.
+## municipality
{
?s a ;
?mandate ;
@@ -207,6 +238,7 @@
?p ?o .
}.
+## OCMW
{
?s a ;
?mandate ;
@@ -221,6 +253,7 @@
?p ?o .
}.
+## district
{
?s a ;
?mandate ;
diff --git a/config/resources/domain.json b/config/resources/domain.json
index 5c67e33..02ebb05 100644
--- a/config/resources/domain.json
+++ b/config/resources/domain.json
@@ -457,10 +457,10 @@
"target": "organizations",
"cardinality": "many"
},
- "was-founded-by-organization": {
+ "was-founded-by-organizations": {
"predicate": "ext:isFounderOfOrganization",
"target": "organizations",
- "cardinality": "one",
+ "cardinality": "many",
"inverse": true
},
"sector": {
diff --git a/docker-compose.yml b/docker-compose.yml
index bd37ae6..dfa4094 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -181,7 +181,7 @@ services:
restart: always
logging: *default-logging
frontend:
- image: lblod/frontend-organization-portal:1.21.0-0
+ image: lblod/frontend-organization-portal:1.21.0
volumes:
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
environment:
@@ -258,7 +258,7 @@ services:
restart: always
logging: *default-logging
construct-administrative-unit-relationships:
- image: lblod/construct-administrative-unit-relationships-service:0.1.6
+ image: lblod/construct-administrative-unit-relationships-service:0.1.7
environment:
START_DATE_WORSHIP_GOVERNING_BODY: "2023-04-01T00:00:00"
END_DATE_WORSHIP_GOVERNING_BODY: "2026-03-31T00:00:00"