Wikiprojekti:Avoin kulttuuridata hyötykäyttöön/Tee kyselyjä Wikidata Queryllä

Wikipediasta
Siirry navigaatioon Siirry hakuun
tehtävä
Tee kyselyjä Wikidata Queryllä

Opettele ymmärtämään ja rakentamaan kyselyitä Wikidataan Wikidata Queryn avulla.

Wikidata Query on epävirallinen rajapinta Wikidata-kyselyjen tekemiselle. Se perustuu Magnus Mansken tuottamaan tietokantakopioon ja sen ympärille rakennettujen työkalujen ekosysteemiin. Wikidatan virallinen kyselypalvelu Wikidata Query service on nyt myös avattu.

Wikidata-kyselyn rakenne[muokkaa | muokkaa wikitekstiä]

Wikidata-kyselyn rakenne
Wikidata-kysely on merkkijono, joka etäisesti muistuttaa SQL-kyselyä. (Note: you can also use POST).
  • Tähdellä merkittyjä entiteettejä voi merkitä monta peräkkäin erottelemalla ne pilkulla toisistaan
  • Kursiivilla merkitty on vapaavalintainen
  • Kohteet ja ominaisuudet merkitään ilman kirjainkoodeja P tai Q.
Kyselyn runko-osa
https://wdq.wmflabs.org//api?q=
Kysely
syntaksiesimerkkiarvotesimerkkikysely
claim[OMINAISUUS:KOHDE*]esiintymä kohteesta (P31): maanosa (Q5107)claim[31:5107]
noclaim[OMINAISUUS:KOHDE*]xxxxxxxxxxxxxx
tree[KOHDE*][OMINAISUUS*][OMINAISUUS*]xxxxxxxxxxxxxxxxxxx
web[KOHDE*][OMINAISUUS*]xxxxxxxxxxxxxxxxxxx
string[OMINAISUUS:"MERKKIJONO"*]xxxxxxxxxxxxxxxxxxx
around[OMINAISUUS,LEVEYSASTE,PITUUSASTE,SÄDE]xxxxxxxxxxxxxxxxxxx
between[OMINAISUUS,ALKUAIKA,LOPPUAIKA]xxxxxxxxxxxxxxxxxxx
quantity[OMINAISUUS:ARVO1,ARVO2]xxxxxxxxxxxxxxxxxxx
items[KOHDE*]xxxxxxxxxxxxxxxxxxx
link[wiki*]xxxxxxxxxxxxxxxxxxx
nolink[wiki*]xxxxxxxxxxxxxxxxxxx
Tarkenne sopivaan kyselyyn
Kyselyjen yhdistäminen
AND tai OR
Kyselyn osan priorisointi
(...)
Kohteiden ominaisuuksien listaaminen tuloksessa
&props=OMINAISUUS*
Piilota kohteet tuloksessa
Tuloksen oletusformaatti on JSON. Jos haluat JSONP, käytä
&callback=FUNCTION


Ohjeita suomeksi[muokkaa | muokkaa wikitekstiä]

claim[muokkaa | muokkaa wikitekstiä]

  • claim[OMINAISUUS:KOHDE*] Etsii kohteita, joille on määritelty tietty kohde tietylle ominaisuudelle. Ominaisuudelle voi lisäätä useampia kohteita erottelemalla ne pilkuilla toisistaan tai jättää kohde pois.
  • claim[OMINAISUUS] Etsii kohteita joille on määritelty jokin arvo tietylle ominaisuudelle. Tämä toimii myös merkkijonoille, ajalle ja koordinaateille.
  • Esimerkki: claim[138:676555] claim[nimen alkuperä (P138):Franciscus Assisilainen (Q676555)] palauttaa kaikki kohteet, jotka on nimetty Franciscus Assisilainen (Q676555) mukaan.
  • Jos lausekkeeseen määritellään useampia kohteita, haku palauttaa niiden unionin, eli ne kohteet, jotka täyttävät kaikki hakuehdot.
  • Kohteen sijaan voi käyttää luokkahierarkiaa kyselyn kohteena. Esimerkiksi claim[31:(tree[12280][][279])] claim[esiintymä kohteesta (P31): (tree[silta (Q12280)] [ ] [alaluokka kohteelle (P279)])] palauttaa listan siltojen alaluokkien esiintymistä.
  • Tälle kyselylle voi lisätä tarkenteita.

