From 3fb21c15849dc5dbfb6198f20d8f04feedaed93a Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 14:14:57 +0100 Subject: [PATCH 01/27] Update catalogus.yaml voor concepten: - geen verschil meer maken tussen opvragen van lijst of individuele resource, dus geen ConceptKort en Concepten meer gedefinieerd in de schema sectie. Alleen Concept. - schema is 0 * code label bron is 0 * code label - query paramters erbij: klasse eigenschappen --- duo/catalogus.yaml | 70 ++++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 49 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 9dffc47..2d93371 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -16,6 +16,8 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/schema" - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/klasse" + - $ref: "#/components/parameters/eigenschap" responses: 200: $ref: "#/components/responses/Concepten" @@ -222,7 +224,7 @@ components: concepten: type: "array" items: - $ref: "#/components/schemas/Concepten" + $ref: "#/components/schemas/Concept" required: - "concepten" _links: @@ -350,6 +352,16 @@ components: allOf: - $ref: "#/components/schemas/Model" schemas: + CodeLabel: + type: "object" + required: + - "code" + - "label" + properties: + "code": + type: "string" + "label": + "label": "string" ConceptLinks: type: "object" required: @@ -388,64 +400,24 @@ components: format: "uri" description: "URL van de link" example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" - ConceptKort: - type: "object" - properties: - schema: - type: "string" - label: - type: "string" - definitie: - type: "string" - Concepten: - type: "object" - allOf: - - $ref: "#/components/schemas/ConceptKort" - - $ref: "#/components/schemas/ConceptLinks" Concept: type: "object" allOf: - - $ref: "#/components/schemas/ConceptKort" + - $ref: "#/components/schemas/ConceptLinks" - properties: - synoniem: - type: "array" - items: - type: "string" - voorbeeld: + properties: + schema: type: "array" items: - type: "string" - toelichting: + $ref: "#/components/schemas/CodeLabel" + label: + type: "string" + definitie: type: "string" - interneRelatieAlg: - type: "array" - items: - type: "string" - externeRelatieAlg: - type: "array" - items: - type: "string" bron: type: "array" items: - type: "string" - interneHierarchie: - type: "array" - items: - type: "string" - externeHierarchie: - type: "array" - items: - type: "string" - externeEquivalentie: - type: "array" - items: - type: "string" - bijnaEquivalentie: - type: "array" - items: - type: "string" - - $ref: "#/components/schemas/ConceptLinks" + $ref: "#/components/schemas/CodeLabel" KlasseLinks: type: "object" required: From 9fad51933e32dc352a2e2eb4ac1aa4b5031bbc54 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 14:19:37 +0100 Subject: [PATCH 02/27] Update catalogus.yaml fix --- duo/catalogus.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 2d93371..2fe52ae 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -405,7 +405,6 @@ components: allOf: - $ref: "#/components/schemas/ConceptLinks" - properties: - properties: schema: type: "array" items: From 4d5d3e1c76636e45ff769640b3407bbdb160ca70 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 14:35:26 +0100 Subject: [PATCH 03/27] Update catalogus.yaml shape verwijderd uit klasse en eigenschappen --- duo/catalogus.yaml | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 2fe52ae..0e76edc 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -470,10 +470,6 @@ components: type: "string" label: type: "string" - shapes: - type: "array" - items: - $ref: "#/components/schemas/Shape" - $ref: "#/components/schemas/KlasseLinks" EigenschapLinks: type: "object" @@ -519,10 +515,6 @@ components: vervangenDoor: type: "string" nullable: true - shapes: - type: "array" - items: - $ref: "#/components/schemas/Shape" - $ref: "#/components/schemas/EigenschapLinks" ModelLinks: type: "object" @@ -603,22 +595,3 @@ components: type: "string" format: "uri" description: "URL van de link" - Shape: - type: "object" - properties: - naam: - type: "string" - eigenschap: - type: "string" - klasse: - type: "string" - nullable: true - constraints: - type: "array" - items: - type: "object" - properties: - type: - type: "string" - waarde: - type: "string" From 002ea5b8b937c59409041de1233ec36ec3c096bd Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 16:09:58 +0100 Subject: [PATCH 04/27] Update catalogus.yaml --- duo/catalogus.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 0e76edc..c461257 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -308,6 +308,7 @@ components: allOf: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/schemas.yaml#/HalCollectionLinks" Eigenschap: + description: "OK." content: application/hal+json: schema: @@ -345,6 +346,7 @@ components: allOf: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/schemas.yaml#/HalCollectionLinks" Model: + description: "OK." content: application/hal+json: schema: @@ -361,7 +363,7 @@ components: "code": type: "string" "label": - "label": "string" + type: "string" ConceptLinks: type: "object" required: From ba6e683856138aea54226624cb550ee94a22445a Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 16:14:06 +0100 Subject: [PATCH 05/27] Update catalogus.yaml query parameters toegevoegd --- duo/catalogus.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index c461257..05f3ab0 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -200,6 +200,18 @@ components: description: "Filteren op `model`" schema: type: "string" + klasse: + name: "klasse" + in: "query" + description: "Filteren op `klasse`" + schema: + type: "string" + eigenschap: + name: "eigenschap" + in: "query" + description: "Filteren op `eigenschap`" + schema: + type: "string" responses: Concepten: description: "OK." From a20e74a7d1d97e5bc5919cc07714d7e2b04e4b81 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 16:57:40 +0100 Subject: [PATCH 06/27] Update catalogus.yaml type toegevoegd waar nodig, links in de klasse toegevoegd, query parameter "eigenschap" voor klassen resource toegevoegd --- duo/catalogus.yaml | 97 +++++++++++++++++++++++++++------------------- 1 file changed, 57 insertions(+), 40 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 05f3ab0..1ee1645 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -56,6 +56,7 @@ paths: - $ref: "#/components/parameters/concept" - $ref: "#/components/parameters/zoekstring" - $ref: "#/components/parameters/model" + - $ref: "#/components/parameters/eigenschap" responses: 200: $ref: "#/components/responses/Klassen" @@ -274,7 +275,7 @@ components: klassen: type: "array" items: - $ref: "#/components/schemas/Klassen" + $ref: "#/components/schemas/Klasse" required: - "klassen" _links: @@ -366,13 +367,13 @@ components: allOf: - $ref: "#/components/schemas/Model" schemas: - CodeLabel: + UriEnLabel: type: "object" required: - - "code" + - "uri" - "label" properties: - "code": + "uri": type: "string" "label": type: "string" @@ -417,20 +418,21 @@ components: Concept: type: "object" allOf: - - $ref: "#/components/schemas/ConceptLinks" - - properties: - schema: - type: "array" - items: - $ref: "#/components/schemas/CodeLabel" + - type: "object" + properties: label: type: "string" definitie: type: "string" - bron: + bronnen: + type: "array" + items: + $ref: "#/components/schemas/UriEnLabel" + schemas: type: "array" items: - $ref: "#/components/schemas/CodeLabel" + $ref: "#/components/schemas/UriEnLabel" + - $ref: "#/components/schemas/ConceptLinks" KlasseLinks: type: "object" required: @@ -449,41 +451,54 @@ components: type: "string" format: "uri" description: "URL van de link" - KlasseKort: - type: "object" - properties: - concepten: - type: "array" - items: - type: "string" - label: - type: "string" - commentaar: - type: "array" - items: - type: "string" - Klassen: - type: "object" - allOf: - - $ref: "#/components/schemas/KlasseKort" - - $ref: "#/components/schemas/KlasseLinks" + concepten: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar concepten die horen bij deze klasse" + example: ".../concepten?klasse=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + modellen: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar modellen die horen bij deze klasse" + example: ".../modellen?klasse=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + eigenschappen: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar eigenschappen die horen bij deze klasse" + example: ".../eigenschappen?klasse=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" Klasse: type: "object" allOf: - - $ref: "#/components/schemas/KlasseKort" - - properties: + - "type": "object" + properties: + label: + type: "string" + commentaar: + type: "array" + items: + type: "string" vervangenDoor: type: "string" nullable: true enumeratie: type: "array" items: - type: "object" - properties: - code: - type: "string" - label: - type: "string" + $ref: "#/components/schemas/UriEnLabel" - $ref: "#/components/schemas/KlasseLinks" EigenschapLinks: type: "object" @@ -525,7 +540,8 @@ components: type: "object" allOf: - $ref: "#/components/schemas/EigenschapKort" - - properties: + - type: "object" + properties: vervangenDoor: type: "string" nullable: true @@ -569,7 +585,8 @@ components: type: "object" allOf: - $ref: "#/components/schemas/ModelKort" - - required: + - type: "object" + required: - "_links" properties: imports: From d1e536f341664d177cbfd0dcf1b53a504a43b145 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 24 Jan 2019 17:26:26 +0100 Subject: [PATCH 07/27] Update catalogus.yaml eigenschappen onder handen genomen --- duo/catalogus.yaml | 71 +++++++++++++++++++++++++++++++++------------- 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 1ee1645..4bb7b77 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -93,6 +93,7 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/concept" + - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/zoekstring" - $ref: "#/components/parameters/model" responses: @@ -132,6 +133,7 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/datumVanaf" - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/eigenschap" responses: 200: $ref: "#/components/responses/Modellen" @@ -313,7 +315,7 @@ components: eigenschappen: type: "array" items: - $ref: "#/components/schemas/Eigenschappen" + $ref: "#/components/schemas/Eigenschap" required: - "eigenschappen" _links: @@ -384,6 +386,8 @@ components: properties: _links: type: "object" + required: + - "self" properties: self: type: "object" @@ -419,6 +423,8 @@ components: type: "object" allOf: - type: "object" + required: + - "definitie" properties: label: type: "string" @@ -440,6 +446,8 @@ components: properties: _links: type: "object" + "required": + - "self" properties: self: type: "object" @@ -518,33 +526,56 @@ components: type: "string" format: "uri" description: "URL van de link" - EigenschapKort: - type: "object" - properties: - concepten: - type: "array" - items: - type: "string" - label: - type: "array" - items: - type: "string" - commentaar: - type: "string" - Eigenschappen: - type: "object" - allOf: - - $ref: "#/components/schemas/EigenschapKort" - - $ref: "#/components/schemas/EigenschapLinks" + concepten: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar concepten die horen bij deze eigenschap" + example: ".../concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + klassen: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar klassen die horen bij deze eigenschap" + example: ".../klassen?eigenschap=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + modellen: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar modellen die horen bij deze eigenschap" + example: ".../modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" Eigenschap: type: "object" allOf: - - $ref: "#/components/schemas/EigenschapKort" - type: "object" properties: vervangenDoor: type: "string" nullable: true + label: + type: "array" + items: + type: "string" + commentaar: + type: "string" + pattern: + type: "string" + minLength: + type: "integer" + maxLength: + type: "integer" - $ref: "#/components/schemas/EigenschapLinks" ModelLinks: type: "object" From cd680b7289fb4da2225a9fbde3d7b699a33f342f Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 10:12:19 +0100 Subject: [PATCH 08/27] Update catalogus.yaml modell aangepast --- duo/catalogus.yaml | 88 +++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 55 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 4bb7b77..e612fe3 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -133,6 +133,7 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/datumVanaf" - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/eigenschap" responses: 200: @@ -353,7 +354,7 @@ components: modellen: type: "array" items: - $ref: "#/components/schemas/Modellen" + $ref: "#/components/schemas/Model" required: - "modellen" _links: @@ -576,6 +577,10 @@ components: type: "integer" maxLength: type: "integer" + minInclusive: + type: "integer" + maxInclusive: + type: "integer" - $ref: "#/components/schemas/EigenschapLinks" ModelLinks: type: "object" @@ -595,65 +600,38 @@ components: type: "string" format: "uri" description: "URL van de link" - ModelKort: - type: "object" - properties: - datumVanaf: - type: "string" - format: "date" - label: - type: "string" - versieInfo: - type: "array" - items: - type: "string" - Modellen: - type: "object" - allOf: - - $ref: "#/components/schemas/ModelKort" - - $ref: "#/components/schemas/ModelLinks" + klassen: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar klassen die horen bij deze eigenschap" + example: ".../klassen?model=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + eigenschappen: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "uri" + description: "Link naar modellen die horen bij deze eigenschap" + example: ".../eigenschappen?model=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" Model: type: "object" allOf: - - $ref: "#/components/schemas/ModelKort" - type: "object" - required: - - "_links" properties: - imports: + datumVanaf: + type: "string" + format: "date" + label: + type: "string" + versieInfo: type: "array" items: type: "string" - _links: - type: "object" - properties: - self: - type: "object" - description: "Absolute link naar de resource" - required: - - "href" - properties: - href: - type: "string" - format: "uri" - description: "URL van de link" - klassen: - type: "object" - description: "Absolute link naar de resource" - required: - - "href" - properties: - href: - type: "string" - format: "uri" - description: "URL van de link" - eigenschappen: - type: "object" - description: "Absolute link naar de resource" - required: - - "href" - properties: - href: - type: "string" - format: "uri" - description: "URL van de link" + - $ref: "#/components/schemas/ModelLinks" From 01079a8c87dcb5c5adbbc95eb34930b1bd990a07 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 10:59:18 +0100 Subject: [PATCH 09/27] Update catalogus.yaml kardinaliteiten juist gezet --- duo/catalogus.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index e612fe3..fbc16d0 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -449,6 +449,7 @@ components: type: "object" "required": - "self" + - "modellen" properties: self: type: "object" @@ -493,7 +494,7 @@ components: Klasse: type: "object" allOf: - - "type": "object" + - type: "object" properties: label: type: "string" @@ -561,6 +562,8 @@ components: type: "object" allOf: - type: "object" + required: + - "datatype" properties: vervangenDoor: type: "string" @@ -571,6 +574,10 @@ components: type: "string" commentaar: type: "string" + items: + type: "string" + datatype: + type: "string" pattern: type: "string" minLength: @@ -624,6 +631,8 @@ components: type: "object" allOf: - type: "object" + required: + - "datumVanaf" properties: datumVanaf: type: "string" From 514d96f2110f5434bf6898cbffa959ff7b2665a4 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 11:41:10 +0100 Subject: [PATCH 10/27] Update catalogus.yaml kunnen sorteren toegevoegd --- duo/catalogus.yaml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index fbc16d0..354000a 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -14,6 +14,7 @@ paths: parameters: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" + - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/schema" - $ref: "#/components/parameters/zoekstring" - $ref: "#/components/parameters/klasse" @@ -53,6 +54,7 @@ paths: parameters: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" + - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/concept" - $ref: "#/components/parameters/zoekstring" - $ref: "#/components/parameters/model" @@ -92,6 +94,7 @@ paths: parameters: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" + - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/concept" - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/zoekstring" @@ -131,6 +134,7 @@ paths: parameters: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" + - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/datumVanaf" - $ref: "#/components/parameters/zoekstring" - $ref: "#/components/parameters/klasse" @@ -167,53 +171,68 @@ paths: summary: "Model resource" components: parameters: + sort: + name: "sort" + in: "query" + description: "Specificeert op welk atribuut gesorteert moet worden. Indien waarde eindigt op '.DESC', wordt er aflopend gesorteerd" + required: false + schema: + type: "string" + pattern: '^\w*\.(ASC|DESC)$' subject: name: "subject" in: "query" description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" - required: true + required: false schema: type: "string" schema: name: "schema" in: "query" description: "Filteren op `schema`" + required: false schema: type: "string" zoekstring: name: "zoekstring" in: "query" description: "Filteren op `zoekstring`" + required: false schema: type: "string" concept: name: "concept" in: "query" description: "Filteren op `concept`" + required: false schema: type: "string" datumVanaf: name: "datumVanaf" in: "query" description: "Filteren op `datumVanaf`" + required: false schema: type: "string" model: name: "model" in: "query" description: "Filteren op `model`" + required: false schema: type: "string" klasse: name: "klasse" in: "query" description: "Filteren op `klasse`" + required: false schema: type: "string" eigenschap: name: "eigenschap" in: "query" description: "Filteren op `eigenschap`" + required: false schema: type: "string" responses: From b33f5f34c123d6bb5a60e71f9f859e8a49f10966 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 13:59:28 +0100 Subject: [PATCH 11/27] Update catalogus.yaml voorbeelden toegevoegd voor concepten + description toegevoegd/aangepast --- duo/catalogus.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 354000a..3e15b4f 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -174,7 +174,7 @@ components: sort: name: "sort" in: "query" - description: "Specificeert op welk atribuut gesorteert moet worden. Indien waarde eindigt op '.DESC', wordt er aflopend gesorteerd" + description: "Specificeert op welk atribuut gesorteert moet worden. Indien er na de naam van het attribut, de string '.DESC' wordt meegegeven, wordt er aflopend gesorteerd" required: false schema: type: "string" @@ -205,6 +205,7 @@ components: in: "query" description: "Filteren op `concept`" required: false + example: "http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" schema: type: "string" datumVanaf: @@ -418,7 +419,8 @@ components: href: type: "string" format: "uri" - description: "URL van de link" + example: ".../concept?subject=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + description: "URL van dit betreffende concept" klassen: type: "object" required: @@ -427,8 +429,8 @@ components: href: type: "string" format: "uri" - description: "URL van de link" - example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "Klassen die horen bij dit concept" + example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" eigenschappen: type: "object" required: @@ -437,8 +439,8 @@ components: href: type: "string" format: "uri" - description: "URL van de link" - example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "Eigenschappen die horen bij dit concept" + example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" Concept: type: "object" allOf: @@ -448,12 +450,15 @@ components: properties: label: type: "string" + example: "Collegegeld" definitie: type: "string" + example: "Is het bedrag dat een student moet betalen om colleges aan een universiteit of hogeschool te mogen bijwonen." bronnen: type: "array" items: - $ref: "#/components/schemas/UriEnLabel" + type: "string" + example: "http://wetten.overheid.nl/BWBR0018259/2017-01-01/#Paragraaf2_Artikel9" schemas: type: "array" items: From 6598d59d5a092a04952df23a1b7f461c10ca0460 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 14:28:07 +0100 Subject: [PATCH 12/27] Update catalogus.yaml voorbeelden toegevoegd voor klasse --- duo/catalogus.yaml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 3e15b4f..7723023 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -227,6 +227,7 @@ components: in: "query" description: "Filteren op `klasse`" required: false + example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres" schema: type: "string" eigenschap: @@ -429,7 +430,7 @@ components: href: type: "string" format: "uri" - description: "Klassen die horen bij dit concept" + description: "Link naar klassen die horen bij dit concept" example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" eigenschappen: type: "object" @@ -439,7 +440,7 @@ components: href: type: "string" format: "uri" - description: "Eigenschappen die horen bij dit concept" + description: "Link naar eigenschappen die horen bij dit concept" example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" Concept: type: "object" @@ -484,7 +485,8 @@ components: href: type: "string" format: "uri" - description: "URL van de link" + description: "URL van deze Klasse" + example: ".../klasse=subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" concepten: type: "object" required: @@ -494,7 +496,7 @@ components: type: "string" format: "uri" description: "Link naar concepten die horen bij deze klasse" - example: ".../concepten?klasse=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" modellen: type: "object" required: @@ -504,7 +506,7 @@ components: type: "string" format: "uri" description: "Link naar modellen die horen bij deze klasse" - example: ".../modellen?klasse=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" eigenschappen: type: "object" required: @@ -514,7 +516,7 @@ components: type: "string" format: "uri" description: "Link naar eigenschappen die horen bij deze klasse" - example: ".../eigenschappen?klasse=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" Klasse: type: "object" allOf: @@ -522,15 +524,20 @@ components: properties: label: type: "string" + example: "Postadres" commentaar: type: "array" items: type: "string" + example: "Een adres waarop de post kan worden bezorgd" vervangenDoor: type: "string" + example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres-v02" nullable: true enumeratie: type: "array" + nullable: true + description: "Indien klasse een enumeratie is, is deze lijst gevuld met de uris van de waardes die voor mogen komen" items: $ref: "#/components/schemas/UriEnLabel" - $ref: "#/components/schemas/KlasseLinks" From a4acb80299c60ebe1fde7bfcaf2f075bf9d1a5a3 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 16:26:35 +0100 Subject: [PATCH 13/27] Update catalogus.yaml descriptions en examples toegevoegd/aangepast --- duo/catalogus.yaml | 62 ++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 24 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 7723023..07a1ef6 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -413,7 +413,6 @@ components: properties: self: type: "object" - description: "Absolute link naar de resource" required: - "href" properties: @@ -421,7 +420,7 @@ components: type: "string" format: "uri" example: ".../concept?subject=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" - description: "URL van dit betreffende concept" + description: "API URL van dit betreffende concept" klassen: type: "object" required: @@ -430,7 +429,7 @@ components: href: type: "string" format: "uri" - description: "Link naar klassen die horen bij dit concept" + description: "API URL van klassen die horen bij dit concept" example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" eigenschappen: type: "object" @@ -440,7 +439,7 @@ components: href: type: "string" format: "uri" - description: "Link naar eigenschappen die horen bij dit concept" + description: "API URL van eigenschappen die horen bij dit concept" example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" Concept: type: "object" @@ -478,15 +477,14 @@ components: properties: self: type: "object" - description: "Absolute link naar de resource" required: - "href" properties: href: type: "string" format: "uri" - description: "URL van deze Klasse" - example: ".../klasse=subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + description: "API URL van deze betreffende klasse" + example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" concepten: type: "object" required: @@ -495,7 +493,7 @@ components: href: type: "string" format: "uri" - description: "Link naar concepten die horen bij deze klasse" + description: "API URL van concepten die horen bij deze klasse" example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" modellen: type: "object" @@ -505,7 +503,7 @@ components: href: type: "string" format: "uri" - description: "Link naar modellen die horen bij deze klasse" + description: "API URL van modellen die horen bij deze klasse" example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" eigenschappen: type: "object" @@ -515,7 +513,7 @@ components: href: type: "string" format: "uri" - description: "Link naar eigenschappen die horen bij deze klasse" + description: "API URL van eigenschappen die horen bij deze klasse" example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" Klasse: type: "object" @@ -551,14 +549,14 @@ components: properties: self: type: "object" - description: "Absolute link naar de resource" required: - "href" properties: href: type: "string" format: "uri" - description: "URL van de link" + description: "API URL van dit betreffende eigenschap" + example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" concepten: type: "object" required: @@ -567,8 +565,8 @@ components: href: type: "string" format: "uri" - description: "Link naar concepten die horen bij deze eigenschap" - example: ".../concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "API URL van concepten die horen bij deze eigenschap" + example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" klassen: type: "object" required: @@ -577,8 +575,8 @@ components: href: type: "string" format: "uri" - description: "Link naar klassen die horen bij deze eigenschap" - example: ".../klassen?eigenschap=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "API URL van klassen die horen bij deze eigenschap" + example: ".../klassen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" modellen: type: "object" required: @@ -587,8 +585,8 @@ components: href: type: "string" format: "uri" - description: "Link naar modellen die horen bij deze eigenschap" - example: ".../modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "API URL van modellen die horen bij deze eigenschap" + example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" Eigenschap: type: "object" allOf: @@ -607,18 +605,31 @@ components: type: "string" items: type: "string" + example: "De door de Post NL vastgestelde code behorend bij de straatnaam en het huisnummer dan wel de door Post NL vastgestelde code behorende bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." datatype: type: "string" + description: "http://www.w3.org/ns/shacl#datatype" + example: "string" pattern: type: "string" + description: "http://www.w3.org/ns/shacl#pattern" + example: "([1-9]{1}[0-9]{3}[A-Z]{2})" minLength: type: "integer" + description: "http://www.w3.org/ns/shacl#minLength" + example: 6 maxLength: type: "integer" + description: "http://www.w3.org/ns/shacl#maxLength" + example: 6 minInclusive: type: "integer" + description: "http://www.w3.org/ns/shacl#minInclusive" + example: 6 maxInclusive: type: "integer" + description: "http://www.w3.org/ns/shacl#maxInclusive" + example: 6 - $ref: "#/components/schemas/EigenschapLinks" ModelLinks: type: "object" @@ -630,14 +641,14 @@ components: properties: self: type: "object" - description: "Absolute link naar de resource" required: - "href" properties: href: type: "string" format: "uri" - description: "URL van de link" + description: "API URL van dit betreffende model" + example: ".../model?subject=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" klassen: type: "object" required: @@ -646,8 +657,8 @@ components: href: type: "string" format: "uri" - description: "Link naar klassen die horen bij deze eigenschap" - example: ".../klassen?model=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "API URL van klassen die horen bij deze eigenschap" + example: ".../klassen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" eigenschappen: type: "object" required: @@ -656,8 +667,8 @@ components: href: type: "string" format: "uri" - description: "Link naar modellen die horen bij deze eigenschap" - example: ".../eigenschappen?model=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + description: "API URL van modellen die horen bij deze eigenschap" + example: ".../eigenschappen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" Model: type: "object" allOf: @@ -668,10 +679,13 @@ components: datumVanaf: type: "string" format: "date" + example: "2019-01-24" label: type: "string" + example: "Canoniek Datamodel DUO" versieInfo: type: "array" items: type: "string" + example: "Aangemaakt op 2019-01-24 09:11:24 op basis van commit 3715." - $ref: "#/components/schemas/ModelLinks" From 10a49ac0db52c5780f81231ba73fecf506b187d0 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 16:59:53 +0100 Subject: [PATCH 14/27] Update catalogus.yaml format van uri gewijzigd naar url, daar waar de link een api call betreft. In de _links.self is nu ook een attribuut "uri" opgenomen met daarin de uri van het object --- duo/catalogus.yaml | 60 ++++++++++++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 07a1ef6..c89b020 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -415,12 +415,18 @@ components: type: "object" required: - "href" + - "uri" properties: href: type: "string" - format: "uri" + format: "url" example: ".../concept?subject=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" description: "API URL van dit betreffende concept" + uri: + type: "string" + format: "uri" + example: "http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + description: "URI van dit betreffende concept" klassen: type: "object" required: @@ -428,7 +434,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van klassen die horen bij dit concept" example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" eigenschappen: @@ -438,7 +444,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van eigenschappen die horen bij dit concept" example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" Concept: @@ -482,9 +488,14 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van deze betreffende klasse" example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + uri: + type: "string" + format: "uri" + example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + description: "URI van deze betreffende klasse" concepten: type: "object" required: @@ -492,7 +503,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van concepten die horen bij deze klasse" example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" modellen: @@ -502,7 +513,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van modellen die horen bij deze klasse" example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" eigenschappen: @@ -512,7 +523,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van eigenschappen die horen bij deze klasse" example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" Klasse: @@ -554,9 +565,14 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van dit betreffende eigenschap" example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + uri: + type: "string" + format: "uri" + example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + description: "URI van deze betreffende eigenschap" concepten: type: "object" required: @@ -564,7 +580,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van concepten die horen bij deze eigenschap" example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" klassen: @@ -574,7 +590,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van klassen die horen bij deze eigenschap" example: ".../klassen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" modellen: @@ -584,7 +600,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van modellen die horen bij deze eigenschap" example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" Eigenschap: @@ -595,14 +611,13 @@ components: - "datatype" properties: vervangenDoor: - type: "string" - nullable: true + $ref: "#/components/schemas/UriEnLabel" label: - type: "array" - items: - type: "string" - commentaar: type: "string" + example: "postcode" + description: "https://www.w3.org/2000/01/rdf-schema#label" + commentaar: + type: "array" items: type: "string" example: "De door de Post NL vastgestelde code behorend bij de straatnaam en het huisnummer dan wel de door Post NL vastgestelde code behorende bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." @@ -646,9 +661,14 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van dit betreffende model" example: ".../model?subject=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" + uri: + type: "string" + format: "uri" + example: "http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" + description: "URI van dit betreffende model" klassen: type: "object" required: @@ -656,7 +676,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van klassen die horen bij deze eigenschap" example: ".../klassen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" eigenschappen: @@ -666,7 +686,7 @@ components: properties: href: type: "string" - format: "uri" + format: "url" description: "API URL van modellen die horen bij deze eigenschap" example: ".../eigenschappen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" Model: From 12a0b71ca8483ae62d7dfc05d3bf41a72ec1ba03 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 17:24:47 +0100 Subject: [PATCH 15/27] Update catalogus.yaml voorbeelden toegevoegd bij parameters. 'zoekstring' hernoemt naar filter --- duo/catalogus.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index c89b020..882a3e6 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -16,7 +16,7 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/schema" - - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/filter" - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/eigenschap" responses: @@ -56,7 +56,7 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/concept" - - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/filter" - $ref: "#/components/parameters/model" - $ref: "#/components/parameters/eigenschap" responses: @@ -97,7 +97,7 @@ paths: - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/concept" - $ref: "#/components/parameters/klasse" - - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/filter" - $ref: "#/components/parameters/model" responses: 200: @@ -136,7 +136,7 @@ paths: - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - $ref: "#/components/parameters/sort" - $ref: "#/components/parameters/datumVanaf" - - $ref: "#/components/parameters/zoekstring" + - $ref: "#/components/parameters/filter" - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/eigenschap" responses: @@ -176,6 +176,7 @@ components: in: "query" description: "Specificeert op welk atribuut gesorteert moet worden. Indien er na de naam van het attribut, de string '.DESC' wordt meegegeven, wordt er aflopend gesorteerd" required: false + example: "label.ASC" schema: type: "string" pattern: '^\w*\.(ASC|DESC)$' @@ -190,13 +191,14 @@ components: name: "schema" in: "query" description: "Filteren op `schema`" + example: "https://lod.onderwijsregistraties.nl/scheme/Onderwijswettelijk" required: false schema: type: "string" - zoekstring: - name: "zoekstring" + filter: + name: "filter" in: "query" - description: "Filteren op `zoekstring`" + description: "Filteren op `labels` van de resource" required: false schema: type: "string" @@ -215,11 +217,13 @@ components: required: false schema: type: "string" + format: "date" model: name: "model" in: "query" description: "Filteren op `model`" required: false + example: "http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" schema: type: "string" klasse: @@ -235,6 +239,7 @@ components: in: "query" description: "Filteren op `eigenschap`" required: false + example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" schema: type: "string" responses: From c08de5569124e5c81fc2daeb1aa35359087aa340 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 25 Jan 2019 17:45:47 +0100 Subject: [PATCH 16/27] Update catalogus.yaml voorbeelden in UriEnLabel toegevoegd --- duo/catalogus.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 882a3e6..8f3275c 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -404,8 +404,10 @@ components: properties: "uri": type: "string" + example: "http://lod.voorbeelduri.org" "label": type: "string" + example: "VoorbeeldLabel" ConceptLinks: type: "object" required: From 0fbf1268886e5897e9fdd1ce819d3c0158e5a923 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 1 Mar 2019 13:07:42 +0100 Subject: [PATCH 17/27] KlasseVan en KlasseNaar links gelegd in eigenschappen. --- duo/catalogus.yaml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 8f3275c..98e2fe2 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -198,7 +198,7 @@ components: filter: name: "filter" in: "query" - description: "Filteren op `labels` van de resource" + description: "Hoofdletter ongevoelig filteren op `labels` van de resource" required: false schema: type: "string" @@ -542,10 +542,8 @@ components: type: "string" example: "Postadres" commentaar: - type: "array" - items: - type: "string" - example: "Een adres waarop de post kan worden bezorgd" + type: "string" + example: "Een adres waarop de post kan worden bezorgd" vervangenDoor: type: "string" example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres-v02" @@ -590,7 +588,7 @@ components: format: "url" description: "API URL van concepten die horen bij deze eigenschap" example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" - klassen: + klasseVan: type: "object" required: - "href" @@ -598,8 +596,18 @@ components: href: type: "string" format: "url" - description: "API URL van klassen die horen bij deze eigenschap" - example: ".../klassen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + description: "API URL van de klasse die deze eigenschap heeft" + example: ".../klasse?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + klasseNaar: + type: "object" + required: + - "href" + properties: + href: + type: "string" + format: "url" + description: "In het geval dat deze eigenschap de relatie van een Klasse (A) met een andere Klasse (B) beschrijft, dan is dit de API URL naar de Klasse (B)" + example: ".../klasse?subject=..." modellen: type: "object" required: From c6917b664b3cfe5bc44e8e5fc854d55332604cf0 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 1 Mar 2019 13:17:34 +0100 Subject: [PATCH 18/27] voorbeelden aangepast, cat in de url. --- duo/catalogus.yaml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 98e2fe2..3d60338 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -231,7 +231,7 @@ components: in: "query" description: "Filteren op `klasse`" required: false - example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" schema: type: "string" eigenschap: @@ -239,7 +239,7 @@ components: in: "query" description: "Filteren op `eigenschap`" required: false - example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" schema: type: "string" responses: @@ -497,11 +497,11 @@ components: type: "string" format: "url" description: "API URL van deze betreffende klasse" - example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" uri: type: "string" format: "uri" - example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" description: "URI van deze betreffende klasse" concepten: type: "object" @@ -512,7 +512,7 @@ components: type: "string" format: "url" description: "API URL van concepten die horen bij deze klasse" - example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" modellen: type: "object" required: @@ -522,7 +522,7 @@ components: type: "string" format: "url" description: "API URL van modellen die horen bij deze klasse" - example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" eigenschappen: type: "object" required: @@ -532,7 +532,7 @@ components: type: "string" format: "url" description: "API URL van eigenschappen die horen bij deze klasse" - example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" Klasse: type: "object" allOf: @@ -546,7 +546,7 @@ components: example: "Een adres waarop de post kan worden bezorgd" vervangenDoor: type: "string" - example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres-v02" + example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres-v02" nullable: true enumeratie: type: "array" @@ -572,11 +572,11 @@ components: type: "string" format: "url" description: "API URL van dit betreffende eigenschap" - example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" uri: type: "string" format: "uri" - example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" description: "URI van deze betreffende eigenschap" concepten: type: "object" @@ -587,7 +587,7 @@ components: type: "string" format: "url" description: "API URL van concepten die horen bij deze eigenschap" - example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" klasseVan: type: "object" required: @@ -597,7 +597,7 @@ components: type: "string" format: "url" description: "API URL van de klasse die deze eigenschap heeft" - example: ".../klasse?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cat/cdm/def/Adres" klasseNaar: type: "object" required: @@ -617,7 +617,7 @@ components: type: "string" format: "url" description: "API URL van modellen die horen bij deze eigenschap" - example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" Eigenschap: type: "object" allOf: From a881cf4281ce7f19aad13ad8eb1498082b16a8f7 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 1 Mar 2019 13:44:34 +0100 Subject: [PATCH 19/27] type van commentaar in Eigenschap aangepast naar string --- duo/catalogus.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 3d60338..0f99703 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -632,10 +632,8 @@ components: example: "postcode" description: "https://www.w3.org/2000/01/rdf-schema#label" commentaar: - type: "array" - items: - type: "string" - example: "De door de Post NL vastgestelde code behorend bij de straatnaam en het huisnummer dan wel de door Post NL vastgestelde code behorende bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." + type: "string" + example: "De door de Post NL vastgestelde code behorend bij de straatnaam en het huisnummer dan wel de door Post NL vastgestelde code behorende bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." datatype: type: "string" description: "http://www.w3.org/ns/shacl#datatype" From 8b31942b65ea766fea85fa762caa11dfc35bcff3 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 4 Apr 2019 13:32:25 +0200 Subject: [PATCH 20/27] resolve merge conflicts --- duo/catalogus.yaml | 1144 +++++++++++++++++++++++++++----------------- 1 file changed, 696 insertions(+), 448 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 0f99703..cd8cdad 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -1,76 +1,98 @@ +--- openapi: "3.0.0" info: contact: - name: "Kadaster" email: "dimitri.vanhees@kadaster.nl" + name: "Kadaster" url: "https://www.kadaster.nl" - version: "0.0.1" title: "DUO Catalogus API" + version: "0.0.1" servers: -- url: "https://.../api/v0" +- url: "https://lod.onderwijsregistratie.nl/api/catalogus/v1" paths: + /concept: + get: + parameters: + - $ref: "#/components/parameters/subject" + responses: + 200: + $ref: "#/components/responses/Concept" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Concept resource" /concepten: get: parameters: - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - - $ref: "#/components/parameters/sort" + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" - $ref: "#/components/parameters/schema" - - $ref: "#/components/parameters/filter" - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortPropertyConcept" + - $ref: "#/components/parameters/sortDirection" responses: 200: $ref: "#/components/responses/Concepten" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" + $ref: "#/components/responses/503" summary: "Concepten collectie" - /concept: + /eigenschap: get: parameters: - $ref: "#/components/parameters/subject" responses: 200: - $ref: "#/components/responses/Concept" + $ref: "#/components/responses/Eigenschap" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 404: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/404" + $ref: "#/components/responses/404" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" - summary: "Concept resource" - /klassen: + $ref: "#/components/responses/503" + summary: "Eigenschap resource" + /eigenschappen: get: parameters: - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - - $ref: "#/components/parameters/sort" + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" - $ref: "#/components/parameters/concept" - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/model" - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/klasse" + - $ref: "#/components/parameters/model" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortProperty" + - $ref: "#/components/parameters/sortDirection" responses: 200: - $ref: "#/components/responses/Klassen" + $ref: "#/components/responses/Eigenschappen" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" - summary: "Klassen collectie" + $ref: "#/components/responses/503" + summary: "Eigenschappen collectie" /klasse: get: parameters: @@ -79,646 +101,872 @@ paths: 200: $ref: "#/components/responses/Klasse" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 404: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/404" + $ref: "#/components/responses/404" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" + $ref: "#/components/responses/503" summary: "Klasse resource" - /eigenschappen: + /klassen: get: parameters: - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - - $ref: "#/components/parameters/sort" + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" - $ref: "#/components/parameters/concept" - - $ref: "#/components/parameters/klasse" - - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/eigenschap" - $ref: "#/components/parameters/model" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortProperty" + - $ref: "#/components/parameters/sortDirection" responses: 200: - $ref: "#/components/responses/Eigenschappen" + $ref: "#/components/responses/Klassen" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" - summary: "Eigenschappen collectie" - /eigenschap: + $ref: "#/components/responses/503" + summary: "Klassen collectie" + /model: get: parameters: - $ref: "#/components/parameters/subject" responses: 200: - $ref: "#/components/responses/Eigenschap" + $ref: "#/components/responses/Model" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 404: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/404" + $ref: "#/components/responses/404" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" - summary: "Eigenschap resource" + $ref: "#/components/responses/503" + summary: "Model resource" /modellen: get: parameters: - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/page" - - $ref: "https://rawgit.com/PDOK/open-api-specs/master/shared/parameters.yaml#/pageSize" - - $ref: "#/components/parameters/sort" + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" - $ref: "#/components/parameters/datumVanaf" - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/klasse" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortProperty" + - $ref: "#/components/parameters/sortDirection" responses: 200: $ref: "#/components/responses/Modellen" 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" + $ref: "#/components/responses/401" 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" + $ref: "#/components/responses/403" 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" + $ref: "#/components/responses/406" 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" + $ref: "#/components/responses/503" summary: "Modellen collectie" - /model: - get: - parameters: - - $ref: "#/components/parameters/subject" - responses: - 200: - $ref: "#/components/responses/Model" - 401: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/401" - 403: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/403" - 404: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/404" - 406: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/406" - 503: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/responses.yaml#/503" - summary: "Model resource" components: + headers: + Retry-After: + description: "Tijdstip waarop verwacht is dat de service weer beschikbaar zal\ + \ zijn." + schema: + format: "date-time" + type: "string" + x-example: "Sun, 28 Nov 2017 16:41:41 GMT" + X-Pagination-Limit: + description: "Aantal Objecten per pagina" + schema: + format: "int32" + type: "integer" + X-Pagination-Page: + description: "Nummer van de huidige pagina (paginanummering start bij 1)" + schema: + format: "int32" + type: "integer" + X-Request-ID: + description: "ID van het request" + schema: + type: "string" + X-Total-Count: + description: "Totaal aantal resultaten (max 15.000)" + schema: + format: "int32" + type: "integer" parameters: - sort: - name: "sort" + concept: + description: "Filteren op `concept`" in: "query" - description: "Specificeert op welk atribuut gesorteert moet worden. Indien er na de naam van het attribut, de string '.DESC' wordt meegegeven, wordt er aflopend gesorteerd" - required: false - example: "label.ASC" + name: "concept" schema: type: "string" - pattern: '^\w*\.(ASC|DESC)$' - subject: - name: "subject" + datumVanaf: + description: "Filteren op `datumVanaf`" in: "query" - description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" - required: false + name: "datumVanaf" schema: type: "string" - schema: - name: "schema" + eigenschap: + description: "Filteren op `eigenschap`" + example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" in: "query" - description: "Filteren op `schema`" - example: "https://lod.onderwijsregistraties.nl/scheme/Onderwijswettelijk" - required: false + name: "eigenschap" schema: type: "string" filter: + description: "Hoofdletter ongevoelig filteren op `labels` van de resource" + in: "query" name: "filter" + schema: + type: "string" + klasse: + description: "Filteren op `klasse`" + example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres" in: "query" - description: "Hoofdletter ongevoelig filteren op `labels` van de resource" - required: false + name: "klasse" schema: type: "string" - concept: - name: "concept" + model: + description: "Filteren op `model`" in: "query" - description: "Filteren op `concept`" - required: false - example: "http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + name: "model" schema: type: "string" - datumVanaf: - name: "datumVanaf" + page: + description: "Paginanummer voor paginering. Gebruik het `_links.next.href` object\ + \ om te navigeren." in: "query" - description: "Filteren op `datumVanaf`" + name: "page" required: false schema: - type: "string" - format: "date" - model: - name: "model" + default: 1 + format: "int32" + minimum: 1 + type: "integer" + pageSize: in: "query" - description: "Filteren op `model`" + name: "pageSize" required: false - example: "http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" + schema: + default: 20 + enum: + - 10 + - 20 + - 50 + - 100 + format: "int32" + type: "integer" + schema: + description: "Filteren op `schema`" + in: "query" + name: "schema" schema: type: "string" - klasse: - name: "klasse" + sortDirection: + description: "Specificeert de richting van de sortering." + example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" in: "query" - description: "Filteren op `klasse`" - required: false - example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" + name: "sortDirection" schema: + default: "asc" + enum: + - "asc" + - "desc" type: "string" - eigenschap: - name: "eigenschap" + sortProperty: + description: "Specificeert op welk atribuut gesorteerd moet worden." + example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" in: "query" - description: "Filteren op `eigenschap`" - required: false - example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" + name: "sortProperty" + schema: + enum: + - "label" + type: "string" + sortPropertyConcept: + description: "Specificeert op welk atribuut gesorteerd moet worden." + example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + in: "query" + name: "sortProperty" + schema: + enum: + - "label" + - "altLabel" + type: "string" + subject: + description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" + in: "query" + name: "subject" + required: true schema: type: "string" responses: - Concepten: - description: "OK." + 401: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Unauthorized. Je hebt waarschijnlijk geen geldige `X-Api-Key`\ + \ header meegestuurd." headers: - X-Pagination-Page: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationPage" - X-Pagination-Limit: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationLimit" - X-Total-Count: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xTotalCount" + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 403: content: application/hal+json: schema: - required: - - "_embedded" - - "_links" + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Forbidden. Je hebt geen rechten om deze URL te benaderen." + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 404: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Not found" + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 406: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Not Acceptable. Je hebt waarschijnlijk een gewenst formaat met\ + \ de `Accept` header verstuurd welke niet ondersteund wordt. De API kan momenteel\ + \ alleen `application/hal+json` terugsturen." + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 503: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Service Unavailable. Er vindt mogelijk (gepland) onderhoud of\ + \ een storing plaats." + headers: + Retry-After: + $ref: "#/components/headers/Retry-After" + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + Concept: + content: + application/hal+json: + schema: + allOf: + - $ref: "#/components/schemas/Concept" type: "object" + description: "OK." + Concepten: + content: + application/hal+json: + schema: properties: _embedded: - type: "object" properties: concepten: - type: "array" items: $ref: "#/components/schemas/Concept" + type: "array" required: - "concepten" + type: "object" _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" type: "object" - allOf: - - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/schemas.yaml#/HalCollectionLinks" - Concept: - description: "OK." - content: - application/hal+json: - schema: + required: + - "_embedded" + - "_links" type: "object" - allOf: - - $ref: "#/components/schemas/Concept" - Klassen: description: "OK." headers: - X-Pagination-Page: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationPage" X-Pagination-Limit: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationLimit" + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" X-Total-Count: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xTotalCount" + $ref: "#/components/headers/X-Total-Count" + Eigenschap: content: application/hal+json: schema: - required: - - "_embedded" - - "_links" + allOf: + - $ref: "#/components/schemas/Eigenschap" type: "object" + Eigenschappen: + content: + application/hal+json: + schema: properties: _embedded: - type: "object" properties: - klassen: - type: "array" + eigenschappen: items: - $ref: "#/components/schemas/Klasse" + $ref: "#/components/schemas/Eigenschap" + type: "array" required: - - "klassen" + - "eigenschappen" + type: "object" _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" type: "object" - allOf: - - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/schemas.yaml#/HalCollectionLinks" - Klasse: + required: + - "_embedded" + - "_links" + type: "object" description: "OK." + headers: + X-Pagination-Limit: + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" + X-Total-Count: + $ref: "#/components/headers/X-Total-Count" + Klasse: content: application/hal+json: schema: - type: "object" allOf: - $ref: "#/components/schemas/Klasse" - Eigenschappen: + type: "object" description: "OK." - headers: - X-Pagination-Page: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationPage" - X-Pagination-Limit: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationLimit" - X-Total-Count: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xTotalCount" + Klassen: content: application/hal+json: schema: - required: - - "_embedded" - - "_links" - type: "object" properties: _embedded: - type: "object" properties: - eigenschappen: - type: "array" + klassen: items: - $ref: "#/components/schemas/Eigenschap" + $ref: "#/components/schemas/Klasse" + type: "array" required: - - "eigenschappen" + - "klassen" + type: "object" _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" type: "object" - allOf: - - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/schemas.yaml#/HalCollectionLinks" - Eigenschap: - description: "OK." - content: - application/hal+json: - schema: + required: + - "_embedded" + - "_links" type: "object" - allOf: - - $ref: "#/components/schemas/Eigenschap" - Modellen: description: "OK." headers: - X-Pagination-Page: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationPage" X-Pagination-Limit: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xPaginationLimit" + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" X-Total-Count: - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/headers.yaml#/xTotalCount" + $ref: "#/components/headers/X-Total-Count" + Model: content: application/hal+json: schema: - required: - - "_embedded" - - "_links" + allOf: + - $ref: "#/components/schemas/Model" type: "object" + Modellen: + content: + application/hal+json: + schema: properties: _embedded: - type: "object" properties: modellen: - type: "array" items: $ref: "#/components/schemas/Model" + type: "array" required: - "modellen" + type: "object" _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" type: "object" - allOf: - - $ref: "https://cdn.jsdelivr.net/gh/dvh/KP-APIs@0.1/oas-components/schemas.yaml#/HalCollectionLinks" - Model: - description: "OK." - content: - application/hal+json: - schema: + required: + - "_embedded" + - "_links" type: "object" - allOf: - - $ref: "#/components/schemas/Model" + description: "OK." + headers: + X-Pagination-Limit: + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" + X-Total-Count: + $ref: "#/components/headers/X-Total-Count" schemas: - UriEnLabel: - type: "object" - required: - - "uri" - - "label" - properties: - "uri": - type: "string" - example: "http://lod.voorbeelduri.org" - "label": - type: "string" - example: "VoorbeeldLabel" - ConceptLinks: - type: "object" - required: - - "_links" + Concept: properties: _links: - type: "object" - required: - - "self" properties: - self: - type: "object" - required: - - "href" - - "uri" + eigenschappen: + description: "Link naar de eigenschappen die horen bij dit concept" properties: href: - type: "string" - format: "url" - example: ".../concept?subject=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" - description: "API URL van dit betreffende concept" - uri: - type: "string" + description: "URL van de link" + example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" format: "uri" - example: "http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" - description: "URI van dit betreffende concept" - klassen: - type: "object" + type: "string" required: - "href" + type: "object" + klassen: + description: "Link naar klassen die horen bij dit concept" properties: href: - type: "string" - format: "url" - description: "API URL van klassen die horen bij dit concept" + description: "URL van de link" example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" - eigenschappen: - type: "object" + format: "uri" + type: "string" required: - "href" + type: "object" + self: + description: "Absolute link naar het concept" properties: href: + description: "URL van de link" + example: ".../concept?subject=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + format: "uri" type: "string" - format: "url" - description: "API URL van eigenschappen die horen bij dit concept" - example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" - Concept: - type: "object" - allOf: - - type: "object" - required: - - "definitie" - properties: - label: + required: + - "href" + type: "object" + type: "object" + bronnen: + items: type: "string" - example: "Collegegeld" - definitie: + type: "array" + definitie: + type: "string" + label: + type: "string" + schemas: + items: type: "string" - example: "Is het bedrag dat een student moet betalen om colleges aan een universiteit of hogeschool te mogen bijwonen." - bronnen: - type: "array" - items: - type: "string" - example: "http://wetten.overheid.nl/BWBR0018259/2017-01-01/#Paragraaf2_Artikel9" - schemas: - type: "array" - items: - $ref: "#/components/schemas/UriEnLabel" - - $ref: "#/components/schemas/ConceptLinks" - KlasseLinks: + type: "array" + uri: + type: "string" type: "object" - required: - - "_links" + Eigenschap: properties: _links: - type: "object" - "required": - - "self" - - "modellen" properties: - self: - type: "object" + concepten: + description: "Link naar concepten die horen bij deze eigenschap" + properties: + href: + description: "URL van de link" + example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + format: "uri" + type: "string" required: - "href" + type: "object" + klasseNaar: + description: "In het geval dat deze eigenschap de relatie van een Klasse\ + \ (A) met een andere Klasse (B) beschrijft, dan is dit de link naar\ + \ de Klasse (B)" properties: href: - type: "string" - format: "url" - description: "API URL van deze betreffende klasse" - example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" - uri: - type: "string" + description: "URL van de link" + example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" format: "uri" - example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" - description: "URI van deze betreffende klasse" - concepten: - type: "object" + type: "string" required: - "href" + type: "object" + klasseVan: + description: "Link naar de klasse die deze eigenschap heeft" properties: href: + description: "URL van de link" + example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + format: "uri" type: "string" - format: "url" - description: "API URL van concepten die horen bij deze klasse" - example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" - modellen: - type: "object" required: - "href" + type: "object" + modellen: + description: "Link naar modellen die horen bij deze eigenschap" properties: href: + description: "URL van de link" + example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + format: "uri" type: "string" - format: "url" - description: "API URL van modellen die horen bij deze klasse" - example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" - eigenschappen: - type: "object" required: - "href" + type: "object" + self: + description: "Link naar deze eigenschap" properties: href: + description: "URL van de link" + example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + format: "uri" type: "string" - format: "url" - description: "API URL van eigenschappen die horen bij deze klasse" - example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres" - Klasse: - type: "object" - allOf: - - type: "object" - properties: - label: - type: "string" - example: "Postadres" - commentaar: - type: "string" - example: "Een adres waarop de post kan worden bezorgd" - vervangenDoor: - type: "string" - example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/Postadres-v02" - nullable: true - enumeratie: - type: "array" - nullable: true - description: "Indien klasse een enumeratie is, is deze lijst gevuld met de uris van de waardes die voor mogen komen" - items: - $ref: "#/components/schemas/UriEnLabel" - - $ref: "#/components/schemas/KlasseLinks" - EigenschapLinks: - type: "object" + required: + - "href" + type: "object" + type: "object" + commentaar: + example: "De door de Post NL vastgestelde code behorend bij de straatnaam\ + \ en het huisnummer dan wel de door Post NL vastgestelde code behorende\ + \ bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." + type: "string" + datatype: + description: "http://www.w3.org/ns/shacl#datatype" + example: "string" + type: "string" + label: + description: "https://www.w3.org/2000/01/rdf-schema#label" + example: "postcode" + type: "string" + maxCount: + description: "http://www.w3.org/ns/shacl#maxCount" + example: 6 + type: "integer" + maxLength: + description: "http://www.w3.org/ns/shacl#maxLength" + example: 6 + type: "integer" + minCount: + description: "http://www.w3.org/ns/shacl#minCount" + example: 6 + type: "integer" + minLength: + description: "http://www.w3.org/ns/shacl#minLength" + example: 6 + type: "integer" + pattern: + description: "http://www.w3.org/ns/shacl#pattern" + example: "([1-9]{1}[0-9]{3}[A-Z]{2})" + type: "string" + uri: + type: "string" required: - "_links" + type: "object" + Error: + description: "Object gespecificeerd volgens https://tools.ietf.org/html/rfc7807." + properties: + detail: + example: "HTTP 404 Not Found" + type: "string" + instance: + example: "self" + type: "string" + status: + example: 404 + format: "int32" + type: "integer" + title: + example: "Not Found" + type: "string" + type: + description: "URI naar een pagina met meer informatie over deze foutmelding\ + \ voor de ontwikkelaar." + example: "about:blank" + type: "string" + required: + - "title" + - "status" + - "detail" + type: "object" + Klasse: properties: _links: - type: "object" properties: - self: - type: "object" - required: - - "href" + concepten: + description: "Link naar concepten die horen bij deze eigenschap" properties: href: - type: "string" - format: "url" - description: "API URL van dit betreffende eigenschap" - example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" - uri: - type: "string" + description: "URL van de link" + example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" format: "uri" - example: "http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" - description: "URI van deze betreffende eigenschap" - concepten: - type: "object" + type: "string" required: - "href" + type: "object" + eigenschappen: + description: "Link naar de eigenschappen die horen bij deze klasse" properties: href: + description: "URL van de link" + example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + format: "uri" type: "string" - format: "url" - description: "API URL van concepten die horen bij deze eigenschap" - example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" - klasseVan: - type: "object" required: - "href" + type: "object" + modellen: + description: "Link naar odellen die horen bij deze eigenschap" properties: href: + description: "URL van de link" + example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + format: "uri" type: "string" - format: "url" - description: "API URL van de klasse die deze eigenschap heeft" - example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cat/cdm/def/Adres" - klasseNaar: - type: "object" required: - "href" + type: "object" + self: + description: "Absolute link naar de resource" properties: href: + description: "URL van de link" + example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + format: "uri" type: "string" - format: "url" - description: "In het geval dat deze eigenschap de relatie van een Klasse (A) met een andere Klasse (B) beschrijft, dan is dit de API URL naar de Klasse (B)" - example: ".../klasse?subject=..." - modellen: - type: "object" required: - "href" - properties: - href: - type: "string" - format: "url" - description: "API URL van modellen die horen bij deze eigenschap" - example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cat/cdm/def/postcode-v02" - Eigenschap: - type: "object" - allOf: - - type: "object" - required: - - "datatype" - properties: - vervangenDoor: - $ref: "#/components/schemas/UriEnLabel" - label: - type: "string" - example: "postcode" - description: "https://www.w3.org/2000/01/rdf-schema#label" - commentaar: - type: "string" - example: "De door de Post NL vastgestelde code behorend bij de straatnaam en het huisnummer dan wel de door Post NL vastgestelde code behorende bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." - datatype: - type: "string" - description: "http://www.w3.org/ns/shacl#datatype" - example: "string" - pattern: - type: "string" - description: "http://www.w3.org/ns/shacl#pattern" - example: "([1-9]{1}[0-9]{3}[A-Z]{2})" - minLength: - type: "integer" - description: "http://www.w3.org/ns/shacl#minLength" - example: 6 - maxLength: - type: "integer" - description: "http://www.w3.org/ns/shacl#maxLength" - example: 6 - minInclusive: - type: "integer" - description: "http://www.w3.org/ns/shacl#minInclusive" - example: 6 - maxInclusive: - type: "integer" - description: "http://www.w3.org/ns/shacl#maxInclusive" - example: 6 - - $ref: "#/components/schemas/EigenschapLinks" - ModelLinks: - type: "object" + type: "object" + type: "object" + commentaar: + type: "string" + enumeratie: + items: + properties: + code: + type: "string" + label: + type: "string" + type: "object" + type: "array" + label: + type: "string" + uri: + type: "string" + vervangenDoor: + nullable: true + type: "string" required: - "_links" + type: "object" + Model: properties: _links: - type: "object" properties: - self: - type: "object" - required: - - "href" + eigenschappen: + description: "Link naar eigenschappen die horen bij dit model" properties: href: - type: "string" - format: "url" - description: "API URL van dit betreffende model" - example: ".../model?subject=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" - uri: - type: "string" + description: "URL van de link" + example: ".../eigenschappen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" format: "uri" - example: "http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" - description: "URI van dit betreffende model" - klassen: - type: "object" + type: "string" required: - "href" + type: "object" + klassen: + description: "Link naar klassen die horen bij dit model" properties: href: - type: "string" - format: "url" - description: "API URL van klassen die horen bij deze eigenschap" + description: "URL van de link" example: ".../klassen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" - eigenschappen: - type: "object" + format: "uri" + type: "string" required: - "href" + type: "object" + self: + description: "Link naar dit model" properties: href: + description: "URL van de link" + example: ".../model?subject=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" + format: "uri" type: "string" - format: "url" - description: "API URL van modellen die horen bij deze eigenschap" - example: ".../eigenschappen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" - Model: - type: "object" - allOf: - - type: "object" - required: - - "datumVanaf" - properties: - datumVanaf: - type: "string" - format: "date" - example: "2019-01-24" - label: + required: + - "href" + type: "object" + type: "object" + datumVanaf: + format: "date" + type: "string" + label: + type: "string" + uri: + type: "string" + versieInfo: + items: type: "string" - example: "Canoniek Datamodel DUO" - versieInfo: - type: "array" - items: - type: "string" - example: "Aangemaakt op 2019-01-24 09:11:24 op basis van commit 3715." - - $ref: "#/components/schemas/ModelLinks" + type: "array" + type: "object" \ No newline at end of file From b5280edfd5d08646d912998f1fd98c5e83e25c03 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 4 Apr 2019 17:30:39 +0200 Subject: [PATCH 21/27] voorbeelden en description aangepast in schema objecten --- duo/catalogus.yaml | 194 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 158 insertions(+), 36 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index cd8cdad..77489cf 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -2,11 +2,32 @@ openapi: "3.0.0" info: contact: - email: "dimitri.vanhees@kadaster.nl" - name: "Kadaster" - url: "https://www.kadaster.nl" + email: "gegevensmagazijn@duo.nl" + name: "Dienst Uitvoering Onderwijs" + url: "https://www.duo.nl" title: "DUO Catalogus API" - version: "0.0.1" + version: "1.0.0" + description: > + Voor ontwikkelaars die de data uit RIO in een eigen applicatie + willen inzetten is de catalogus met RIO-metadata gevirtualiseerd + met een API. Dit heeft als doel perfecte traceerbaarheid van + gegevens door verschillende omgevingen in een ketenproces heen. + Met deze API kunnen de gewenste gegevensbeschrijvingen worden + opgezocht en de URI worden vastgelegd in lokale + systemen/documentatie. Hierdoor blijven de definities scherp en + de terminologie eenduidig. Ook kunnen de consequenties van + veranderingen aan de bron makkelijker worden uitgezocht. + Nota bene 1: Het is aantrekkelijk als aanbieders van data hun + metadata volgens een collectief profiel als dit ontsluiten. DUO, + als afnemer van de basisregistraties, zou op deze manier een link + kunnen opnemen van BPR- of andere gegevens in applicatie-ontwerpen. + Nota bene 2: In de praktijk maken organisaties een eigen keuze uit + een scala van (commerciële) ontwikkelplatforms. Het idee achter de + catalogus-API is vooral krachtig als zulke platforms in staat zijn + om de API uit te vragen. + Een API-key voor het krijgen van toegang tot de catalogus-api is + gratis en kan verkregen worden door een e-mail te sturen naar + dataplatform@kadaster.nl. Deze API-key werkt ook voor de RIO-data. servers: - url: "https://lod.onderwijsregistratie.nl/api/catalogus/v1" paths: @@ -218,7 +239,7 @@ components: type: "string" eigenschap: description: "Filteren op `eigenschap`" - example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" in: "query" name: "eigenschap" schema: @@ -231,7 +252,7 @@ components: type: "string" klasse: description: "Filteren op `klasse`" - example: "http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "http://lod.onderwijsregistratie.nl/cdm/def/Postadres" in: "query" name: "klasse" schema: @@ -274,7 +295,7 @@ components: type: "string" sortDirection: description: "Specificeert de richting van de sortering." - example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" in: "query" name: "sortDirection" schema: @@ -285,7 +306,7 @@ components: type: "string" sortProperty: description: "Specificeert op welk atribuut gesorteerd moet worden." - example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" in: "query" name: "sortProperty" schema: @@ -294,7 +315,7 @@ components: type: "string" sortPropertyConcept: description: "Specificeert op welk atribuut gesorteerd moet worden." - example: "http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" in: "query" name: "sortProperty" schema: @@ -457,6 +478,73 @@ components: allOf: - $ref: "#/components/schemas/Eigenschap" type: "object" + examples: + wordt aangeboden door: + value: + _links: + concepten: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding/wordtaangebodendoor + klasseNaar: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/Onderwijsaanbieder + klasseVan: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding + modellen: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AangebodenOpleiding/wordtaangebodendoor + self: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AangebodenOpleiding/wordtaangebodendoor + commentaar: + datatype: + label: "wordt aangeboden door" + maxCount: 1 + maxLength: + minCount: 1 + minLength: + pattern: + uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding/wordtaangebodendoor + PeriodeBegindatum: + value: + _links: + concepten: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/periodeBegindatum-v01 + klasseNaar: + href: + klasseVan: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AanmeldingMboCohort + modellen: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AanmeldingMboCohort/beginAanmeldperiode + self: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AanmeldingMboCohort/beginAanmeldperiode + commentaar: De datum die het begin van de periode aangeeft (inclusief). + datatype: http://www.w3.org/2001/XMLSchema#date + label: "PeriodeBegindatum" + maxCount: + maxLength: + minCount: + minLength: + pattern: "([0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))" + uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/periodeBegindatum-v01 + CijferExamen: + value: + _links: + concepten: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/cijferExamen-v02 + klasseNaar: + href: + klasseVan: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/Cijfer + modellen: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen + self: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen + commentaar: Een kwantitatief beoordelingsresultaat van een examenonderdeel + datatype: http://www.w3.org/2001/XMLSchema#integer + label: "CijferExamen" + maxCount: 1 + maxLength: + minCount: 1 + minLength: + pattern: "\\d{0,3}" + uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/cijferExamen-v02 Eigenschappen: content: application/hal+json: @@ -672,6 +760,10 @@ components: $ref: "#/components/headers/X-Total-Count" schemas: Concept: + description: > + Een concept is een “onderwerp van gesprek”. Concepten worden uitgewerkt als onderdeel van een conceptueel + model en daarbij horen definities, toelichtingen, relaties met andere concepten, wetsartikelen of andere + uitleg. Bij elkaar vormen alle concepten een soort “van Dale” van de uitvoering. properties: _links: properties: @@ -680,7 +772,7 @@ components: properties: href: description: "URL van de link" - example: ".../eigenschappen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" format: "uri" type: "string" required: @@ -691,7 +783,7 @@ components: properties: href: description: "URL van de link" - example: ".../klassen?concept=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klassen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" format: "uri" type: "string" required: @@ -702,7 +794,7 @@ components: properties: href: description: "URL van de link" - example: ".../concept?subject=http://lod.onderwijsregistratie.nl/scheme/Opleiding/Collegegeld" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/concept?subject=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" format: "uri" type: "string" required: @@ -712,17 +804,27 @@ components: bronnen: items: type: "string" + example: "http://wetten.overheid.nl/jci1.3:c:BWBR0005537&hoofdstuk=1&titeldeel=1.1&artikel=1:1&z=2017-12-01&g=2017-12-01" type: "array" + description: "http://purl.org/dc/terms/source" definitie: type: "string" + description: "http://www.w3.org/2004/02/skos/core#Definition" + example: "Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld (a-orgaan) of een persoon of college met enig openbaar gezag bekleed (b-orgaan)." label: type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#label" + example: "Bevoegd gezag" schemas: items: type: "string" + example: "http://lod.onderwijsregistratie.nl/cat/doc/taxonomy/Organisatie" type: "array" + description: "http://www.w3.org/2004/02/skos/core#ConceptScheme" uri: type: "string" + description: "URI van het specifieke concept" + example: "http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" type: "object" Eigenschap: properties: @@ -733,7 +835,6 @@ components: properties: href: description: "URL van de link" - example: ".../concepten?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" format: "uri" type: "string" required: @@ -746,7 +847,6 @@ components: properties: href: description: "URL van de link" - example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" format: "uri" type: "string" required: @@ -757,7 +857,6 @@ components: properties: href: description: "URL van de link" - example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" format: "uri" type: "string" required: @@ -768,7 +867,6 @@ components: properties: href: description: "URL van de link" - example: ".../modellen?eigenschap=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" format: "uri" type: "string" required: @@ -779,7 +877,6 @@ components: properties: href: description: "URL van de link" - example: ".../eigenschap?subject=http://lod.onderwijsregistraties.nl/cdm/def/postcode-v02" format: "uri" type: "string" required: @@ -787,39 +884,31 @@ components: type: "object" type: "object" commentaar: - example: "De door de Post NL vastgestelde code behorend bij de straatnaam\ - \ en het huisnummer dan wel de door Post NL vastgestelde code behorende\ - \ bij een bepaalde combinatie van een naam openbare ruimte en een huisnummer." type: "string" + description: "http://www.w3.org/2000/01/rdf-schema#comment" datatype: description: "http://www.w3.org/ns/shacl#datatype" - example: "string" type: "string" label: description: "https://www.w3.org/2000/01/rdf-schema#label" - example: "postcode" type: "string" maxCount: description: "http://www.w3.org/ns/shacl#maxCount" - example: 6 type: "integer" maxLength: description: "http://www.w3.org/ns/shacl#maxLength" - example: 6 type: "integer" minCount: description: "http://www.w3.org/ns/shacl#minCount" - example: 6 type: "integer" minLength: description: "http://www.w3.org/ns/shacl#minLength" - example: 6 type: "integer" pattern: description: "http://www.w3.org/ns/shacl#pattern" - example: "([1-9]{1}[0-9]{3}[A-Z]{2})" type: "string" uri: + description: "URI van de specifieke eigenschap" type: "string" required: - "_links" @@ -851,6 +940,15 @@ components: - "detail" type: "object" Klasse: + description: > + Een klasse van gegevens is de type-aanduiding voor een groep van gelijksoortige gegevens. Het heeft + een aantal verplichte of optionele eigenschappen. De structuur van de groep gegevens ligt daarmee vast. + De betekenis en doelstelling van een klasse worden nader uitgelegd aan de hand van een concept. (Noot GGR: + klassen kunnen eigenschappen overerven van een superklasse, maar dat is nu niet in de api opgenomen). + + Een enumeratieklasse is een speciaal soort klasse met een limitatieve set van toegestane waarden. + Enumeratieklassen worden centraal beheerd en meervoudig gebruikt in logische modellen. Wat wordt bedoeld + met een enumatieklasse wordt nader uitgelegd aan de hand van een concept. properties: _links: properties: @@ -859,7 +957,7 @@ components: properties: href: description: "URL van de link" - example: ".../concepten?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/concepten?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" format: "uri" type: "string" required: @@ -870,18 +968,18 @@ components: properties: href: description: "URL van de link" - example: ".../eigenschappen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" format: "uri" type: "string" required: - "href" type: "object" modellen: - description: "Link naar odellen die horen bij deze eigenschap" + description: "Link naar modellen die horen bij deze eigenschap" properties: href: description: "URL van de link" - example: ".../modellen?klasse=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/modellen?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" format: "uri" type: "string" required: @@ -892,7 +990,7 @@ components: properties: href: description: "URL van de link" - example: ".../klasse?subject=http://lod.onderwijsregistraties.nl/cdm/def/Postadres" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" format: "uri" type: "string" required: @@ -901,26 +999,42 @@ components: type: "object" commentaar: type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#comment" + example: "Is een Opleidingseenheid die door een Onderwijsaanbieder aangeboden wordt in het MBO, in een bepaalde vorm, al dan niet op een bepaalde Onderwijslocatie." enumeratie: items: properties: code: type: "string" + description: "URI van een voorkomen in de limitatieve set van toegestane waarden." label: type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#label" type: "object" type: "array" label: type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#label" + example: "AangebodenMboOpleiding" uri: type: "string" + description: "URI van de specifieke klasse" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" vervangenDoor: nullable: true type: "string" + description: "http://purl.org/dc/terms/isReplacedBy" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/NieuweKlasse" required: - "_links" type: "object" Model: + description: > + https://www.w3.org/2002/07/owl#Ontology: Logische data-/informatiemodellen worden in de ontwerpfase gemaakt om een set gegevens voor uitwisseling + en/of opslag functioneel te beschrijven . Modellen bestaan uit klassen, associaties, eigenschappen en + enumeraties. In samenhang kunnen ze dienen om de integriteit van de beschreven data te valideren. + Technische modellen worden afgeleid van de logische modellen maar zijn vaak specifiek voor gebruikte + techniek. properties: _links: properties: @@ -929,7 +1043,7 @@ components: properties: href: description: "URL van de link" - example: ".../eigenschappen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?model=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" format: "uri" type: "string" required: @@ -940,7 +1054,7 @@ components: properties: href: description: "URL van de link" - example: ".../klassen?model=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klassen?model=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" format: "uri" type: "string" required: @@ -951,8 +1065,8 @@ components: properties: href: description: "URL van de link" - example: ".../model?subject=http://lod.onderwijsregistraties.nl/doc/ontology/v0/Cdm" - format: "uri" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/model?subject=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" + format: "url" type: "string" required: - "href" @@ -961,12 +1075,20 @@ components: datumVanaf: format: "date" type: "string" + example: "2019-01-24" + description: "http://purl.org/dc/terms/modified" label: type: "string" + example: "Canoniek Datamodel DUO" + description: "https://www.w3.org/2000/01/rdf-schema#label" uri: type: "string" + example: "http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" + description: "URI van het specifieke model" versieInfo: items: type: "string" + example: "Aangemaakt op 2019-01-24 09:11:24 op basis van commit 3715." + description: "https://www.w3.org/2002/07/owl#versionInfo" type: "array" type: "object" \ No newline at end of file From 521ea2f3c98edf5b3bf45c14a4133e64829a2050 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Mon, 8 Apr 2019 09:55:26 +0200 Subject: [PATCH 22/27] Errors verwijderd, door de description toe te voegen bij Respons van Eigenschap en Klasse. --- duo/catalogus.yaml | 2188 ++++++++++++++++++++++---------------------- 1 file changed, 1095 insertions(+), 1093 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 77489cf..db1f781 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -1,1094 +1,1096 @@ ---- -openapi: "3.0.0" -info: - contact: - email: "gegevensmagazijn@duo.nl" - name: "Dienst Uitvoering Onderwijs" - url: "https://www.duo.nl" - title: "DUO Catalogus API" - version: "1.0.0" - description: > - Voor ontwikkelaars die de data uit RIO in een eigen applicatie - willen inzetten is de catalogus met RIO-metadata gevirtualiseerd - met een API. Dit heeft als doel perfecte traceerbaarheid van - gegevens door verschillende omgevingen in een ketenproces heen. - Met deze API kunnen de gewenste gegevensbeschrijvingen worden - opgezocht en de URI worden vastgelegd in lokale - systemen/documentatie. Hierdoor blijven de definities scherp en - de terminologie eenduidig. Ook kunnen de consequenties van - veranderingen aan de bron makkelijker worden uitgezocht. - Nota bene 1: Het is aantrekkelijk als aanbieders van data hun - metadata volgens een collectief profiel als dit ontsluiten. DUO, - als afnemer van de basisregistraties, zou op deze manier een link - kunnen opnemen van BPR- of andere gegevens in applicatie-ontwerpen. - Nota bene 2: In de praktijk maken organisaties een eigen keuze uit - een scala van (commerciële) ontwikkelplatforms. Het idee achter de - catalogus-API is vooral krachtig als zulke platforms in staat zijn - om de API uit te vragen. - Een API-key voor het krijgen van toegang tot de catalogus-api is - gratis en kan verkregen worden door een e-mail te sturen naar - dataplatform@kadaster.nl. Deze API-key werkt ook voor de RIO-data. -servers: -- url: "https://lod.onderwijsregistratie.nl/api/catalogus/v1" -paths: - /concept: - get: - parameters: - - $ref: "#/components/parameters/subject" - responses: - 200: - $ref: "#/components/responses/Concept" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Concept resource" - /concepten: - get: - parameters: - - $ref: "#/components/parameters/page" - - $ref: "#/components/parameters/pageSize" - - $ref: "#/components/parameters/schema" - - $ref: "#/components/parameters/klasse" - - $ref: "#/components/parameters/eigenschap" - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/sortPropertyConcept" - - $ref: "#/components/parameters/sortDirection" - responses: - 200: - $ref: "#/components/responses/Concepten" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Concepten collectie" - /eigenschap: - get: - parameters: - - $ref: "#/components/parameters/subject" - responses: - 200: - $ref: "#/components/responses/Eigenschap" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Eigenschap resource" - /eigenschappen: - get: - parameters: - - $ref: "#/components/parameters/page" - - $ref: "#/components/parameters/pageSize" - - $ref: "#/components/parameters/concept" - - $ref: "#/components/parameters/eigenschap" - - $ref: "#/components/parameters/klasse" - - $ref: "#/components/parameters/model" - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/sortProperty" - - $ref: "#/components/parameters/sortDirection" - responses: - 200: - $ref: "#/components/responses/Eigenschappen" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Eigenschappen collectie" - /klasse: - get: - parameters: - - $ref: "#/components/parameters/subject" - responses: - 200: - $ref: "#/components/responses/Klasse" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Klasse resource" - /klassen: - get: - parameters: - - $ref: "#/components/parameters/page" - - $ref: "#/components/parameters/pageSize" - - $ref: "#/components/parameters/concept" - - $ref: "#/components/parameters/eigenschap" - - $ref: "#/components/parameters/model" - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/sortProperty" - - $ref: "#/components/parameters/sortDirection" - responses: - 200: - $ref: "#/components/responses/Klassen" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Klassen collectie" - /model: - get: - parameters: - - $ref: "#/components/parameters/subject" - responses: - 200: - $ref: "#/components/responses/Model" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Model resource" - /modellen: - get: - parameters: - - $ref: "#/components/parameters/page" - - $ref: "#/components/parameters/pageSize" - - $ref: "#/components/parameters/datumVanaf" - - $ref: "#/components/parameters/eigenschap" - - $ref: "#/components/parameters/klasse" - - $ref: "#/components/parameters/filter" - - $ref: "#/components/parameters/sortProperty" - - $ref: "#/components/parameters/sortDirection" - responses: - 200: - $ref: "#/components/responses/Modellen" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 406: - $ref: "#/components/responses/406" - 503: - $ref: "#/components/responses/503" - summary: "Modellen collectie" -components: - headers: - Retry-After: - description: "Tijdstip waarop verwacht is dat de service weer beschikbaar zal\ - \ zijn." - schema: - format: "date-time" - type: "string" - x-example: "Sun, 28 Nov 2017 16:41:41 GMT" - X-Pagination-Limit: - description: "Aantal Objecten per pagina" - schema: - format: "int32" - type: "integer" - X-Pagination-Page: - description: "Nummer van de huidige pagina (paginanummering start bij 1)" - schema: - format: "int32" - type: "integer" - X-Request-ID: - description: "ID van het request" - schema: - type: "string" - X-Total-Count: - description: "Totaal aantal resultaten (max 15.000)" - schema: - format: "int32" - type: "integer" - parameters: - concept: - description: "Filteren op `concept`" - in: "query" - name: "concept" - schema: - type: "string" - datumVanaf: - description: "Filteren op `datumVanaf`" - in: "query" - name: "datumVanaf" - schema: - type: "string" - eigenschap: - description: "Filteren op `eigenschap`" - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" - in: "query" - name: "eigenschap" - schema: - type: "string" - filter: - description: "Hoofdletter ongevoelig filteren op `labels` van de resource" - in: "query" - name: "filter" - schema: - type: "string" - klasse: - description: "Filteren op `klasse`" - example: "http://lod.onderwijsregistratie.nl/cdm/def/Postadres" - in: "query" - name: "klasse" - schema: - type: "string" - model: - description: "Filteren op `model`" - in: "query" - name: "model" - schema: - type: "string" - page: - description: "Paginanummer voor paginering. Gebruik het `_links.next.href` object\ - \ om te navigeren." - in: "query" - name: "page" - required: false - schema: - default: 1 - format: "int32" - minimum: 1 - type: "integer" - pageSize: - in: "query" - name: "pageSize" - required: false - schema: - default: 20 - enum: - - 10 - - 20 - - 50 - - 100 - format: "int32" - type: "integer" - schema: - description: "Filteren op `schema`" - in: "query" - name: "schema" - schema: - type: "string" - sortDirection: - description: "Specificeert de richting van de sortering." - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" - in: "query" - name: "sortDirection" - schema: - default: "asc" - enum: - - "asc" - - "desc" - type: "string" - sortProperty: - description: "Specificeert op welk atribuut gesorteerd moet worden." - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" - in: "query" - name: "sortProperty" - schema: - enum: - - "label" - type: "string" - sortPropertyConcept: - description: "Specificeert op welk atribuut gesorteerd moet worden." - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" - in: "query" - name: "sortProperty" - schema: - enum: - - "label" - - "altLabel" - type: "string" - subject: - description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" - in: "query" - name: "subject" - required: true - schema: - type: "string" - responses: - 401: - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - application/problem+json: - schema: - $ref: "#/components/schemas/Error" - description: "Unauthorized. Je hebt waarschijnlijk geen geldige `X-Api-Key`\ - \ header meegestuurd." - headers: - X-Request-ID: - $ref: "#/components/headers/X-Request-ID" - 403: - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - application/problem+json: - schema: - $ref: "#/components/schemas/Error" - description: "Forbidden. Je hebt geen rechten om deze URL te benaderen." - headers: - X-Request-ID: - $ref: "#/components/headers/X-Request-ID" - 404: - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - application/problem+json: - schema: - $ref: "#/components/schemas/Error" - description: "Not found" - headers: - X-Request-ID: - $ref: "#/components/headers/X-Request-ID" - 406: - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - application/problem+json: - schema: - $ref: "#/components/schemas/Error" - description: "Not Acceptable. Je hebt waarschijnlijk een gewenst formaat met\ - \ de `Accept` header verstuurd welke niet ondersteund wordt. De API kan momenteel\ - \ alleen `application/hal+json` terugsturen." - headers: - X-Request-ID: - $ref: "#/components/headers/X-Request-ID" - 503: - content: - application/hal+json: - schema: - $ref: "#/components/schemas/Error" - application/problem+json: - schema: - $ref: "#/components/schemas/Error" - description: "Service Unavailable. Er vindt mogelijk (gepland) onderhoud of\ - \ een storing plaats." - headers: - Retry-After: - $ref: "#/components/headers/Retry-After" - X-Request-ID: - $ref: "#/components/headers/X-Request-ID" - Concept: - content: - application/hal+json: - schema: - allOf: - - $ref: "#/components/schemas/Concept" - type: "object" - description: "OK." - Concepten: - content: - application/hal+json: - schema: - properties: - _embedded: - properties: - concepten: - items: - $ref: "#/components/schemas/Concept" - type: "array" - required: - - "concepten" - type: "object" - _links: - properties: - next: - description: "Absolute link naar volgende pagina (niet aanwezig\ - \ als er geen volgende pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" - format: "uri" - type: "string" - required: - - "href" - type: "object" - prev: - description: "Absolute link naar vorige pagina (niet aanwezig\ - \ als er geen vorige pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Absolute link naar huidige pagina" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" - format: "uri" - type: "string" - required: - - "href" - type: "object" - required: - - "self" - type: "object" - required: - - "_embedded" - - "_links" - type: "object" - description: "OK." - headers: - X-Pagination-Limit: - $ref: "#/components/headers/X-Pagination-Limit" - X-Pagination-Page: - $ref: "#/components/headers/X-Pagination-Page" - X-Total-Count: - $ref: "#/components/headers/X-Total-Count" - Eigenschap: - content: - application/hal+json: - schema: - allOf: - - $ref: "#/components/schemas/Eigenschap" - type: "object" - examples: - wordt aangeboden door: - value: - _links: - concepten: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding/wordtaangebodendoor - klasseNaar: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/Onderwijsaanbieder - klasseVan: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding - modellen: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AangebodenOpleiding/wordtaangebodendoor - self: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AangebodenOpleiding/wordtaangebodendoor - commentaar: - datatype: - label: "wordt aangeboden door" - maxCount: 1 - maxLength: - minCount: 1 - minLength: - pattern: - uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding/wordtaangebodendoor - PeriodeBegindatum: - value: - _links: - concepten: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/periodeBegindatum-v01 - klasseNaar: - href: - klasseVan: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AanmeldingMboCohort - modellen: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AanmeldingMboCohort/beginAanmeldperiode - self: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AanmeldingMboCohort/beginAanmeldperiode - commentaar: De datum die het begin van de periode aangeeft (inclusief). - datatype: http://www.w3.org/2001/XMLSchema#date - label: "PeriodeBegindatum" - maxCount: - maxLength: - minCount: - minLength: - pattern: "([0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))" - uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/periodeBegindatum-v01 - CijferExamen: - value: - _links: - concepten: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/cijferExamen-v02 - klasseNaar: - href: - klasseVan: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/Cijfer - modellen: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen - self: - href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen - commentaar: Een kwantitatief beoordelingsresultaat van een examenonderdeel - datatype: http://www.w3.org/2001/XMLSchema#integer - label: "CijferExamen" - maxCount: 1 - maxLength: - minCount: 1 - minLength: - pattern: "\\d{0,3}" - uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/cijferExamen-v02 - Eigenschappen: - content: - application/hal+json: - schema: - properties: - _embedded: - properties: - eigenschappen: - items: - $ref: "#/components/schemas/Eigenschap" - type: "array" - required: - - "eigenschappen" - type: "object" - _links: - properties: - next: - description: "Absolute link naar volgende pagina (niet aanwezig\ - \ als er geen volgende pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" - format: "uri" - type: "string" - required: - - "href" - type: "object" - prev: - description: "Absolute link naar vorige pagina (niet aanwezig\ - \ als er geen vorige pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Absolute link naar huidige pagina" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" - format: "uri" - type: "string" - required: - - "href" - type: "object" - required: - - "self" - type: "object" - required: - - "_embedded" - - "_links" - type: "object" - description: "OK." - headers: - X-Pagination-Limit: - $ref: "#/components/headers/X-Pagination-Limit" - X-Pagination-Page: - $ref: "#/components/headers/X-Pagination-Page" - X-Total-Count: - $ref: "#/components/headers/X-Total-Count" - Klasse: - content: - application/hal+json: - schema: - allOf: - - $ref: "#/components/schemas/Klasse" - type: "object" - description: "OK." - Klassen: - content: - application/hal+json: - schema: - properties: - _embedded: - properties: - klassen: - items: - $ref: "#/components/schemas/Klasse" - type: "array" - required: - - "klassen" - type: "object" - _links: - properties: - next: - description: "Absolute link naar volgende pagina (niet aanwezig\ - \ als er geen volgende pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" - format: "uri" - type: "string" - required: - - "href" - type: "object" - prev: - description: "Absolute link naar vorige pagina (niet aanwezig\ - \ als er geen vorige pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Absolute link naar huidige pagina" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" - format: "uri" - type: "string" - required: - - "href" - type: "object" - required: - - "self" - type: "object" - required: - - "_embedded" - - "_links" - type: "object" - description: "OK." - headers: - X-Pagination-Limit: - $ref: "#/components/headers/X-Pagination-Limit" - X-Pagination-Page: - $ref: "#/components/headers/X-Pagination-Page" - X-Total-Count: - $ref: "#/components/headers/X-Total-Count" - Model: - content: - application/hal+json: - schema: - allOf: - - $ref: "#/components/schemas/Model" - type: "object" - Modellen: - content: - application/hal+json: - schema: - properties: - _embedded: - properties: - modellen: - items: - $ref: "#/components/schemas/Model" - type: "array" - required: - - "modellen" - type: "object" - _links: - properties: - next: - description: "Absolute link naar volgende pagina (niet aanwezig\ - \ als er geen volgende pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" - format: "uri" - type: "string" - required: - - "href" - type: "object" - prev: - description: "Absolute link naar vorige pagina (niet aanwezig\ - \ als er geen vorige pagina is)" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Absolute link naar huidige pagina" - properties: - href: - description: "URL van de link" - example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" - format: "uri" - type: "string" - required: - - "href" - type: "object" - required: - - "self" - type: "object" - required: - - "_embedded" - - "_links" - type: "object" - description: "OK." - headers: - X-Pagination-Limit: - $ref: "#/components/headers/X-Pagination-Limit" - X-Pagination-Page: - $ref: "#/components/headers/X-Pagination-Page" - X-Total-Count: - $ref: "#/components/headers/X-Total-Count" - schemas: - Concept: - description: > - Een concept is een “onderwerp van gesprek”. Concepten worden uitgewerkt als onderdeel van een conceptueel - model en daarbij horen definities, toelichtingen, relaties met andere concepten, wetsartikelen of andere - uitleg. Bij elkaar vormen alle concepten een soort “van Dale” van de uitvoering. - properties: - _links: - properties: - eigenschappen: - description: "Link naar de eigenschappen die horen bij dit concept" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" - format: "uri" - type: "string" - required: - - "href" - type: "object" - klassen: - description: "Link naar klassen die horen bij dit concept" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klassen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Absolute link naar het concept" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/concept?subject=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" - format: "uri" - type: "string" - required: - - "href" - type: "object" - type: "object" - bronnen: - items: - type: "string" - example: "http://wetten.overheid.nl/jci1.3:c:BWBR0005537&hoofdstuk=1&titeldeel=1.1&artikel=1:1&z=2017-12-01&g=2017-12-01" - type: "array" - description: "http://purl.org/dc/terms/source" - definitie: - type: "string" - description: "http://www.w3.org/2004/02/skos/core#Definition" - example: "Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld (a-orgaan) of een persoon of college met enig openbaar gezag bekleed (b-orgaan)." - label: - type: "string" - description: "https://www.w3.org/2000/01/rdf-schema#label" - example: "Bevoegd gezag" - schemas: - items: - type: "string" - example: "http://lod.onderwijsregistratie.nl/cat/doc/taxonomy/Organisatie" - type: "array" - description: "http://www.w3.org/2004/02/skos/core#ConceptScheme" - uri: - type: "string" - description: "URI van het specifieke concept" - example: "http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" - type: "object" - Eigenschap: - properties: - _links: - properties: - concepten: - description: "Link naar concepten die horen bij deze eigenschap" - properties: - href: - description: "URL van de link" - format: "uri" - type: "string" - required: - - "href" - type: "object" - klasseNaar: - description: "In het geval dat deze eigenschap de relatie van een Klasse\ - \ (A) met een andere Klasse (B) beschrijft, dan is dit de link naar\ - \ de Klasse (B)" - properties: - href: - description: "URL van de link" - format: "uri" - type: "string" - required: - - "href" - type: "object" - klasseVan: - description: "Link naar de klasse die deze eigenschap heeft" - properties: - href: - description: "URL van de link" - format: "uri" - type: "string" - required: - - "href" - type: "object" - modellen: - description: "Link naar modellen die horen bij deze eigenschap" - properties: - href: - description: "URL van de link" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Link naar deze eigenschap" - properties: - href: - description: "URL van de link" - format: "uri" - type: "string" - required: - - "href" - type: "object" - type: "object" - commentaar: - type: "string" - description: "http://www.w3.org/2000/01/rdf-schema#comment" - datatype: - description: "http://www.w3.org/ns/shacl#datatype" - type: "string" - label: - description: "https://www.w3.org/2000/01/rdf-schema#label" - type: "string" - maxCount: - description: "http://www.w3.org/ns/shacl#maxCount" - type: "integer" - maxLength: - description: "http://www.w3.org/ns/shacl#maxLength" - type: "integer" - minCount: - description: "http://www.w3.org/ns/shacl#minCount" - type: "integer" - minLength: - description: "http://www.w3.org/ns/shacl#minLength" - type: "integer" - pattern: - description: "http://www.w3.org/ns/shacl#pattern" - type: "string" - uri: - description: "URI van de specifieke eigenschap" - type: "string" - required: - - "_links" - type: "object" - Error: - description: "Object gespecificeerd volgens https://tools.ietf.org/html/rfc7807." - properties: - detail: - example: "HTTP 404 Not Found" - type: "string" - instance: - example: "self" - type: "string" - status: - example: 404 - format: "int32" - type: "integer" - title: - example: "Not Found" - type: "string" - type: - description: "URI naar een pagina met meer informatie over deze foutmelding\ - \ voor de ontwikkelaar." - example: "about:blank" - type: "string" - required: - - "title" - - "status" - - "detail" - type: "object" - Klasse: - description: > - Een klasse van gegevens is de type-aanduiding voor een groep van gelijksoortige gegevens. Het heeft - een aantal verplichte of optionele eigenschappen. De structuur van de groep gegevens ligt daarmee vast. - De betekenis en doelstelling van een klasse worden nader uitgelegd aan de hand van een concept. (Noot GGR: - klassen kunnen eigenschappen overerven van een superklasse, maar dat is nu niet in de api opgenomen). - - Een enumeratieklasse is een speciaal soort klasse met een limitatieve set van toegestane waarden. - Enumeratieklassen worden centraal beheerd en meervoudig gebruikt in logische modellen. Wat wordt bedoeld - met een enumatieklasse wordt nader uitgelegd aan de hand van een concept. - properties: - _links: - properties: - concepten: - description: "Link naar concepten die horen bij deze eigenschap" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/concepten?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" - format: "uri" - type: "string" - required: - - "href" - type: "object" - eigenschappen: - description: "Link naar de eigenschappen die horen bij deze klasse" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" - format: "uri" - type: "string" - required: - - "href" - type: "object" - modellen: - description: "Link naar modellen die horen bij deze eigenschap" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/modellen?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Absolute link naar de resource" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" - format: "uri" - type: "string" - required: - - "href" - type: "object" - type: "object" - commentaar: - type: "string" - description: "https://www.w3.org/2000/01/rdf-schema#comment" - example: "Is een Opleidingseenheid die door een Onderwijsaanbieder aangeboden wordt in het MBO, in een bepaalde vorm, al dan niet op een bepaalde Onderwijslocatie." - enumeratie: - items: - properties: - code: - type: "string" - description: "URI van een voorkomen in de limitatieve set van toegestane waarden." - label: - type: "string" - description: "https://www.w3.org/2000/01/rdf-schema#label" - type: "object" - type: "array" - label: - type: "string" - description: "https://www.w3.org/2000/01/rdf-schema#label" - example: "AangebodenMboOpleiding" - uri: - type: "string" - description: "URI van de specifieke klasse" - example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" - vervangenDoor: - nullable: true - type: "string" - description: "http://purl.org/dc/terms/isReplacedBy" - example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/NieuweKlasse" - required: - - "_links" - type: "object" - Model: - description: > - https://www.w3.org/2002/07/owl#Ontology: Logische data-/informatiemodellen worden in de ontwerpfase gemaakt om een set gegevens voor uitwisseling - en/of opslag functioneel te beschrijven . Modellen bestaan uit klassen, associaties, eigenschappen en - enumeraties. In samenhang kunnen ze dienen om de integriteit van de beschreven data te valideren. - Technische modellen worden afgeleid van de logische modellen maar zijn vaak specifiek voor gebruikte - techniek. - properties: - _links: - properties: - eigenschappen: - description: "Link naar eigenschappen die horen bij dit model" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?model=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" - format: "uri" - type: "string" - required: - - "href" - type: "object" - klassen: - description: "Link naar klassen die horen bij dit model" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klassen?model=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" - format: "uri" - type: "string" - required: - - "href" - type: "object" - self: - description: "Link naar dit model" - properties: - href: - description: "URL van de link" - example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/model?subject=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" - format: "url" - type: "string" - required: - - "href" - type: "object" - type: "object" - datumVanaf: - format: "date" - type: "string" - example: "2019-01-24" - description: "http://purl.org/dc/terms/modified" - label: - type: "string" - example: "Canoniek Datamodel DUO" - description: "https://www.w3.org/2000/01/rdf-schema#label" - uri: - type: "string" - example: "http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" - description: "URI van het specifieke model" - versieInfo: - items: - type: "string" - example: "Aangemaakt op 2019-01-24 09:11:24 op basis van commit 3715." - description: "https://www.w3.org/2002/07/owl#versionInfo" - type: "array" +--- +openapi: "3.0.0" +info: + contact: + email: "gegevensmagazijn@duo.nl" + name: "Dienst Uitvoering Onderwijs" + url: "https://www.duo.nl" + title: "DUO Catalogus API" + version: "1.0.0" + description: > + Voor ontwikkelaars die de data uit RIO in een eigen applicatie + willen inzetten is de catalogus met RIO-metadata gevirtualiseerd + met een API. Dit heeft als doel perfecte traceerbaarheid van + gegevens door verschillende omgevingen in een ketenproces heen. + Met deze API kunnen de gewenste gegevensbeschrijvingen worden + opgezocht en de URI worden vastgelegd in lokale + systemen/documentatie. Hierdoor blijven de definities scherp en + de terminologie eenduidig. Ook kunnen de consequenties van + veranderingen aan de bron makkelijker worden uitgezocht. + Nota bene 1: Het is aantrekkelijk als aanbieders van data hun + metadata volgens een collectief profiel als dit ontsluiten. DUO, + als afnemer van de basisregistraties, zou op deze manier een link + kunnen opnemen van BPR- of andere gegevens in applicatie-ontwerpen. + Nota bene 2: In de praktijk maken organisaties een eigen keuze uit + een scala van (commerciële) ontwikkelplatforms. Het idee achter de + catalogus-API is vooral krachtig als zulke platforms in staat zijn + om de API uit te vragen. + Een API-key voor het krijgen van toegang tot de catalogus-api is + gratis en kan verkregen worden door een e-mail te sturen naar + dataplatform@kadaster.nl. Deze API-key werkt ook voor de RIO-data. +servers: +- url: "https://lod.onderwijsregistratie.nl/api/catalogus/v1" +paths: + /concept: + get: + parameters: + - $ref: "#/components/parameters/subject" + responses: + 200: + $ref: "#/components/responses/Concept" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Concept resource" + /concepten: + get: + parameters: + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" + - $ref: "#/components/parameters/schema" + - $ref: "#/components/parameters/klasse" + - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortPropertyConcept" + - $ref: "#/components/parameters/sortDirection" + responses: + 200: + $ref: "#/components/responses/Concepten" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Concepten collectie" + /eigenschap: + get: + parameters: + - $ref: "#/components/parameters/subject" + responses: + 200: + $ref: "#/components/responses/Eigenschap" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Eigenschap resource" + /eigenschappen: + get: + parameters: + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" + - $ref: "#/components/parameters/concept" + - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/klasse" + - $ref: "#/components/parameters/model" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortProperty" + - $ref: "#/components/parameters/sortDirection" + responses: + 200: + $ref: "#/components/responses/Eigenschappen" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Eigenschappen collectie" + /klasse: + get: + parameters: + - $ref: "#/components/parameters/subject" + responses: + 200: + $ref: "#/components/responses/Klasse" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Klasse resource" + /klassen: + get: + parameters: + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" + - $ref: "#/components/parameters/concept" + - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/model" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortProperty" + - $ref: "#/components/parameters/sortDirection" + responses: + 200: + $ref: "#/components/responses/Klassen" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Klassen collectie" + /model: + get: + parameters: + - $ref: "#/components/parameters/subject" + responses: + 200: + $ref: "#/components/responses/Model" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Model resource" + /modellen: + get: + parameters: + - $ref: "#/components/parameters/page" + - $ref: "#/components/parameters/pageSize" + - $ref: "#/components/parameters/datumVanaf" + - $ref: "#/components/parameters/eigenschap" + - $ref: "#/components/parameters/klasse" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/sortProperty" + - $ref: "#/components/parameters/sortDirection" + responses: + 200: + $ref: "#/components/responses/Modellen" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 406: + $ref: "#/components/responses/406" + 503: + $ref: "#/components/responses/503" + summary: "Modellen collectie" +components: + headers: + Retry-After: + description: "Tijdstip waarop verwacht is dat de service weer beschikbaar zal\ + \ zijn." + schema: + format: "date-time" + type: "string" + x-example: "Sun, 28 Nov 2017 16:41:41 GMT" + X-Pagination-Limit: + description: "Aantal Objecten per pagina" + schema: + format: "int32" + type: "integer" + X-Pagination-Page: + description: "Nummer van de huidige pagina (paginanummering start bij 1)" + schema: + format: "int32" + type: "integer" + X-Request-ID: + description: "ID van het request" + schema: + type: "string" + X-Total-Count: + description: "Totaal aantal resultaten (max 15.000)" + schema: + format: "int32" + type: "integer" + parameters: + concept: + description: "Filteren op `concept`" + in: "query" + name: "concept" + schema: + type: "string" + datumVanaf: + description: "Filteren op `datumVanaf`" + in: "query" + name: "datumVanaf" + schema: + type: "string" + eigenschap: + description: "Filteren op `eigenschap`" + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + in: "query" + name: "eigenschap" + schema: + type: "string" + filter: + description: "Hoofdletter ongevoelig filteren op `labels` van de resource" + in: "query" + name: "filter" + schema: + type: "string" + klasse: + description: "Filteren op `klasse`" + example: "http://lod.onderwijsregistratie.nl/cdm/def/Postadres" + in: "query" + name: "klasse" + schema: + type: "string" + model: + description: "Filteren op `model`" + in: "query" + name: "model" + schema: + type: "string" + page: + description: "Paginanummer voor paginering. Gebruik het `_links.next.href` object\ + \ om te navigeren." + in: "query" + name: "page" + required: false + schema: + default: 1 + format: "int32" + minimum: 1 + type: "integer" + pageSize: + in: "query" + name: "pageSize" + required: false + schema: + default: 20 + enum: + - 10 + - 20 + - 50 + - 100 + format: "int32" + type: "integer" + schema: + description: "Filteren op `schema`" + in: "query" + name: "schema" + schema: + type: "string" + sortDirection: + description: "Specificeert de richting van de sortering." + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + in: "query" + name: "sortDirection" + schema: + default: "asc" + enum: + - "asc" + - "desc" + type: "string" + sortProperty: + description: "Specificeert op welk atribuut gesorteerd moet worden." + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + in: "query" + name: "sortProperty" + schema: + enum: + - "label" + type: "string" + sortPropertyConcept: + description: "Specificeert op welk atribuut gesorteerd moet worden." + example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + in: "query" + name: "sortProperty" + schema: + enum: + - "label" + - "altLabel" + type: "string" + subject: + description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" + in: "query" + name: "subject" + required: true + schema: + type: "string" + responses: + 401: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Unauthorized. Je hebt waarschijnlijk geen geldige `X-Api-Key`\ + \ header meegestuurd." + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 403: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Forbidden. Je hebt geen rechten om deze URL te benaderen." + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 404: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Not found" + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 406: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Not Acceptable. Je hebt waarschijnlijk een gewenst formaat met\ + \ de `Accept` header verstuurd welke niet ondersteund wordt. De API kan momenteel\ + \ alleen `application/hal+json` terugsturen." + headers: + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + 503: + content: + application/hal+json: + schema: + $ref: "#/components/schemas/Error" + application/problem+json: + schema: + $ref: "#/components/schemas/Error" + description: "Service Unavailable. Er vindt mogelijk (gepland) onderhoud of\ + \ een storing plaats." + headers: + Retry-After: + $ref: "#/components/headers/Retry-After" + X-Request-ID: + $ref: "#/components/headers/X-Request-ID" + Concept: + content: + application/hal+json: + schema: + allOf: + - $ref: "#/components/schemas/Concept" + type: "object" + description: "OK." + Concepten: + content: + application/hal+json: + schema: + properties: + _embedded: + properties: + concepten: + items: + $ref: "#/components/schemas/Concept" + type: "array" + required: + - "concepten" + type: "object" + _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" + type: "object" + required: + - "_embedded" + - "_links" + type: "object" + description: "OK." + headers: + X-Pagination-Limit: + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" + X-Total-Count: + $ref: "#/components/headers/X-Total-Count" + Eigenschap: + content: + application/hal+json: + schema: + allOf: + - $ref: "#/components/schemas/Eigenschap" + type: "object" + examples: + wordt aangeboden door: + value: + _links: + concepten: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding/wordtaangebodendoor + klasseNaar: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/Onderwijsaanbieder + klasseVan: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding + modellen: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AangebodenOpleiding/wordtaangebodendoor + self: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AangebodenOpleiding/wordtaangebodendoor + commentaar: + datatype: + label: "wordt aangeboden door" + maxCount: 1 + maxLength: + minCount: 1 + minLength: + pattern: + uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenOpleiding/wordtaangebodendoor + PeriodeBegindatum: + value: + _links: + concepten: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/periodeBegindatum-v01 + klasseNaar: + href: + klasseVan: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AanmeldingMboCohort + modellen: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AanmeldingMboCohort/beginAanmeldperiode + self: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/AanmeldingMboCohort/beginAanmeldperiode + commentaar: De datum die het begin van de periode aangeeft (inclusief). + datatype: http://www.w3.org/2001/XMLSchema#date + label: "PeriodeBegindatum" + maxCount: + maxLength: + minCount: + minLength: + pattern: "([0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))" + uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/periodeBegindatum-v01 + CijferExamen: + value: + _links: + concepten: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/concepten?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/def/cijferExamen-v02 + klasseNaar: + href: + klasseVan: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/Cijfer + modellen: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/modellen?eigenschap=http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen + self: + href: https://lod-acceptatie.onderwijsregistratie.nl/api/catalogus/v1/eigenschap?subject=http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen + commentaar: Een kwantitatief beoordelingsresultaat van een examenonderdeel + datatype: http://www.w3.org/2001/XMLSchema#integer + label: "CijferExamen" + maxCount: 1 + maxLength: + minCount: 1 + minLength: + pattern: "\\d{0,3}" + uri: http://lod.onderwijsregistratie.nl/cat/cdm/def/cijferExamen-v02 + description: "OK." + Eigenschappen: + content: + application/hal+json: + schema: + properties: + _embedded: + properties: + eigenschappen: + items: + $ref: "#/components/schemas/Eigenschap" + type: "array" + required: + - "eigenschappen" + type: "object" + _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" + type: "object" + required: + - "_embedded" + - "_links" + type: "object" + description: "OK." + headers: + X-Pagination-Limit: + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" + X-Total-Count: + $ref: "#/components/headers/X-Total-Count" + Klasse: + content: + application/hal+json: + schema: + allOf: + - $ref: "#/components/schemas/Klasse" + type: "object" + description: "OK." + Klassen: + content: + application/hal+json: + schema: + properties: + _embedded: + properties: + klassen: + items: + $ref: "#/components/schemas/Klasse" + type: "array" + required: + - "klassen" + type: "object" + _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" + type: "object" + required: + - "_embedded" + - "_links" + type: "object" + description: "OK." + headers: + X-Pagination-Limit: + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" + X-Total-Count: + $ref: "#/components/headers/X-Total-Count" + Model: + content: + application/hal+json: + schema: + allOf: + - $ref: "#/components/schemas/Model" + type: "object" + description: "OK." + Modellen: + content: + application/hal+json: + schema: + properties: + _embedded: + properties: + modellen: + items: + $ref: "#/components/schemas/Model" + type: "array" + required: + - "modellen" + type: "object" + _links: + properties: + next: + description: "Absolute link naar volgende pagina (niet aanwezig\ + \ als er geen volgende pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=3" + format: "uri" + type: "string" + required: + - "href" + type: "object" + prev: + description: "Absolute link naar vorige pagina (niet aanwezig\ + \ als er geen vorige pagina is)" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=1" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar huidige pagina" + properties: + href: + description: "URL van de link" + example: "https://data.pdok.nl/api/rce/v1/rijksmonumenten?page=2" + format: "uri" + type: "string" + required: + - "href" + type: "object" + required: + - "self" + type: "object" + required: + - "_embedded" + - "_links" + type: "object" + description: "OK." + headers: + X-Pagination-Limit: + $ref: "#/components/headers/X-Pagination-Limit" + X-Pagination-Page: + $ref: "#/components/headers/X-Pagination-Page" + X-Total-Count: + $ref: "#/components/headers/X-Total-Count" + schemas: + Concept: + description: > + Een concept is een "onderwerp van gesprek". Concepten worden uitgewerkt als onderdeel van een conceptueel + model en daarbij horen definities, toelichtingen, relaties met andere concepten, wetsartikelen of andere + uitleg. Bij elkaar vormen alle concepten een soort "van Dale" van de uitvoering. + properties: + _links: + properties: + eigenschappen: + description: "Link naar de eigenschappen die horen bij dit concept" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + format: "uri" + type: "string" + required: + - "href" + type: "object" + klassen: + description: "Link naar klassen die horen bij dit concept" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klassen?concept=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar het concept" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/concept?subject=http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + format: "uri" + type: "string" + required: + - "href" + type: "object" + type: "object" + bronnen: + items: + type: "string" + example: "http://wetten.overheid.nl/jci1.3:c:BWBR0005537&hoofdstuk=1&titeldeel=1.1&artikel=1:1&z=2017-12-01&g=2017-12-01" + type: "array" + description: "http://purl.org/dc/terms/source" + definitie: + type: "string" + description: "http://www.w3.org/2004/02/skos/core#Definition" + example: "Een orgaan van een rechtspersoon krachtens publiekrecht ingesteld (a-orgaan) of een persoon of college met enig openbaar gezag bekleed (b-orgaan)." + label: + type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#label" + example: "Bevoegd gezag" + schemas: + items: + type: "string" + example: "http://lod.onderwijsregistratie.nl/cat/doc/taxonomy/Organisatie" + type: "array" + description: "http://www.w3.org/2004/02/skos/core#ConceptScheme" + uri: + type: "string" + description: "URI van het specifieke concept" + example: "http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + type: "object" + Eigenschap: + properties: + _links: + properties: + concepten: + description: "Link naar concepten die horen bij deze eigenschap" + properties: + href: + description: "URL van de link" + format: "uri" + type: "string" + required: + - "href" + type: "object" + klasseNaar: + description: "In het geval dat deze eigenschap de relatie van een Klasse\ + \ (A) met een andere Klasse (B) beschrijft, dan is dit de link naar\ + \ de Klasse (B)" + properties: + href: + description: "URL van de link" + format: "uri" + type: "string" + required: + - "href" + type: "object" + klasseVan: + description: "Link naar de klasse die deze eigenschap heeft" + properties: + href: + description: "URL van de link" + format: "uri" + type: "string" + required: + - "href" + type: "object" + modellen: + description: "Link naar modellen die horen bij deze eigenschap" + properties: + href: + description: "URL van de link" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Link naar deze eigenschap" + properties: + href: + description: "URL van de link" + format: "uri" + type: "string" + required: + - "href" + type: "object" + type: "object" + commentaar: + type: "string" + description: "http://www.w3.org/2000/01/rdf-schema#comment" + datatype: + description: "http://www.w3.org/ns/shacl#datatype" + type: "string" + label: + description: "https://www.w3.org/2000/01/rdf-schema#label" + type: "string" + maxCount: + description: "http://www.w3.org/ns/shacl#maxCount" + type: "integer" + maxLength: + description: "http://www.w3.org/ns/shacl#maxLength" + type: "integer" + minCount: + description: "http://www.w3.org/ns/shacl#minCount" + type: "integer" + minLength: + description: "http://www.w3.org/ns/shacl#minLength" + type: "integer" + pattern: + description: "http://www.w3.org/ns/shacl#pattern" + type: "string" + uri: + description: "URI van de specifieke eigenschap" + type: "string" + required: + - "_links" + type: "object" + Error: + description: "Object gespecificeerd volgens https://tools.ietf.org/html/rfc7807." + properties: + detail: + example: "HTTP 404 Not Found" + type: "string" + instance: + example: "self" + type: "string" + status: + example: 404 + format: "int32" + type: "integer" + title: + example: "Not Found" + type: "string" + type: + description: "URI naar een pagina met meer informatie over deze foutmelding\ + \ voor de ontwikkelaar." + example: "about:blank" + type: "string" + required: + - "title" + - "status" + - "detail" + type: "object" + Klasse: + description: > + Een klasse van gegevens is de type-aanduiding voor een groep van gelijksoortige gegevens. Het heeft + een aantal verplichte of optionele eigenschappen. De structuur van de groep gegevens ligt daarmee vast. + De betekenis en doelstelling van een klasse worden nader uitgelegd aan de hand van een concept. (Noot GGR: + klassen kunnen eigenschappen overerven van een superklasse, maar dat is nu niet in de api opgenomen). + + Een enumeratieklasse is een speciaal soort klasse met een limitatieve set van toegestane waarden. + Enumeratieklassen worden centraal beheerd en meervoudig gebruikt in logische modellen. Wat wordt bedoeld + met een enumatieklasse wordt nader uitgelegd aan de hand van een concept. + properties: + _links: + properties: + concepten: + description: "Link naar concepten die horen bij deze eigenschap" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/concepten?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" + format: "uri" + type: "string" + required: + - "href" + type: "object" + eigenschappen: + description: "Link naar de eigenschappen die horen bij deze klasse" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" + format: "uri" + type: "string" + required: + - "href" + type: "object" + modellen: + description: "Link naar modellen die horen bij deze eigenschap" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/modellen?klasse=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Absolute link naar de resource" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klasse?subject=http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" + format: "uri" + type: "string" + required: + - "href" + type: "object" + type: "object" + commentaar: + type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#comment" + example: "Is een Opleidingseenheid die door een Onderwijsaanbieder aangeboden wordt in het MBO, in een bepaalde vorm, al dan niet op een bepaalde Onderwijslocatie." + enumeratie: + items: + properties: + code: + type: "string" + description: "URI van een voorkomen in de limitatieve set van toegestane waarden." + label: + type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#label" + type: "object" + type: "array" + label: + type: "string" + description: "https://www.w3.org/2000/01/rdf-schema#label" + example: "AangebodenMboOpleiding" + uri: + type: "string" + description: "URI van de specifieke klasse" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" + vervangenDoor: + nullable: true + type: "string" + description: "http://purl.org/dc/terms/isReplacedBy" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/NieuweKlasse" + required: + - "_links" + type: "object" + Model: + description: > + https://www.w3.org/2002/07/owl#Ontology: Logische data-/informatiemodellen worden in de ontwerpfase gemaakt om een set gegevens voor uitwisseling + en/of opslag functioneel te beschrijven . Modellen bestaan uit klassen, associaties, eigenschappen en + enumeraties. In samenhang kunnen ze dienen om de integriteit van de beschreven data te valideren. + Technische modellen worden afgeleid van de logische modellen maar zijn vaak specifiek voor gebruikte + techniek. + properties: + _links: + properties: + eigenschappen: + description: "Link naar eigenschappen die horen bij dit model" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/eigenschappen?model=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" + format: "uri" + type: "string" + required: + - "href" + type: "object" + klassen: + description: "Link naar klassen die horen bij dit model" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/klassen?model=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" + format: "uri" + type: "string" + required: + - "href" + type: "object" + self: + description: "Link naar dit model" + properties: + href: + description: "URL van de link" + example: "https://lod.onderwijsregistratie.nl/api/catalogus/v1/model?subject=http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" + format: "url" + type: "string" + required: + - "href" + type: "object" + type: "object" + datumVanaf: + format: "date" + type: "string" + example: "2019-01-24" + description: "http://purl.org/dc/terms/modified" + label: + type: "string" + example: "Canoniek Datamodel DUO" + description: "https://www.w3.org/2000/01/rdf-schema#label" + uri: + type: "string" + example: "http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" + description: "URI van het specifieke model" + versieInfo: + items: + type: "string" + example: "Aangemaakt op 2019-01-24 09:11:24 op basis van commit 3715." + description: "https://www.w3.org/2002/07/owl#versionInfo" + type: "array" type: "object" \ No newline at end of file From cc5a5b782e58898252764c19898f2b294996206a Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Wed, 10 Apr 2019 17:08:38 +0200 Subject: [PATCH 23/27] filteren op datumVanaf is verwijderd uit de api, dus ook niet meer in de OAS specificeren --- .gitignore | 2 ++ duo/catalogus.yaml | 20 ++++++++------------ 2 files changed, 10 insertions(+), 12 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a9b723e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +.project diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index db1f781..d61aac2 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -22,7 +22,7 @@ info: als afnemer van de basisregistraties, zou op deze manier een link kunnen opnemen van BPR- of andere gegevens in applicatie-ontwerpen. Nota bene 2: In de praktijk maken organisaties een eigen keuze uit - een scala van (commerciële) ontwikkelplatforms. Het idee achter de + een scala van (commerciële) ontwikkelplatforms. Het idee achter de catalogus-API is vooral krachtig als zulke platforms in staat zijn om de API uit te vragen. Een API-key voor het krijgen van toegang tot de catalogus-api is @@ -178,7 +178,6 @@ paths: parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" - - $ref: "#/components/parameters/datumVanaf" - $ref: "#/components/parameters/eigenschap" - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/filter" @@ -229,12 +228,7 @@ components: description: "Filteren op `concept`" in: "query" name: "concept" - schema: - type: "string" - datumVanaf: - description: "Filteren op `datumVanaf`" - in: "query" - name: "datumVanaf" + example: "http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" schema: type: "string" eigenschap: @@ -259,6 +253,7 @@ components: type: "string" model: description: "Filteren op `model`" + example: "http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" in: "query" name: "model" schema: @@ -289,13 +284,14 @@ components: type: "integer" schema: description: "Filteren op `schema`" + example: "http://lod.onderwijsregistratie.nl/cat/doc/taxonomy/Onderwijswettelijk" in: "query" name: "schema" schema: type: "string" sortDirection: description: "Specificeert de richting van de sortering." - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + example: "desc" in: "query" name: "sortDirection" schema: @@ -306,7 +302,7 @@ components: type: "string" sortProperty: description: "Specificeert op welk atribuut gesorteerd moet worden." - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + example: "label" in: "query" name: "sortProperty" schema: @@ -315,7 +311,7 @@ components: type: "string" sortPropertyConcept: description: "Specificeert op welk atribuut gesorteerd moet worden." - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + example: "altLabel" in: "query" name: "sortProperty" schema: @@ -323,7 +319,7 @@ components: - "label" - "altLabel" type: "string" - subject: + subjectConcept: description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" in: "query" name: "subject" From 07f9f8260296a2cdcaaef85d2619a70fb2b81fec Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Wed, 10 Apr 2019 17:17:45 +0200 Subject: [PATCH 24/27] fix error in yaml --- duo/catalogus.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 2b15349..cad9b0b 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -319,7 +319,7 @@ components: - "label" - "altLabel" type: "string" - subjectConcept: + subject: description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" in: "query" name: "subject" From 40d35bc88fcd1f75e6a79e004d0e716f5e4ee1dc Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Wed, 10 Apr 2019 18:06:54 +0200 Subject: [PATCH 25/27] voor iedere resource een voorbeeld van een specifieke opvraging toegevoegd --- duo/catalogus.yaml | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index cad9b0b..12cda1c 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -34,7 +34,7 @@ paths: /concept: get: parameters: - - $ref: "#/components/parameters/subject" + - $ref: "#/components/parameters/subjectConcept" responses: 200: $ref: "#/components/responses/Concept" @@ -75,7 +75,7 @@ paths: /eigenschap: get: parameters: - - $ref: "#/components/parameters/subject" + - $ref: "#/components/parameters/subjectEigenschap" responses: 200: $ref: "#/components/responses/Eigenschap" @@ -117,7 +117,7 @@ paths: /klasse: get: parameters: - - $ref: "#/components/parameters/subject" + - $ref: "#/components/parameters/subjectKlasse" responses: 200: $ref: "#/components/responses/Klasse" @@ -158,7 +158,7 @@ paths: /model: get: parameters: - - $ref: "#/components/parameters/subject" + - $ref: "#/components/parameters/subjectModel" responses: 200: $ref: "#/components/responses/Model" @@ -319,9 +319,34 @@ components: - "label" - "altLabel" type: "string" - subject: - description: "URI van de op te vragen resource. Voorbeeld: http://lod.onderwijsregistratie.nl/cat/term/Cijfer" + subjectConcept: + description: "URI van de op te vragen resource." in: "query" + example: "http://lod.onderwijsregistratie.nl/cat/term/BevoegdGezag" + name: "subject" + required: true + schema: + type: "string" + subjectKlasse: + description: "URI van de op te vragen resource." + in: "query" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/AangebodenMboOpleiding" + name: "subject" + required: true + schema: + type: "string" + subjectEigenschap: + description: "URI van de op te vragen resource." + in: "query" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/sh/Cijfer/cijferExamen" + name: "subject" + required: true + schema: + type: "string" + subjectModel: + description: "URI van de op te vragen resource." + in: "query" + example: "http://lod.onderwijsregistratie.nl/cat/doc/ontology/v1/Cdm" name: "subject" required: true schema: From 479a755fa46ee6a7528f3c8b9be0bdf01dd004ac Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Thu, 11 Apr 2019 12:54:24 +0200 Subject: [PATCH 26/27] Filteren op eigenschap kan niet bij de resource Eigenschap, dus die verwijderd. Bij de parameters voorbeelden aangepast met parameters die bij meerdere endpoints resultaat geven. --- duo/catalogus.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 12cda1c..260ec88 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -96,7 +96,6 @@ paths: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" - $ref: "#/components/parameters/concept" - - $ref: "#/components/parameters/eigenschap" - $ref: "#/components/parameters/klasse" - $ref: "#/components/parameters/model" - $ref: "#/components/parameters/filter" @@ -233,20 +232,21 @@ components: type: "string" eigenschap: description: "Filteren op `eigenschap`" - example: "http://lod.onderwijsregistratie.nl/cdm/def/postcode-v02" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/bevoegdGezagnummer" in: "query" name: "eigenschap" schema: type: "string" filter: description: "Hoofdletter ongevoelig filteren op `labels` van de resource" + example: "post" in: "query" name: "filter" schema: type: "string" klasse: description: "Filteren op `klasse`" - example: "http://lod.onderwijsregistratie.nl/cdm/def/Postadres" + example: "http://lod.onderwijsregistratie.nl/cat/cdm/def/BevoegdGezagErkenning" in: "query" name: "klasse" schema: From 52431b45b1896b39051cb6f3e21ea0a2429d2724 Mon Sep 17 00:00:00 2001 From: DionKoolhaas Date: Fri, 12 Apr 2019 15:05:43 +0200 Subject: [PATCH 27/27] Api-key omschrijving verwijderd, want dit is niet nodig. --- duo/catalogus.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/duo/catalogus.yaml b/duo/catalogus.yaml index 260ec88..27a5f62 100644 --- a/duo/catalogus.yaml +++ b/duo/catalogus.yaml @@ -25,9 +25,6 @@ info: een scala van (commerciële) ontwikkelplatforms. Het idee achter de catalogus-API is vooral krachtig als zulke platforms in staat zijn om de API uit te vragen. - Een API-key voor het krijgen van toegang tot de catalogus-api is - gratis en kan verkregen worden door een e-mail te sturen naar - dataplatform@kadaster.nl. Deze API-key werkt ook voor de RIO-data. servers: - url: "https://lod.onderwijsregistratie.nl/api/catalogus/v1" paths: