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..5250820 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/" @@ -106,6 +126,7 @@ }, "mandatories": { "class": "mandaat:Mandataris", + "super": ["agents-in-position"], "attributes": { "start-date": { "type": "datetime", @@ -302,6 +323,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 +366,7 @@ }, "involved-boards": { "predicate": "ere:betrokkenBestuur", - "target": "local-engagements", + "target": "local-involvements", "cardinality": "many" }, "scope": { @@ -363,15 +406,16 @@ "target": "honorary-service-types", "cardinality": "one" }, - "central-service": { - "predicate": "org:linkedTo", - "target": "central-worship-services", - "cardinality": "one" + "involvements": { + "predicate": "org:organization", + "target": "local-involvements", + "cardinality": "many", + "inverse": true }, - "representive-body": { - "predicate": "org:linkedTo", - "target": "representative-bodies", - "cardinality": "one" + "associated-structures": { + "predicate": "ere:heeftVerbondenEntiteit", + "target": "associated-legal-structures", + "cardinality": "many" } }, "new-resource-base": "http://data.lblod.info/id/besturenVanDeEredienst/" @@ -394,17 +438,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 +450,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 +688,106 @@ } }, "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" + }, + "conditions": { + "predicate": "ere:voldoetAan", + "target": "minister-conditions", + "cardinality": "many" + } + }, + "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/" + }, + "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": { + "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