Eduterm:Interface: verschil tussen versies

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen
k (Admin heeft pagina OBKAPI:Interface hernoemd naar Eduterm:Interface)
(interface herindeling)
Regel 1: Regel 1:
  +
De interface beschrijving is opgedeeld in 3 delen:
De API is te bevragen via de url.
 
   
== Endpoints ==
+
== Algemeen ==
  +
=== Endpoint ===
* <nowiki>http://api.onderwijsbegrippen.kennisnet.nl/1.0/Query/</nowiki>
 
  +
* <nowiki>http://api.onderwijsbegrippen.kennisnet.nl/1.0/</nowiki>
   
== Argumenten ==
+
=== Foutmeldingen ===
  +
De 1.0 versie geeft HTTP errors terug, en het bericht in HTML.
  +
{| class="wikitable"
  +
|-
  +
! HTTP error
  +
! omschrijving
  +
|-
  +
| 401 Unauthorized
  +
| request is goed, maar api-key niet geautoriseerd voor gevraagde query
  +
|-
  +
| 400 Bad Request
  +
| fout in request, query of argumenten
  +
|-
  +
|}
  +
  +
== Query ==
  +
=== Endpoint ===
  +
* <nowiki>http://api.onderwijsbegrippen.kennisnet.nl/1.0/Query</nowiki>
  +
  +
=== Argumenten ===
 
Afhankelijk van het type zoekopdracht zijn er verschillende argument. Meer informatie vindt u op de OBK-API overzichtspagina voor uw api-key. Hieronder een overzicht van de generieke argumenten.
 
Afhankelijk van het type zoekopdracht zijn er verschillende argument. Meer informatie vindt u op de OBK-API overzichtspagina voor uw api-key. Hieronder een overzicht van de generieke argumenten.
   
Regel 27: Regel 47:
 
| 0-1
 
| 0-1
 
| string
 
| string
| Verwijst naar een optioneel RDF store [[OBKAPI:Endpoints|endpoint]], Kennisnetset2015.01 of OBKProductie. Default is het endpoint OBKProductie.
+
| Verwijst naar een optionele andere RDF store.
 
|-
 
|-
 
|}
 
|}
   
== Voorbeeld Verzoek ==
+
=== Datatype ===
  +
Waar de daadwerkelijke "values" in de JSON altijd als string terugkomen, kan er een datatype in de response gedefinieerd zijn:
  +
<syntaxhighlight lang="javascript">
  +
{
  +
"hasChildren": {
  +
"datatype": "http://www.w3.org/2001/XMLSchema#boolean",
  +
"type": "literal",
  +
"value": "true"
  +
}
  +
}
  +
</syntaxhighlight>
  +
In het bovenstaande voorbeeld kan de string "true" geinterpreteerd worden als een boolean TRUE. Een overzicht van de bekende datatypes:
  +
* <nowiki>http://www.w3.org/2001/XMLSchema#boolean</nowiki>
  +
* <nowiki>http://www.w3.org/2001/XMLSchema#integer</nowiki>
  +
  +
=== Formaat ===
  +
