Kunstmuseum API: verschil tussen versies

Uit Kunstmuseum API
Naar navigatie springen Naar zoeken springen
k (→‎Query service: /w/ toegevoegd aan url)
 
(10 tussenliggende versies door een andere gebruiker niet weergegeven)
Regel 1: Regel 1:
[[Bestand:11.14 Schreurs Gemeentemuseum ExterieurNEW RGB.jpg|thumb]]
==Inleiding==
==Inleiding==
api.kunstmuseum.nl is opgezet om objecten, tentoonstellingen en andere gebeurtenissen als Linked Open Data te verstrekken. Hiervoor 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. Daarnaast kan de informatie ook via een REST-API uitgelezen worden.
Deze website is opgezet om objecten, tentoonstellingen en andere gebeurtenissen als Linked Open Data te verstrekken.  


== Dataset ==
== Dataset ==
De data is momenteel fragmentarisch. 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]].
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


== Datastructuur ==
== Datastructuur ==
Regel 9: Regel 15:


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


==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/
De API is benaderbaar via https://api.kunstmuseum.nl/api.php


Een voorbeeld om item Q1 op te vragen: https://api.kunstmuseum.nl/api.php?action=wbgetentities&ids=Q1&format=jsonfm
== Reconciliation ==
Voor reconciliation met de data van het Kunstmuseum is een reconciliation-service opgezet: https://reconciliation.kunstmuseum.nl/


SPARQL-queries zijn mogelijk via https://api.kunstmuseum.nl/query/
* nederlandstalig endpoint: https://reconciliation.kunstmuseum.nl/nl/api
* engelstalig endpoint: https://reconciliation.kunstmuseum.nl/en/api


Het SPARQL-endpoint is te vinden op https://api.kunstmuseum.nl/query/proxy/wdqs/bigdata/namespace/wdq/sparql
=== 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:


Er moeten voorlopig verplicht prefixen meegegeven worden:
<code><br>
<nowiki>PREFIX wd: <https://api.kunstmuseum.nl/entity/></nowiki><br>
<nowiki>PREFIX wds: <https://api.kunstmuseum.nl/entity/statement/></nowiki><br>
<nowiki>PREFIX wdv: <https://api.kunstmuseum.nl/value/></nowiki><br>
<nowiki>PREFIX wdt: <https://api.kunstmuseum.nl/prop/direct/></nowiki><br>
<nowiki>PREFIX wikibase: <http://wikiba.se/ontology#></nowiki><br>
<nowiki>PREFIX p: <https://api.kunstmuseum.nl/prop/></nowiki><br>
<nowiki>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#></nowiki><br>
</code>
Achtergrond over de Wikibase API is hier te vinden: https://www.mediawiki.org/wiki/Wikibase/API


== Testcollectie ==
{
Een eerste testcollectie is opgezet met [[Project/van_Gogh_Worldwide|van Gogh Worldwide]]
  "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
}