diff --git a/config/authorization/config.ex b/config/authorization/config.ex index eecddc1..8e97fae 100644 --- a/config/authorization/config.ex +++ b/config/authorization/config.ex @@ -29,6 +29,7 @@ defmodule Acl.UserGroups.Config do "http://www.w3.org/ns/org#ChangeEvent", "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen", "http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren", + "http://www.w3.org/ns/prov#Location", "http://www.w3.org/ns/org#Site", "http://www.w3.org/ns/locn#Address", "http://www.w3.org/ns/person#Person", diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index a3a970a..92dd21f 100644 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -136,6 +136,10 @@ defmodule Dispatcher do Proxy.forward conn, path, "http://cache/organization-status-codes/" end + match "/locations/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://cache/locations/" + end + match "/involvement-types/*path", %{ accept: [:json], layer: :api} do Proxy.forward conn, path, "http://cache/involvement-types/" end diff --git a/config/migrations/2022/20220614112713-referentieregios.graph b/config/migrations/2022/20220614112713-referentieregios.graph new file mode 100644 index 0000000..7489cd5 --- /dev/null +++ b/config/migrations/2022/20220614112713-referentieregios.graph @@ -0,0 +1 @@ +http://mu.semte.ch/graphs/organisatieportaal \ No newline at end of file diff --git a/config/migrations/2022/20220614112713-referentieregios.ttl b/config/migrations/2022/20220614112713-referentieregios.ttl new file mode 100644 index 0000000..7c9d4db --- /dev/null +++ b/config/migrations/2022/20220614112713-referentieregios.ttl @@ -0,0 +1,685 @@ +@prefix ext: . +@prefix geo: . +@prefix mu: . +@prefix prov: . +@prefix rdfs: . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + geo:sfWithin . + + a prov:Location ; + rdfs:label "Regio Oostende"@nl ; + mu:uuid "5952a25321cd573ca8e15b4ca3ec61ce" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Waasland"@nl ; + mu:uuid "7cc6e924c119e04191230fa5f3478736" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Regio Brugge "@nl ; + mu:uuid "c462548a789d5e26e8c41c4cdef4b330" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Rivierenland"@nl ; + mu:uuid "209c5dcc3a134b218d92a895b353e317" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Zuid-West-Vlaanderen"@nl ; + mu:uuid "7d8d000629972f3a0c60a8957ce173f4" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Denderregio"@nl ; + mu:uuid "14a1ab2b9d1dc18a77c60840857efcbd" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Vlaamse Ardennen"@nl ; + mu:uuid "6f4033dfcdc246c2cb1301a9201777d1" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Midwest"@nl ; + mu:uuid "ce2a8162da1b34dbadf727094a6c0fe8" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Westhoek "@nl ; + mu:uuid "d3c528dc579c33e067075ddd17994266" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Regio Gent"@nl ; + mu:uuid "e762504fb5c9fedc166e98c1112f8879" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Kempen"@nl ; + mu:uuid "6d0914f57a9e54fefe131b610f125c5d" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Regio Antwerpen"@nl ; + mu:uuid "3c9f5b3c00046aaee3fa5830de6ff7fe" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Oost-Brabant"@nl ; + mu:uuid "94039b9217001e4f0374d232853b46c7" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Halle-Vilvoorde"@nl ; + mu:uuid "907c6d2c886aefdea229fc2029e9820f" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + + a prov:Location ; + rdfs:label "Limburg"@nl ; + mu:uuid "1e96dea77a67bc6efb5cb8746de22e25" ; + ext:werkingsgebiedNiveau "Referentieregio"@nl . + diff --git a/config/resources/domain.json b/config/resources/domain.json index 6f5142c..f9af760 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -25,7 +25,8 @@ "ere": "http://data.lblod.info/vocabularies/erediensten/", "ch": "http://data.lblod.info/vocabularies/contacthub/", "code": "http://lblod.data.gift/vocabularies/organisatie/", - "ext": "http://mu.semte.ch/vocabularies/ext/" + "ext": "http://mu.semte.ch/vocabularies/ext/", + "geo": "http://www.opengis.net/ont/geosparql#" }, "resources": { "people": { @@ -258,6 +259,13 @@ "predicate": "skos:prefLabel" } }, + "relationships": { + "applies-to": { + "predicate": "ext:appliesTo", + "target": "governing-body-classification-codes", + "cardinality": "one" + } + }, "new-resource-base": "http://data.vlaanderen.be/id/concept/BestuursfunctieCode/" }, "roles": { @@ -370,6 +378,11 @@ "predicate": "ere:betrokkenBestuur", "target": "local-involvements", "cardinality": "many" + }, + "located-within": { + "predicate": "geo:sfWithin", + "target": "locations", + "cardinality": "one" } }, "new-resource-base": "http://data.lblod.info/id/bestuurseenheden/" @@ -508,6 +521,13 @@ "predicate": "skos:prefLabel" } }, + "relationships": { + "applies-within": { + "predicate": "ext:appliesWithin", + "target": "administrative-unit-classification-codes", + "cardinality": "one" + } + }, "new-resource-base": "http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/" }, "local-involvements": { @@ -661,6 +681,39 @@ "features": ["include-uri"], "new-resource-base": "http://lblod.data.gift/concepts/" }, + "locations": { + "class": "prov:Location", + "attributes": { + "label": { + "type": "string", + "predicate": "rdfs:label" + }, + "level": { + "type": "string", + "predicate": "ext:werkingsgebiedNiveau" + } + }, + "relationships": { + "administrative-units": { + "predicate": "geo:sfWithin", + "target": "administrative-units", + "cardinality": "many", + "inverse": true + }, + "located-within": { + "predicate": "geo:sfWithin", + "target": "locations", + "cardinality": "one" + }, + "locations": { + "predicate": "geo:sfWithin", + "target": "locations", + "cardinality": "many", + "inverse": true + } + }, + "new-resource-base": "http://data.lblod.info/id/werkingsgebieden/" + }, "involvement-types": { "class": "code:TypeBetrokkenheid", "attributes": {