Afhankelijk van de HTTP Accept Header of het meegegeven ''format'', wordt het uitvoerformaat bepaald. Het ''format'' argument heeft bij het bepalen de voorkeur. Wanneer geen HTTP Accept Header of format argument worden gegeven, is '''json''' de default uitvoer.
  +
{| class="wikitable"
  +
|-
  +
! HTTP Accept Header
  +
! format waarde
  +
! omschrijving
  +
|-
  +
| application/json
  +
| json
  +
| [https://www.w3.org/TR/sparql11-results-json/ sparql json]
  +
|-
  +
| text/html
  +
| html
  +
| formatted table
  +
|-
  +
| application/sparql-results+xml
  +
| xml
  +
| [https://www.w3.org/TR/rdf-sparql-XMLres/ sparql xml]
  +
|-
  +
|
  +
| csv
  +
| csv table
  +
|}
  +
  +
=== Voorbeeld Verzoek ===
 
{{ObkapiQuery|query=Onderwijsniveaus}}
 
{{ObkapiQuery|query=Onderwijsniveaus}}
   
== Voorbeeld Respons ==
+
=== Voorbeeld Respons (sparql json) ===
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
{
 
{
Regel 82: Regel 142:
 
</syntaxhighlight>
 
</syntaxhighlight>
   
== Datatype ==
+
== ListQueries ==
  +
Met het speciale ListQueries endpoint, kunnen de voor de API-key toegankelijke queries worden bekeken. In de HTML weergave wordt de "query run" link alleen getoond als alle parameters voorzien zijn van voorbeeldwaarden.
Waar de daadwerkelijke "values" in de JSON altijd als string terugkomen, kan er een datatype in de response gedefinieerd zijn:
 
<syntaxhighlight lang="javascript">
 
{
 
"hasChildren": {
 
"datatype": "http://www.w3.org/2001/XMLSchema#boolean",
 
"type": "literal",
 
"value": "true"
 
}
 
}
 
</syntaxhighlight>
 
In het bovenstaande voorbeeld kan de string "true" geinterpreteerd worden als een boolean TRUE. Een overzicht van de bekende datatypes:
 
* <nowiki>http://www.w3.org/2001/XMLSchema#boolean</nowiki>
 
* <nowiki>http://www.w3.org/2001/XMLSchema#integer</nowiki>
 
   
== Formaat ==
+
=== Endpoint ===
  +
* <nowiki>http://api.onderwijsbegrippen.kennisnet.nl/1.0/ListQueries</nowiki>
Afhankelijk van de HTTP Accept Header of het meegegeven ''format'', wordt het uitvoerformaat bepaald. Het ''format'' argument heeft bij het bepalen de voorkeur. Wanneer geen HTTP Accept Header of format argument worden gegeven, is '''json''' de default uitvoer.
 
{| class="wikitable"
 
|-
 
! HTTP Accept Header
 
! format waarde
 
! omschrijving
 
|-
 
| application/json
 
| json
 
| [https://www.w3.org/TR/sparql11-results-json/ sparl json]
 
|-
 
| text/html
 
| html
 
| formatted table
 
|-
 
| application/sparql-results+xml
 
| xml
 
| [https://www.w3.org/TR/rdf-sparql-XMLres/ sparql xml]
 
|-
 
|
 
| csv
 
| csv table
 
|}
 
   
== ListQueries ==
+
=== Voorbeeld Verzoek ===
Met het speciale ListQueries endpoint, kunnen de voor de API-key toegankelijke queries worden bekeken. Deze query volgt de bovenstaande format interface voor html en json.
+
Deze query volgt de bovenstaande format interface voor html en json.
 
<nowiki>http://api.onderwijsbegrippen.kennisnet.nl/1.0/ListQueries?api_key=geheim</nowiki>
 
<nowiki>http://api.onderwijsbegrippen.kennisnet.nl/1.0/ListQueries?api_key=geheim</nowiki>
   
  +
=== Voorbeeld Respons (json) ===
In de HTML weergave wordt de "query run" link alleen getoond als alle parameters voorzien zijn van voorbeeldwaarden.
 
 
'''JSON voorbeeld''':
 
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
[
 
[
Regel 148: Regel 172:
 
</syntaxhighlight>
 
</syntaxhighlight>
   
  +
== Foutmeldingen ==
 
De 1.0 versie geeft HTTP errors terug, en het bericht in HTML.
 
{| class="wikitable"
 
|-
 
! HTTP error
 
! omschrijving
 
|-
 
| 401 Unauthorized
 
| request is goed, maar api-key niet geautoriseerd voor gevraagde query
 
|-
 
| 400 Bad Request
 
| fout in request, query of argumenten
 
|-
 
|}
 
   
 
[[Categorie:Eduterm]]
 
[[Categorie:Eduterm]]

Versie van 9 jul 2018 11:29

De interface beschrijving is opgedeeld in 3 delen:

Algemeen

Endpoint

  • http://api.onderwijsbegrippen.kennisnet.nl/1.0/

Foutmeldingen

De 1.0 versie geeft HTTP errors terug, en het bericht in HTML.

HTTP error omschrijving
401 Unauthorized request is goed, maar api-key niet geautoriseerd voor gevraagde query
400 Bad Request fout in request, query of argumenten

Query

Endpoint

  • http://api.onderwijsbegrippen.kennisnet.nl/1.0/Query

Argumenten

Afhankelijk van het type zoekopdracht zijn er verschillende argument. Meer informatie vindt u op de OBK-API overzichtspagina voor uw api-key. Hieronder een overzicht van de generieke argumenten.

naam # type omschrijving
api_key 1 uuid De gebruikssleutel voor uw applicatie. Deze sleutel bepaalt tot welke zoekopdrachten toegang is verleend.
format 0-1 string Het uitvoerformaat, json, xml, html of csv. Standaard json, via moderne browsers standaard html. Lees meer.
endpoint 0-1 string Verwijst naar een optionele andere RDF store.

Datatype

Waar de daadwerkelijke "values" in de JSON altijd als string terugkomen, kan er een datatype in de response gedefinieerd zijn:

{
    "hasChildren": {
        "datatype": "http://www.w3.org/2001/XMLSchema#boolean",
        "type": "literal",
        "value": "true"
    }
}

In het bovenstaande voorbeeld kan de string "true" geinterpreteerd worden als een boolean TRUE. Een overzicht van de bekende datatypes:

  • http://www.w3.org/2001/XMLSchema#boolean
  • http://www.w3.org/2001/XMLSchema#integer

Formaat

Afhankelijk van de HTTP Accept Header of het meegegeven format, wordt het uitvoerformaat bepaald. Het format argument heeft bij het bepalen de voorkeur. Wanneer geen HTTP Accept Header of format argument worden gegeven, is json de default uitvoer.

HTTP Accept Header format waarde omschrijving
application/json json sparql json
text/html html formatted table
application/sparql-results+xml xml sparql xml
csv csv table

Voorbeeld Verzoek

https://api.onderwijsbegrippen.kennisnet.nl/1.0/Query/Onderwijsniveaus?api_key=geheim

Voorbeeld Respons (sparql json)

{
    "head": {
        "vars": [
            "onderwijsniveau",
            "onderwijsniveauLabel",
            "lomPurpose",
            "parent",
            "parentLabel"
        ]
    },
    "results": {
        "bindings": [
            {
                "onderwijsniveauLabel": {
                    "xml:lang": "nl",
                    "type": "literal",
                    "value": "Beroepsonderwijs en Volwasseneneducatie"
                },
                "onderwijsniveau": {
                    "type": "uri",
                    "value": "http://purl.edustandaard.nl/begrippenkader/caa97efc-a713-41ea-a845-1534ca65eac9"
                },
                "lomPurpose": {
                    "type": "literal",
                    "value": "educational level"
                }
            },
            {
                "onderwijsniveauLabel": {
                    "xml:lang": "nl",
                    "type": "literal",
                    "value": "HBO"
                },
                "onderwijsniveau": {
                    "type": "uri",
                    "value": "http://purl.edustandaard.nl/begrippenkader/be140797-803f-4b9e-81cc-5572c711e09c"
                },
                "lomPurpose": {
                    "type": "literal",
                    "value": "educational level"
                }
            }
      ]}
}

ListQueries

Met het speciale ListQueries endpoint, kunnen de voor de API-key toegankelijke queries worden bekeken. In de HTML weergave wordt de "query run" link alleen getoond als alle parameters voorzien zijn van voorbeeldwaarden.

Endpoint

  • http://api.onderwijsbegrippen.kennisnet.nl/1.0/ListQueries

Voorbeeld Verzoek

Deze query volgt de bovenstaande format interface voor html en json.

http://api.onderwijsbegrippen.kennisnet.nl/1.0/ListQueries?api_key=geheim

Voorbeeld Respons (json)

[
  {
    "default_endpoint": "OBKProductie",
    "allowed_endpoints": [
      "Kennisnetset201501",
      "OBKProductie",
    ],
    "example_values": {
      "onderwijsniveau": "bk:512e4729-03a4-43a2-95ba-758071d1b725"
    },
    "parameters": [
      "onderwijsniveau"
    ],
    "name": "VakLeergebieden"
  }
]