noclaim[muokkaa | muokkaa wikitekstiä]

tree[muokkaa | muokkaa wikitekstiä]

web[muokkaa | muokkaa wikitekstiä]

string[muokkaa | muokkaa wikitekstiä]

  • string[OMINAISUUS:"MERKKIJONO"*] löytää kaikki kohteet, joilla OMINAISUUDEN arvo on MERKKIJONO.
  • Tälle kyselylle voi lisätä tarkenteita.

around[muokkaa | muokkaa wikitekstiä]

  • around[OMINAISUUS,LEVEYSASTE,PITUUSASTE,SÄDE] löytää kaikki kohteet, joiden OMINAISUUDEN (yllensä koordinaatit (P625)) arvo ei ole enempää kuin SÄDE km pisteestä LEVEYSASTE,PITUUSASTE (desimaaliaste, esim. "52.205,0.119") Suurempaa tarkkuutta ei tueta.
  • Tälle kyselylle voi lisätä tarkenteita.

between[muokkaa | muokkaa wikitekstiä]

  • between[OMINAISUUS,ALKUAIKA,LOPPUAIKA] löytää kaikki kohteet, joissa OMINAISUUDEN aika-arvo asettuu ALKUAJAN ja LOPPUAJAN väliin. Joko ALKUAIKA tai ,LOPPUAIKA (huomaa, että edeltävä pilkku on lisättävä) voidaan jättää pois merkitsemään mitä tahansa arvoa, mutta ei molempia. Raja-arvot lasketaan hakutulokseen mukaan, tarkkuutta ei tueta ja kalenteri on aina Gregoriaaninen.
  • Ajat annetaan muodossa +00000001861-03-17T00:00:00Z, joitakin lyhennettyjä muotoja sallitaan, kuten "1974" tai "1974-05". Puuttuvat arvot muutetaan vastaamaan 0, myös kuukaudet ja päivät. "before 1974" vastaa siten "before 1974-00-00T00:00:00Z"
  • Ylimenevät arvot ovat sallittuja, esim. "before 1974-05-32" palauttaa kaikki päivämäärät ennen ja mukaanlukien toukokuu 1974.
  • Tälle kyselylle voi lisätä tarkenteita.

quantity[muokkaa | muokkaa wikitekstiä]

  • quantity[OMINAISUUS:ARVO1,ARVO2] löytää kaikki kohteet, joiden OMINAISUUDEN määräarvo on suurempi tai yhtäsuuri kuin ARVO1 ja pienempi tai yhtäsuuri kuin ARVO2. Jos ARVO2 jätetään pois, se asetetaan arvoon ARVO1. Toisin sanoen vain arvot, jotka ovat yhtä suuria kuin ARVO1, palautetaan.
  • Esimerkki: quantity[1082,35000,40000] quantity[asukasluku (P1082),35000,40000] löytää kaikki kohteet, joiden asukasluku (P1082) on välillä (mukaanlukien) 35 000 ja 40 000.
  • Tälle kyselylle voi lisätä tarkenteita.

items[muokkaa | muokkaa wikitekstiä]

  • items[KOHDE*] tuottaa stattisen listan KOHTEISTA. Sitä voi käyttää esimerkiksi yhdessä noclaimin kanssa, joka ei voi olla ensimmäinen komento. POST-metodia suositellaan GET-metodin sijaan pitkille listoille.
  • Esimerkki: items[1339,350] löytää kohteet Johann Sebastian Bach (Q1339) ja Cambridge (Q350).
  • Tälle kyselylle voi lisätä tarkenteita.

link[muokkaa | muokkaa wikitekstiä]

  • link[wiki*] löytää kaikki kohteet, joissa on linkkejä mainittuihin wikeihin
  • nolink[wiki*] löytää kaikki kohteet, joissa ei ole linkkejä mainittuihin wikeihin
  • Esimerkki: link[dewiki] and nolink[frwiki] palauttaa kaikki kohteet, joilla on linkki saksankieliseen Wikipediaan, mutta ei ranskankieliseen.

