Kunstmuseum API: verschil tussen versies

Uit Kunstmuseum API
Naar navigatie springen Naar zoeken springen
Geen bewerkingssamenvatting
k (→‎Query service: /w/ toegevoegd aan url)
 
(22 tussenliggende versies door 3 gebruikers niet weergegeven)
Regel 1: Regel 1:
[[Bestand:11.14 Schreurs Gemeentemuseum ExterieurNEW RGB.jpg|thumb]]
==Inleiding==
==Inleiding==
api.kunstmuseum.nl is een Wikibase-installatie die is opgezet om objecten voor de website delftsaardewerk.nl te kunnen leveren via de API.
Deze website is opgezet om objecten, tentoonstellingen en andere gebeurtenissen als Linked Open Data te verstrekken.  


In de API hebben we momenteel [[Speciaal:Eigenschappen|eigenschappen]] aangemaakt die alle tekstvelden zijn (weergavetekst) bij de import. In een latere fase willen we dat deze eigenschappen bij de import voorzien zijn van een externe identifier (bijvoobeeld RKD-artist) waarna we een vervaardiger aanmaken met entity referentie.
== Dataset ==
De data omvat momenteel een klein deel van het Kunstmuseum, maar er is het voornemen alle objecten en tentoonstellingen op te nemen. De service is oorspronkelijk opgezet om de content voor de website [[Project/Delftsaardewerk|Delftsaardewerk.nl]] vanuit verschillende musea te importeren en te leveren via de API. Daarna is het ook ingezet voor [[Project/van_Gogh_Worldwide|van Gogh Worldwide.]] Daarna volgde het project [[Project/Aziatisch keramiek|Aziatisch keramiek]].


