<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="nl">
  <siteinfo>
    <sitename>Kunstmuseum API</sitename>
    <dbname>mediawiki</dbname>
    <base>https://api.kunstmuseum.nl/wiki/Kunstmuseum_API</base>
    <generator>MediaWiki 1.43.8</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Speciaal</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Overleg</namespace>
      <namespace key="2" case="first-letter">Gebruiker</namespace>
      <namespace key="3" case="first-letter">Overleg gebruiker</namespace>
      <namespace key="4" case="first-letter">Wiki</namespace>
      <namespace key="5" case="first-letter">Overleg Wiki</namespace>
      <namespace key="6" case="first-letter">Bestand</namespace>
      <namespace key="7" case="first-letter">Overleg bestand</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">Overleg MediaWiki</namespace>
      <namespace key="10" case="first-letter">Sjabloon</namespace>
      <namespace key="11" case="first-letter">Overleg sjabloon</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Overleg help</namespace>
      <namespace key="14" case="first-letter">Categorie</namespace>
      <namespace key="15" case="first-letter">Overleg categorie</namespace>
      <namespace key="120" case="first-letter">Item</namespace>
      <namespace key="121" case="first-letter">Item talk</namespace>
      <namespace key="122" case="first-letter">Property</namespace>
      <namespace key="123" case="first-letter">Property talk</namespace>
      <namespace key="420" case="first-letter">GeoJson</namespace>
      <namespace key="421" case="first-letter">GeoJson talk</namespace>
      <namespace key="640" case="first-letter">EntitySchema</namespace>
      <namespace key="641" case="first-letter">EntitySchema talk</namespace>
      <namespace key="828" case="first-letter">Module</namespace>
      <namespace key="829" case="first-letter">Overleg module</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Kunstmuseum API</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>465702</id>
      <parentid>465701</parentid>
      <timestamp>2024-11-13T09:29:39Z</timestamp>
      <contributor>
        <username>Pefferen</username>
        <id>12</id>
      </contributor>
      <minor/>
      <comment>/* Query service */ /w/ toegevoegd aan url</comment>
      <origin>465702</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="4349" sha1="p5w5y3jkc4u01mgd5zpg8xkuaq6jblr" xml:space="preserve">[[Bestand:11.14 Schreurs Gemeentemuseum ExterieurNEW RGB.jpg|thumb]]
==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 [[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&amp;ids=Q1&amp;format=jsonfm

== Datastructuur ==
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.

== 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/

* nederlandstalig endpoint: https://reconciliation.kunstmuseum.nl/nl/api
* engelstalig endpoint: https://reconciliation.kunstmuseum.nl/en/api

=== 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
 }</text>
      <sha1>p5w5y3jkc4u01mgd5zpg8xkuaq6jblr</sha1>
    </revision>
  </page>
</mediawiki>
