From c6f56948d89c0aa59ecb07b76c5e4d1716c31488 Mon Sep 17 00:00:00 2001 From: anitacaron Date: Tue, 29 Jun 2021 09:09:24 +0100 Subject: [PATCH 1/3] Add rel to person and rel between orgs --- config/dispatcher/dispatcher.ex | 16 ++++ config/resources/domain.json | 125 +++++++++++++++++++++++--------- 2 files changed, 107 insertions(+), 34 deletions(-) diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex index 9245007..406e631 100644 --- a/config/dispatcher/dispatcher.ex +++ b/config/dispatcher/dispatcher.ex @@ -133,6 +133,22 @@ defmodule Dispatcher do Proxy.forward conn, path, "http://resource/involvement-types/" end + match "/minister-roles/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/minister-roles/" + end + + match "/dates-of-birth/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/dates-of-birth/" + end + + match "/nationalities/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/nationalities/" + end + + match "/gender-codes/*path", %{ accept: [:json], layer: :api} do + Proxy.forward conn, path, "http://resource/gender-codes/" + end + ############################################################### # sparql endpoint ############################################################### diff --git a/config/resources/domain.json b/config/resources/domain.json index 72792ba..5c212d1 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -48,6 +48,26 @@ "predicate": "mandaat:isAangesteldAls", "target": "mandatories", "cardinality": "many" + }, + "identifier": { + "predicate": "persoon:registratie", + "target": "identifiers", + "cardinality": "one" + }, + "date-of-birth": { + "predicate": "persoon:heeftGeboorte", + "target": "dates-of-birth", + "cardinality": "one" + }, + "nationality": { + "predicate": "persoon:heeftNationaliteit", + "target": "nationalities", + "cardinality": "many" + }, + "gender": { + "predicate": "persoon:geslacht", + "target": "gender-codes", + "cardinality": "one" } }, "new-resource-base": "http://data.lblod.info/id/personen/" @@ -302,6 +322,28 @@ "predicate": "org:hasPost", "target": "posts", "cardinality": "many" + }, + "associated-organizations": { + "predicate": "org:linkedTo", + "target": "organizations", + "cardinality": "many" + }, + "sub-organizations": { + "predicate": "org:hasSubOrganization", + "target": "organizations", + "cardinality": "many" + }, + "is-associated-with": { + "predicate": "org:linkedTo", + "target": "organizations", + "cardinality": "one", + "inverse": true + }, + "is-sub-organization-of": { + "predicate": "org:hasSubOrganization", + "target": "organizations", + "cardinality": "one", + "inverse": true } }, "new-resource-base": "http://data.lblod.info/id/organisaties/" @@ -323,7 +365,7 @@ }, "involved-boards": { "predicate": "ere:betrokkenBestuur", - "target": "local-engagements", + "target": "local-involvements", "cardinality": "many" }, "scope": { @@ -363,15 +405,11 @@ "target": "honorary-service-types", "cardinality": "one" }, - "central-service": { - "predicate": "org:linkedTo", - "target": "central-worship-services", - "cardinality": "one" - }, - "representive-body": { - "predicate": "org:linkedTo", - "target": "representative-bodies", - "cardinality": "one" + "involvements": { + "predicate": "org:organization", + "target": "local-involvements", + "cardinality": "many", + "inverse": true } }, "new-resource-base": "http://data.lblod.info/id/besturenVanDeEredienst/" @@ -394,17 +432,6 @@ "predicate": "ere:typeEredienst", "target": "honorary-service-types", "cardinality": "one" - }, - "worship-service": { - "predicate": "org:linkedTo", - "target": "worship-services", - "cardinality": "many", - "inverse": true - }, - "representive-body": { - "predicate": "org:linkedTo", - "target": "representative-bodies", - "cardinality": "one" } }, "new-resource-base": "http://data.lblod.info/id/centraleBesturenVanDeEredienst/" @@ -417,18 +444,6 @@ "predicate": "ere:typeEredienst", "target": "honorary-service-types", "cardinality": "one" - }, - "central-service": { - "predicate": "org:linkedTo", - "target": "central-worship-services", - "cardinality": "many", - "inverse": true - }, - "worship-service": { - "predicate": "org:linkedTo", - "target": "worship-services", - "cardinality": "many", - "inverse": true } }, "new-resource-base": "http://data.lblod.info/id/representatieveOrganen/" @@ -667,6 +682,48 @@ } }, "new-resource-base": "http://lblod.data.gift/concepts/" - } + }, + "minister-roles": { + "class": "ere:RolBedienaar", + "super": ["agents-in-position"], + "relationships": { + "financiering": { + "predicate": "ere:financering", + "target": "financering-codes", + "cardinality": "one" + } + }, + "new-resource-base": "http://data.lblod.info/id/rolsBedienaar/" + }, + "dates-of-birth": { + "class": "persoon:Geboorte", + "attributes": { + "date": { + "type": "datetime", + "predicate": "persoon:datum" + } + }, + "new-resource-base": "http://data.lblod.info/id/geboortes/" + }, + "nationalities": { + "class": "persoon:Nationaliteit", + "attributes": { + "label": { + "type": "string", + "predicate": "skos:prefLabel" + } + }, + "new-resource-base": "http://lblod.data.gift/concepts/" + }, + "gender-codes": { + "class": "ext:GeslachtCode", + "attributes": { + "label": { + "type": "string", + "predicate": "skos:prefLabel" + } + }, + "new-resource-base": "http://data.vlaanderen.be/id/concept/GeslachtCode/" + } } } \ No newline at end of file From 835c72b48492a312c296eb768f855f3e3c29875b Mon Sep 17 00:00:00 2001 From: anitacaron Date: Tue, 29 Jun 2021 10:38:34 +0100 Subject: [PATCH 2/3] add minister criterion --- config/resources/domain.json | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/config/resources/domain.json b/config/resources/domain.json index 5c212d1..cb2ce82 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -691,9 +691,41 @@ "predicate": "ere:financering", "target": "financering-codes", "cardinality": "one" + }, + "conditions": { + "predicate": "ere:voldoetAan", + "target": "minister-conditions", + "cardinality": "many" } }, - "new-resource-base": "http://data.lblod.info/id/rolsBedienaar/" + "new-resource-base": "http://data.lblod.info/id/rollenBedienaar/" + }, + "minister-conditions": { + "class": "ere:VoorwaardenBedienaar", + "attributes": { + "satisfied": { + "type": "boolean", + "predicate": "ere:voldaan" + } + }, + "relationships": { + "criterion": { + "predicate": "ere:criterium", + "target": "minister-conditions-criterions", + "cardinality": "one" + }, + "document-type-criterion": { + "predicate": "ere:criteriumbewijsstuktype", + "target": "document-types-criterions", + "cardinality": "one" + }, + "document": { + "predicate": "ere:bijlage", + "target": "documents", + "cardinality": "one" + } + }, + "new-resource-base": "http://data.lblod.info/id/voorwaardenBedienaar/" }, "dates-of-birth": { "class": "persoon:Geboorte", From e0dad648adcdd78bff867e24a121288bab0ee19a Mon Sep 17 00:00:00 2001 From: anitacaron Date: Tue, 29 Jun 2021 15:38:26 +0100 Subject: [PATCH 3/3] Add legal structure class --- config/resources/domain.json | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/config/resources/domain.json b/config/resources/domain.json index cb2ce82..5250820 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -126,6 +126,7 @@ }, "mandatories": { "class": "mandaat:Mandataris", + "super": ["agents-in-position"], "attributes": { "start-date": { "type": "datetime", @@ -410,6 +411,11 @@ "target": "local-involvements", "cardinality": "many", "inverse": true + }, + "associated-structures": { + "predicate": "ere:heeftVerbondenEntiteit", + "target": "associated-legal-structures", + "cardinality": "many" } }, "new-resource-base": "http://data.lblod.info/id/besturenVanDeEredienst/" @@ -727,6 +733,32 @@ }, "new-resource-base": "http://data.lblod.info/id/voorwaardenBedienaar/" }, + "associated-legal-structures": { + "class": "ere:VerbondenJuridischeStructuren", + "attributes": { + "name": { + "type": "string", + "predicate": "skos:prefLabel" + } + }, + "relationships": { + "registration": { + "predicate": "regorg:registration", + "target": "identifiers", + "cardinality": "one" + }, + "legal-type": { + "predicate": "organisatie:rechtsvorm", + "target": "legal-form-types", + "cardinality": "one" + }, + "address": { + "predicate": "locn:address", + "target": "addresses", + "cardinality": "one" + } + } + }, "dates-of-birth": { "class": "persoon:Geboorte", "attributes": {