Shortcut: Wikidata:Gentle Query

Wikidata:SPARQL query service/A gentle introduction to the Wikidata Query Service/nl

From Wikidata
Jump to navigation Jump to search
This page is a translated version of the page Wikidata:SPARQL query service/A gentle introduction to the Wikidata Query Service and the translation is 100% complete.

Een introductie van de Wikidata Query Service

Heeft u zich ooit de volgende vragen gesteld?

  • Welke grootste steden ter wereld hebben een vrouwelijke burgemeester?
  • Welke luchthavens bevinden zich binnen 100 km van Berlijn?
  • Wie waren de bekende nakomelingen van Genghis Khan?

Wikidata heeft de antwoorden.

Wat is Wikidata?

Wikidata is een bewaarplaats van kennis. U kunt een introductie lezen over het idee en de concepten achter Wikidata.

Hoe stel ik een vraag?

De taal die wordt gebruikt om vragen als die op Wikidata (queries) te stellen, wordt SPARQL genoemd. Als dit te technisch en te ingewikkeld klinkt, maakt u zich geen zorgen. Voor deze niet technische introductie hoeft u dat niet te leren. We zullen in plaats daarvan bestaande voorbeeldvragen bekijken en hoe ze kunnen worden bewerkt.

Wat is een query?

Een query is een speciale vraag die computersystemen kunnen begrijpen en beantwoorden. Tenzij u met een kunstmatige intelligentie in contact komt, moet u leren hoe u de vragen op een bepaalde manier formuleert.

Kan ik deze gegevens vrij gebruiken?

Ja. Wikidata kan door iedereen voor alles worden gebruikt omdat alle gegevens in het Publieke Domein (CC0) zijn.

Wat nu?

We beginnen met een eenvoudig voorbeeld om te laten zien hoe u deze service kunt gebruiken, en als we verder gaan met meer uitgebreide voorbeelden, krijgt u het antwoord op de fundamentele vraag.

Hoe Wikidata te gebruiken voor een eenvoudige vraag

Laten we een eenvoudig voorbeeld geven om een lijst te maken van alle bekende katten ter wereld.

Maak een lijst met alle katten ter wereld

Gebruik deze URL om naar de Query Service te komen: https://query.wikidata.org

  1. Klik op Voorbeelden
  2. Selecteer katten uit de lijst die in het nieuwe venster verschijnt
  3. Klik op de knop 'Zoekopdracht uitvoeren', een blauwe knop met een wit driehoekje

Dit heeft ons nu een lijst gegeven van alle beroemde en beruchte katten op het internet - of tenminste die Wikidata kent. Dit is geweldig, mits u een kattenmens bent en niet, zeg, een hondenmens.

En nu met honden?

Als u een lijst met honden wilt (of wat dan ook), zijn er twee manieren om de vraag te wijzigen

  1. Gebruik de Query Helper om het item van kat naar dierentuin te veranderen:
  2. De query handmatig wijzigen Elk item op Wikidata wordt uniek geïdentificeerd met behulp van een code. Deze code is Q146 voor "kat". Om de overeenkomstige code voor "hond" te vinden, kunt u op Wikidata zoeken:
  1. Gebruik automatische voltooiing (dit wordt aan het eind behandeld)
  2. Begin met het voorbeeld "Katten", verwijder "Q146"
  3. Plaats cursor na "wd:"
  4. Typ "Dog" na "wd:
  5. Druk op Ctrl+Space
  6. Gebruik omhoog-/omlaagpijlen; wanneer u op Enter klikt - wordt het vervangen door Q144
    NB: zoekresultaten zijn afhankelijk van de interface taal.
  1. Ga naar https://www.wikidata.org
  2. Typ "dog" in het zoekvak
  3. Klik op het eerste resultaat uit het drop-down menu
  4. Let op het itemnummer voor "dog" van de Wikidata-pagina die wordt geopend (Q144)

Om uw vraag van "kat" te veranderen in "hond", vervangt u Q146 door Q144 in het veld met de SPARQL-vraag.

Voer het programma uit en u krijgt een lijst met alle beroemde en beruchte honden op het internet.

Het ontleden van de query

Laten we de code analyseren zodat we kunnen zoeken naar elk enkel voorwerp (bijvoorbeeld honden, planeten, landen, liedjes):