== Query service ==
Om de data op te vragen is een [https://api.kunstmuseum.nl/query/#PREFIX%20wd%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fentity%2F%3E%0APREFIX%20wds%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fentity%2Fstatement%2F%3E%0APREFIX%20wdv%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fvalue%2F%3E%0APREFIX%20wdt%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fprop%2Fdirect%2F%3E%0APREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20p%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fprop%2F%3E%0APREFIX%20ps%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fprop%2Fstatement%2F%3E%0APREFIX%20pq%3A%20%3Chttps%3A%2F%2Fapi.kunstmuseum.nl%2Fprop%2Fqualifier%2F%3E%0APREFIX%20xsd%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0A%0ASELECT%20%3Fitem%20%3FitemLabel%20%0AWHERE%20%0A%7B%0A%20%20%23%3Fitem%20wdt%3AP4%20wd%3AQ9.%20%23is%20een%20mens%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cnl%22.%20%7D%0A%7D query service] aanwezig waarbij de informatie via SPARQL bevraagd kan worden. Het SPARQL-endpoint is te vinden op https://api.kunstmuseum.nl/query/proxy/wdqs/bigdata/namespace/wdq/sparql


Daarnaast kan de informatie ook via een REST-API uitgelezen worden. De API is benaderbaar via https://api.kunstmuseum.nl/w/api.php Een voorbeeld om item Q1 op te vragen: https://api.kunstmuseum.nl/w/api.php?action=wbgetentities&ids=Q1&format=jsonfm


==API==
== Datastructuur ==
De API is benaderbaar via https://api.kunstmuseum.nl/api.php
In de API hebben we verschillende [[Special:ListProperties|eigenschappen]]. Deze eigenschappen hebben een kwalifier waarin in een tekstveld de presentatietekst wordt opgeslagen. Vervolgens draaien er scripts die uit de presentatietekst zoveel mogelijk de eigenschappen bij de import voorzien zijn van een item.


Een voorbeeld om item Q1 op te vragen: https://api.kunstmuseum.nl/api.php?action=wbgetentities&ids=Q1&format=jsonfm
== Infrastructuur ==
Als triplestore wordt gebruik gemaakt van een Wikibase-installatie. https://www.mediawiki.org/wiki/Wikibase/API


SPARQL-queries zijn mogelijk via https://query.kunstmuseum.nl
Collectie-items worden ingelezen via python scripts, zie https://gitlab.com/KunstmuseumDenHaag/expertsites/API met de library WikibaseIntegrator. https://pypi.org/project/wikibaseintegrator/0.11.2/


Achtergrond over de Wikibase API is hier te vinden: https://www.mediawiki.org/wiki/Wikibase/API
== Reconciliation ==
Voor reconciliation met de data van het Kunstmuseum is een reconciliation-service opgezet: https://reconciliation.kunstmuseum.nl/


== Testcollectie ==
* nederlandstalig endpoint: https://reconciliation.kunstmuseum.nl/nl/api
Een eerste testcollectie is opgezet.
* engelstalig endpoint: https://reconciliation.kunstmuseum.nl/en/api
Modelitem:
 
[http://api.gemeentemuseum.nl/index.php?title=Item:Q6 Q6]
=== Openrefine ===
{{Q|Q6}}
Het reconciliation-endpoint kan in Openrefine worden ingevoerd om te koppelen. Om items vervolgens te uploaden is een account en een manifest nodig. Onderstaand is te gebruiken als manifest:
{{Wikibase statement|item=Berlin|property=Mayor|value=[[Klaus Wowereit]]||qualifier1=since|value1=16 June 2001|numberofsources=0}}
 
 
{
  "version": "2.0",
  "mediawiki": {
    "name": "Kunstmuseum API",
    "root": "https://api.kunstmuseum.nl/wiki/",
    "main_page": "https://api.kunstmuseum.nl/wiki/Kunstmuseum_API",
    "api": "https://api.kunstmuseum.nl/w/api.php"
  },
  "wikibase": {
    "site_iri": "https://api.kunstmuseum.nl/entity/",
    "maxlag": 5,
    "max_edits_per_minute": 240,
    "tag": "openrefine-${version}",
    "properties": {
      "instance_of": "P4",
      "subclass_of": "P47"
    }
  },
  "oauth": {
    "registration_page": "https://api.kunstmuseum.nl/wiki/Speciaal:OAuthGebruikerRegistratie/propose"
  },
  "entity_types": {
    "item": {
      "site_iri": "https://api.kunstmuseum.nl/entity/",
      "reconciliation_endpoint": "https://reconciliation.kunstmuseum.nl/${lang}/api",
      "mediawiki_api": "https://api.kunstmuseum.nl/w/api.php"
    },
    "property": {
      "site_iri": "https://api.kunstmuseum.nl/entity/",
      "mediawiki_api": "https://api.kunstmuseum.nl/w/api.php"
    }
  },
  "hide_structured_fields_in_mediainfo": true
}

Huidige versie van 13 nov 2024 om 09:29

11.14 Schreurs Gemeentemuseum ExterieurNEW RGB.jpg

Inleiding

Deze website is opgezet om objecten, tentoonstellingen en andere gebeurtenissen als Linked Open Data te verstrekken.

Dataset

De data omvat momenteel een klein deel van het Kunstmuseum, maar er is het voornemen alle objecten en tentoonstellingen op te nemen. De service is oorspronkelijk opgezet om de content voor de website Delftsaardewerk.nl vanuit verschillende musea te importeren en te leveren via de API. Daarna is het ook ingezet voor van Gogh Worldwide. Daarna volgde het project Aziatisch keramiek.

Query service

Om de data op te vragen is een query service aanwezig waarbij de informatie via SPARQL bevraagd kan worden. Het SPARQL-endpoint is te vinden op https://api.kunstmuseum.nl/query/proxy/wdqs/bigdata/namespace/wdq/sparql

Daarnaast kan de informatie ook via een REST-API uitgelezen worden. De API is benaderbaar via https://api.kunstmuseum.nl/w/api.php Een voorbeeld om item Q1 op te vragen: https://api.kunstmuseum.nl/w/api.php?action=wbgetentities&ids=Q1&format=jsonfm

Datastructuur

In de API hebben we verschillende eigenschappen. Deze eigenschappen hebben een kwalifier waarin in een tekstveld de presentatietekst wordt opgeslagen. Vervolgens draaien er scripts die uit de presentatietekst zoveel mogelijk de eigenschappen bij de import voorzien zijn van een item.

Infrastructuur

Als triplestore wordt gebruik gemaakt van een Wikibase-installatie. https://www.mediawiki.org/wiki/Wikibase/API

Collectie-items worden ingelezen via python scripts, zie https://gitlab.com/KunstmuseumDenHaag/expertsites/API met de library WikibaseIntegrator. https://pypi.org/project/wikibaseintegrator/0.11.2/

Reconciliation

Voor reconciliation met de data van het Kunstmuseum is een reconciliation-service opgezet: https://reconciliation.kunstmuseum.nl/

Openrefine

Het reconciliation-endpoint kan in Openrefine worden ingevoerd om te koppelen. Om items vervolgens te uploaden is een account en een manifest nodig. Onderstaand is te gebruiken als manifest:


{
 "version": "2.0",
 "mediawiki": {
   "name": "Kunstmuseum API",
   "root": "https://api.kunstmuseum.nl/wiki/",
   "main_page": "https://api.kunstmuseum.nl/wiki/Kunstmuseum_API",
   "api": "https://api.kunstmuseum.nl/w/api.php"
 },
 "wikibase": {
   "site_iri": "https://api.kunstmuseum.nl/entity/",
   "maxlag": 5,
   "max_edits_per_minute": 240,
   "tag": "openrefine-${version}",
   "properties": {
     "instance_of": "P4",
     "subclass_of": "P47"
   }
 },
 "oauth": {
   "registration_page": "https://api.kunstmuseum.nl/wiki/Speciaal:OAuthGebruikerRegistratie/propose"
 },
 "entity_types": {
   "item": {
      "site_iri": "https://api.kunstmuseum.nl/entity/",
      "reconciliation_endpoint": "https://reconciliation.kunstmuseum.nl/${lang}/api",
      "mediawiki_api": "https://api.kunstmuseum.nl/w/api.php"
   },
   "property": {
      "site_iri": "https://api.kunstmuseum.nl/entity/",
      "mediawiki_api": "https://api.kunstmuseum.nl/w/api.php"
   }
 },
 "hide_structured_fields_in_mediainfo": true
}