TARKENNE[muokkaa | muokkaa wikitekstiä]

{TARKENNE} voidaan lisätä komentoihin claim, .... The query between { and } will be run against the qualifiers of each statement that matches the main query. Example: claim[166:746756]{BETWEEN[585,1853,1853-13]} returns the award recipient (P166) of the Royal Medal (Q746756) in 1853 (1853-13 indicating the end of the year 1853).

AND, OR[muokkaa | muokkaa wikitekstiä]

AND OR You can join multiple of the above queries into a subset (AND) or union (OR). Use spaces around either to separate them from the queries they connect. Example: tree[30][150][17,131] AND claim[138:676555] returns all items (three in total) that are both places in the "reverse tree" of country (P17) or administrative unit (P131) within the U.S.A. (Q30), or areas it subdivides into (P150 of the "forward tree"), and named after (P138) Francis of Assisi (Q676555) Note that mixing AND and OR will auto-group them by order: a AND b OR c becomes (a AND b) OR c internally.

(...)[muokkaa | muokkaa wikitekstiä]

You can manually group commands with parentheses. Commands in parentheses will be run first, and their results used in their stead. Note

All properties and items are numeric (no "P" or "Q" prefix) Commands are case-insensitive no value is represented as item 4294967295 unknown value is represented as item 4294967294

props[muokkaa | muokkaa wikitekstiä]

&props=OMINAISUUS* Adding a "props" parameter to the URL will return the specified statements (items, properties, and their values) for the resulting items.

OMINAISUUS* are comma-separated property numbers, e.g. &props=17,47. Each such statement will be written as an array with three values: [source_item,value_type,value]. For all properties, value_type may be "item" if the value is one of no value or unknown value (see note above). Using a single * instead of a property number list will return all properties of the resulting items, though that can take significantly longer, and generate much more data. Komodo dragon taxon tree example.

noitems[muokkaa | muokkaa wikitekstiä]

Suppresses the item list; still returns number of items and property values (if requested).

Results[muokkaa | muokkaa wikitekstiä]

Result format is JSON For JSONP, add a &callback=FUNCTION parameter to the URL; the result will then be a parameter in the call of the JavaScript FUNCTION


Kyselyesimerkkejä ja tuloslistauksia[muokkaa | muokkaa wikitekstiä]

Kyselykieltä hyödyntämään on tuotettu useita erilaisia työkaluja. Listan kohteista on linkki työkaluun ja mahdolliseen esimerkkitehtävään.

Hae Suomessa sijaitsevia kohteita, joilta puuttuu kuva Wikidatassa
Haku koostuu tällaisista osista
CLAIM[valtio (P17):Suomi (Q33)] kohteella on ominaisuus valtio (P17), jonka arvo on Suomi (Q33)

TREE[Suomi (Q33)][][sijaitsee hallinnollisessa alueyksikössä (P131)] Juurikohteesta Suomi (Q33) alkaen etsitään muita kohteita, joiden ominaisuus sijaitsee hallinnollisessa alueyksikössä (P131) on Suomi (Q33) ja edelleen.

NOCLAIM[kuva (P18)] tulos suodatetaan niin, että jäljelle jäävät vain ne kohteet, joilla ominaisuus kuva (P18) on tyhjä.
Kysely
(CLAIM[17:33] OR TREE[33][][131]) AND noclaim[18]
Tulokset
Tässä tuloksia eri työkaluissa
AutoList2

http://tools.wmflabs.org/autolist/?run=1&wdq=(CLAIM[17:33]%20OR%20TREE[33][][131])%20AND%20noclaim[18]

Linkki

Wikidata FIST

https://tools.wmflabs.org/fist/wdfist/index.html?wdq=(CLAIM%5b17:33%5d%20OR%20TREE%5b33%5d%5b%5d%5b131%5d)%20AND%20noclaim%5b18%5d&no_images_only=1&search_commons=1&prefilled=1

Wikidata Generic Tree
Get item names
Linked Items
Item properties
Not in the Other Language
View on map
TABernacle
Count item views