#Cats
SELECT ?item ?itemLabel
WHERE
{
	?item wdt:P31 wd:Q146 . 
	SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
}
  • SELECT Een query zoekt naar iets (SELECT) Wat u precies wilt selecteren en weergeven, wordt later beschreven, maar voorlopig vermeld u alleen de placeholders (of variabelen). Hier worden ze ?item en ?itemLabel genoemd. U kunt zien dat iets een variabele is als het begint met een vraagteken.
  • ?item Dit is de lijst van items die we zoeken. In ons geval zouden dat de beroemde katten zijn. De items op Wikidata werken in vele verschillende talen, dat zijn er bijna 300. Omdat we niet denken dat alles in de wereld Engels is en alle andere talen slechts speciale gevallen van Engels zijn, worden items opgeslagen op een manier die werkt tussen talen. Elk concept krijgt een nummer. Q146 is het concept van een kat, Q64 is Berlijn in Duitsland, Q42 is de schrijver Douglas Adams en zo verder. Tip: ?item is gewoon een variabele die we besloten hebben te gebruiken in onze query. Het kan alles zijn, bijvoorbeeld: ?animal.
  • ?itemLabel Mensen kunnen namen in een menselijke taal veel beter begrijpen dan getallen. Een label is de naam van een voorwerp in een menselijke taal, bijvoorbeeld Engels (of Esperanto, Japans of Zulu...). We willen dat de labels worden weergegeven in onze query zodat Q1371145 wordt weergegeven als "Socks" (de kat die van de familie Bill Clinton is). Details beschrijven over de labelservice in de Gebruikershandleiding.
  • WHERE { Dit is de clause WHERE van de query. Hier definiëren we wat in de placeholders komt. Een clausule WHERE begint met een open accolade { en eindigt met een sluit accolade }.
  • wdt:P31 Dit is het predicaat van het onderwerp. Als u met de muis eroverheen gaat, ziet u dat het voor 'instantie van' staat.

  • wd:Q146 . Dit is het object. Als u met de muis eroverheen gaat, ziet u dat het voor 'cat' staat.

Dit is een lap tekst. Het kan helpen om de vraag in de natuurlijke taal uit te drukken:

"Geef me een lijst met items en hun labels, waar de items voorbeelden zijn van kat. Geef van de items de labels in het Engels".

Met de code die we in onze voorbeelden gebruikten, hebben we u een lijst laten zien van alle beroemde en beruchte katten op het internet. Deze vraag kan gemakkelijk worden gewijzigd om bijvoorbeeld een soortgelijke lijst voor honden te laten zien.

Tekst naar SPARQL doorlopen

De animaties hieronder tonen hoe u triplets in natuurlijke taal schrijft en omzet naar SPARQL-queries.

De sleutel is om variabelen met ?, items met wd: en eigenschappen met wdt:, te prefixen en vervolgens de keyboardsneltoetsen Ctrl+Space (or Ctrl+Alt+Space or Alt+Enter) te gebruiken om de functie automatisch aanvullen te activeren die deze laatste twee vervangt door de werkelijke Wikidata-identificatoren.

Inzoomen op de gebruikersinterface

De taal wijzigen waarin de resultaten worden weergegeven

Met dit hulpmiddel kunt u niet alleen op maat zoeken naar eenvoudige of geaggregeerde, samengestelde, gebouwde en complexe zoekopdrachten, maar u kunt ook zoeken in ELKE taal en ook in resultaten in ALLE talen.

  • De standaardtaalcode van "en" (Engels) veranderen in een andere taalcode, bijvoorbeeld "ja" voor het Japans.
#Cats  
SELECT ?item ?itemLabel WHERE
{
     ?item wdt:P31 wd:Q146 .
     SERVICE wikibase:label { bd:serviceParam wikibase:language "ja" }
}

De volgorde wijzigen waarin de resultaten worden weergegeven

De volgorde van de resultaten kan gemakkelijk worden gewijzigd in de interface. Klik op de relevante kolom in de zoekresultaten om de sortering te laten doen:

Taal van de gebruikersinterface aanpassen

Klik op het woord 'English' en selecteer de taal uit de lijst die wordt weergegeven:

Merk op dat de gebruikersinterface is gewijzigd naar de geselecteerde taal:

Maar ik wil zoeken naar foto's van katten

Tot nu toe hebben we de uitvoer van de vragen gezien als een tabel. Laten we eens wat afbeeldingen proberen:

Klik op de knop "Voorbeelden" en selecteer het voorbeeld "Katten met plaatjes" Voer de query uit, er zouden nu afbeeldingen van katten aan de onderkant van het scherm moeten komen te staan.

Dit is wat het resultaat weergeeft als afbeeldingen worden gevraagd in plaats van een tabel. U kunt de manier waarop de gegevens worden weergegeven handmatig veranderen door het menu "Display" in de rechterbovenhoek van het resultaat te gebruiken. Probeer het menu over te schakelen van "Image grid" naar "Table" om hetzelfde resultaat te zien in een tabelweergave.

Laten we eens kijken wat er nieuw is in de query in vergelijking met de vorige query. Geschreven in gewone taal, zou de vraag luiden: "Geef alle items die iets met katten te maken hebben. Geef ook de afbeelding van elk item. En trouwens, geef het resultaat weer als een raster van afbeeldingen, niet als een tabel."

  • #defaultView:ImageGrid Wat lijkt op een opmerking, is eigenlijk een instructie om het queryresultaat weer te geven als afbeeldingen in plaats van een tabel.
  • ?x1 Dit betekent dat we een query uitvoeren op elk predicaat, niet alleen op "is een instantie van". Denk aan predicaten als "beeldt" (P180) of "is vernoemd naar" (P138). We gebruiken ?x1 nergens anders in de query, wat betekent dat de tijdelijke aanduiding staat voor "Het kan niet schelen wat het predicaat is, geef alle resultaten die op de een of andere manier een kat als onderwerp hebben"
  • OPTIONAL: Binnen de accolades ziet u nog een instructie die optionele gegevens aan het resultaat toevoegt. De placeholder ?item wordt hergebruikt en gekoppeld aan het predicaat P18 (wat betekent "(heeft) afbeelding" en een nieuwe placeholder ?pic. Het omwikkelen van de instructie met OPTIONEEL betekent dat items niet per se een P18-predicaat hoeven te hebben om in de lijst te verschijnen en dat de placeholder ?pic leeg kan zijn. Probeer de query te wijzigen:
  • Zoek naar honden in plaats van katten. Tip: Wijzig het Object-gedeelte van de eerste instructie in WHERE.
  • Toon alleen items die katten "afbeelden" (u krijgt schilderijen). Tip: vervang ?x1 door iets anders.
  • Verwijder het gedeelte OPTIONAL.

Er zijn andere manieren om uw gegevens weer te geven, maar ze zijn niet allemaal altijd van toepassing, daarom zijn sommige grijs weergegeven in het menu. "Afbeeldingskaart" kan alleen worden geselecteerd als de resultaatgegevens daadwerkelijk URL's bevatten. In een van de volgende hoofdstukken leert u hoe u items als punten op een kaart kunt weergeven.

Queries met anderen delen

Als u uw query met iemand anders wilt delen, bijvoorbeeld op sociale media, kunt u een korte link maken voor die query.

  • Voltooi uw query
  • Klik op het pictogram LINK:
  • Kopieer de daar vermelde URL. Dit is de URL voor de query.

Op kaarten zoeken

Er zijn meer manieren om de zoekresultaten te visualiseren. Als de query om geocor­dinaten opvraagt, kunnen de resultaten op een kaart worden weergegeven.

Kijk naar dit voorbeeld van vuurtorens in Noorwegen. Als u de zoekopdracht uitvoert, ziet u rode punten die de locatie van vuurtorens op de Noorse kust markeren.


Met de Explorer Dialoog

Zodra de resultaten van een query zijn geladen, ziet u een icoon vergrootglas bij elk resultaat. Als u hierop klikt, wordt de Explorer-dialoog geopend.

De Explorer-dialoog wordt standaard weergegeven met een enkele node die dat specifieke resultaat vertegenwoordigt. Onder de node staat een schakeling die standaard is naar "Uitgaand". Dit betekent dat door op een node te klikken alle eigenschappen van die node worden uitgeklapt, van de gehele Wikidata-kennisbasis. Door dit te te wijzigen in "Ingaand" kunt u alle inkomende links of eigenschappen zien die naar de node verwijzen. Dit is een manier om alle relaties tussen de verschillende items en hun eigenschappen te verkennen met behulp van Wikidata.

U kunt meerdere Explorer-dialogen tegelijk openen, zodat u de resultaten van meer dan één query tegelijk kunt vergelijken. De Explorer-dialoog heeft ook een werkbalk in de rechterbovenhoek die wordt gebruikt om te schakelen tussen de verschillende weergaven zoals Graph, Tree, Map, Table, enz.

Er is nog meer

Er zijn meer visualisaties te bekijken:

Bekijk de queryvoorbeelden en probeer ze uit!

Automatisch aanvullen

In de editor kunt op elk punt in de query op Ctrl+Space drukken om suggesties te krijgen voor code die geschikt zou kunnen zijn; selecteer de juiste suggestie met de pijltoetsen en druk op Enter om die suggestie te selecteren.

In plaats van bijvoorbeeld telkens SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } te schrijven, kunt u elke keer gewoon SERVtypen, op Ctrl+Space klikken, en de eerste suggestie zal zijn dat een volledige labeldienstspreuk zijn, klaar voor gebruik! Klik op Enter om het te accepteren. (De opmaak zal een beetje anders zijn, maar dat maakt niet uit.)

En automatisch aanvullen kan ook voor u zoeken. Als u een van de Wikidata-voorvoegsels typt, zoals wd: of wdt:, en daarna gewoon tekst schrijft, zal Ctrl+Space naar die tekst zoeken op Wikidata en resultaten voorstellen. Met wd: zoekt u naar items, met wdt: naar eigenschappen. In plaats van bijvoorbeeld de items voor Johann Sebastian Bach (Q1339) en father (P22) op te zoeken, kunt u gewoon wd:Bach en wdt:fath typen en vervolgens het juiste item selecteren door het automatisch aanvullen. (Dit werkt zelfs met spaties in de tekst, bijv. wd:Johann Sebastian Bach.)

NB: Voor ChromeOS- en MacOS-gebruikers: de sneltoetsen Ctrl+Alt+Space en Alt+Enter zouden ook moeten werken.

En wat nu

U kunt waarschijnlijk nu wat omgaan met de Wikidata Query Service. Het verkennen van de interface en het veranderen van waarden in de queries kan een goede manier zijn om te leren hoe u zelf queries op Wikidata kunt maken en stellen.