From e90bd181fcfbe928de609185ccc8d7729eea22de Mon Sep 17 00:00:00 2001 From: anitacaron Date: Thu, 24 Jun 2021 09:17:50 +0100 Subject: [PATCH] Enable edit and fix domain --- config/authorization/config.ex | 61 ++++++++++++++++++------------- config/dispatcher/dispatcher.ex | 12 ++++--- config/resources/domain.json | 64 +++++++++++++++++++++------------ docker-compose.yml | 1 + 4 files changed, 87 insertions(+), 51 deletions(-) diff --git a/config/authorization/config.ex b/config/authorization/config.ex index 6379c47..3bd99d8 100644 --- a/config/authorization/config.ex +++ b/config/authorization/config.ex @@ -11,36 +11,47 @@ defmodule Acl.UserGroups.Config do [ %GroupSpec{ name: "public", - useage: [:read], + useage: [:read, :write, :read_for_write], access: %AlwaysAccessible{}, graphs: [ %GraphSpec{ graph: "http://mu.semte.ch/graphs/public", constraint: %ResourceConstraint{ resource_types: [ - "http://www.w3.org/2004/02/skos/core#Concept", - "http://www.w3.org/ns/org#Organization", - "http://www.w3.org/ns/org#Site", - "http://www.w3.org/ns/locn#Address", - "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator", - "http://www.w3.org/ns/adms#Identifier", - "http://www.w3.org/ns/person#Person", - "http://schema.org/ContactPoint", - "http://data.vlaanderen.be/ns/mandaat#Mandataris", - "http://data.vlaanderen.be/ns/mandaat#Mandaat", - "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie", - "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan", - "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid", - "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst", - "http://data.lblod.info/vocabularies/erediensten/Eredienstbestuursorgaan", - "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst", - "http://data.lblod.info/vocabularies/erediensten/CentraleBestuursorgaan", - "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan", - "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris", - "http://www.w3.org/ns/org#ChangeEvent", - "http://www.w3.org/ns/org#Role", - "http://www.w3.org/ns/org#Post", - "http://data.lblod.info/vocabularies/contacthub/AgentInPositie", - "http://www.w3.org/ns/prov#Location" + "http://www.w3.org/ns/org#Organization", + "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid", + "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst", + "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan", + "http://data.lblod.info/vocabularies/erediensten/Eredienstbestuursorgaan", + "http://www.w3.org/ns/adms#Identifier", + "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator", + "http://www.w3.org/ns/org#ChangeEvent", + "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen", + "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", + "http://data.vlaanderen.be/ns/mandaat#Mandaat", + "http://data.vlaanderen.be/ns/mandaat#Mandataris", + "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris", + "http://schema.org/ContactPoint", + "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie", + "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst", + "http://data.lblod.info/vocabularies/erediensten/CentraleBestuursorgaan", + "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan", + "http://www.w3.org/ns/org#Role", + "http://www.w3.org/ns/org#Post", + "http://data.lblod.info/vocabularies/contacthub/AgentInPositie", + "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/TypeEredienst", + "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing", + "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis", + "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode", + "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode", + "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid", + "http://www.w3.org/2004/02/skos/core#ConceptScheme", + "http://www.w3.org/2004/02/skos/core#Concept" ] } } ] }, %GraphCleanup{ diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index 7463528..9245007 100644 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -17,8 +17,8 @@ defmodule Dispatcher do Proxy.forward conn, path, "http://resource/people/" end - match "/agent-in-position/*path", %{ accept: [:json], layer: :api} do - Proxy.forward conn, path, "http://resource/agent-in-position/" + match "/agents-in-position/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/agents-in-position/" end match "/posts/*path", %{ accept: [:json], layer: :api} do @@ -93,8 +93,8 @@ defmodule Dispatcher do Proxy.forward conn, path, "http://resource/governing-body-classification-codes/" end - match "/public-involvements/*path", %{ accept: [:json], layer: :api} do - Proxy.forward conn, path, "http://resource/public-involvements/" + match "/local-involvements/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/local-involvements/" end match "/identifiers/*path", %{ accept: [:json], layer: :api} do @@ -129,6 +129,10 @@ defmodule Dispatcher do Proxy.forward conn, path, "http://resource/locations/" end + match "/involvement-types/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/involvement-types/" + end + ############################################################### # sparql endpoint ############################################################### diff --git a/config/resources/domain.json b/config/resources/domain.json index 8faef9a..b96e1b8 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -1,28 +1,29 @@ { "version": "0.1", "prefixes": { - "skos": "http://www.w3.org/2004/02/skos/core#", "org": "http://www.w3.org/ns/org#", "locn": "http://www.w3.org/ns/locn#", - "organisatie": "https://data.vlaanderen.be/ns/organisatie#", - "dc_terms": "http://purl.org/dc/terms/", "schema": "http://schema.org/", "regorg": "http://www.w3.org/ns/regorg#", "person": "http://www.w3.org/ns/person#", - "persoon": "https://data.vlaanderen.be/ns/persoon#", - "foaf": "http://xmlns.com/foaf/0.1/", "vcard": "http://www.w3.org/2006/vcard/ns#", + "dbpedia": "http://dbpedia.org/ontology/", + "adms": "http://www.w3.org/ns/adms#", + "euro": "http://data.europa.eu/m8g/", + "prov": "http://www.w3.org/ns/prov#", + "organisatie": "https://data.vlaanderen.be/ns/organisatie#", + "persoon": "https://data.vlaanderen.be/ns/persoon#", "adres": "https://data.vlaanderen.be/ns/adres#", "generiek": "https://data.vlaanderen.be/ns/generiek#", - "euro": "http://data.europa.eu/m8g/", - "adms": "http://www.w3.org/ns/adms#", - "lblodlg": "https://data.lblod.info/vocabularies/leidinggevenden/", - "besluit": "http://data.vlaanderen.be/ns/besluit#", "mandaat": "http://data.vlaanderen.be/ns/mandaat#", - "prov": "http://www.w3.org/ns/prov#", + "besluit": "http://data.vlaanderen.be/ns/besluit#", + "lblodlg": "https://data.lblod.info/vocabularies/leidinggevenden/", + "dc_terms": "http://purl.org/dc/terms/", + "foaf": "http://xmlns.com/foaf/0.1/", + "skos": "http://www.w3.org/2004/02/skos/core#", "ere": "http://data.lblod.info/vocabularies/erediensten/", - "ch": "http://data.lblod.info/vocabularies/contacthub/", - "code": "http://lblod.data.gift/vocabularies/organization/", + "ch": "http://data.lblod.info/vocabularies/contacthub/", + "code": "http://lblod.data.gift/vocabularies/organisatie/", "ext": "http://mu.semte.ch/vocabularies/ext/" }, "resources": { @@ -51,7 +52,7 @@ }, "new-resource-base": "http://data.lblod.info/id/personen/" }, - "agent-in-position": { + "agents-in-position": { "class": "ch:AgentInPositie", "attributes": { "start-date": { @@ -322,18 +323,13 @@ }, "involved-boards": { "predicate": "ere:betrokkenBestuur", - "target": "public-involvements", + "target": "local-engagements", "cardinality": "many" }, - "municipality": { + "scope": { "predicate": "besluit:werkingsgebied", "target": "locations", "cardinality": "one" - }, - "province": { - "predicate": "vcard:hasRegion", - "target": "locations", - "cardinality": "one" } }, "new-resource-base": "http://data.lblod.info/id/bestuurseenheden/" @@ -489,7 +485,7 @@ }, "new-resource-base": "http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/" }, - "public-involvements": { + "local-involvements": { "class": "ere:BetrokkenLokaleBesturen", "attributes": { "percentage": { @@ -507,6 +503,12 @@ "predicate": "org:organization", "target": "worship-services", "cardinality": "one" + }, + "administrative-unit": { + "predicate": "ere:betrokkenBestuur", + "target": "administrative-units", + "cardinality": "one", + "inverse": true } }, "new-resource-base": "http://data.lblod.info/id/betrokkenLokaleBesturen/" @@ -624,7 +626,7 @@ "new-resource-base": "http://lblod.data.gift/concepts/" }, "organization-status-codes": { - "class": "code:StatusCode", + "class": "code:OrganisatieStatusCode", "attributes": { "label": { "type": "string", @@ -646,7 +648,25 @@ "predicate": "ext:werkingsgebiedNiveau" } }, + "relationships": { + "administrative-units": { + "predicate": "besluit:werkingsgebied", + "target": "administrative-units", + "cardinality": "many", + "inverse": true + } + }, "new-resource-base": "http://data.lblod.info/id/werkingsgebieden/" + }, + "involvement-types": { + "class": "code:TypeBetrokkenheid", + "attributes": { + "label": { + "type": "string", + "predicate": "skos:prefLabel" + } + }, + "new-resource-base": "http://lblod.data.gift/concepts/" } } } \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 13a0a2f..c59f946 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -45,6 +45,7 @@ services: LOG_INCOMING_SPARQL_QUERIES: "true" LOG_ACCESS_RIGHTS: "true" LOG_OUTGOING_SPARQL_QUERY_ROUNDTRIP: "true" + ERROR_ON_UNWRITTEN_DATA: "true" volumes: - ./config/authorization:/config migrations: