Wikidata juhendmaterjal

Posted on

Wikidata – mis, miks ja kuidas?

Oled Sa kunagi mõelnud järgmistele küsimustele?

  • Millised eesti perenimed on laialt levinud?
  • Kelle sünnipäev täna on?
  • Millised lennujaamad asuvad Tallinnast 100 kilomeetri raadiuses?

Wikidatas on vastused olemas.

Mis on Wikidata?

Wikidata ehk Vikiandmed on vaba koondandmebaas, mida saavad lugeda ja täiendada nii inimesed kui masinad. Teadmuspank toimetab vabatahtlike koostöös ja on loodud Vikipeedia ja sõsarprojektide ühiseks andmeallikaks. Kuna andmed on Wikidatas avaldatud Creative Commonsi avaliku omandi litsentsi alusel, siis võib neid igaüks muuta, jagada ja rakendada, seda soovi korral ka ärilisel eesmärgil. Erinevaid andmetüüpe on palju: tekst, pildid, arvud, koordinaadid, kuupäevad jpm.

Andmete ülesehitus

Andmeüksus ulmekirjanik Douglas Adamsi kirje näitel.

Andmed Wikidatas on seotud ja struktureeritud. See tähendab, et Wikidatas ei ole mitte ainult sissekanded, vaid ka nende allikad ja seosed teiste andmebaasidega. Tänu sellele on igal inimesel võimalik andmeid omaenda projektis hõlpsalt kasutada.

Andmeid esitatakse Wikidatas andmeüksustena (ingl item). Üksus võib olla konkreetne objekt või isik, liiginimi, mõiste või midagi muud. Igal üksusel on unikaalne identifikaator ehk kood kujul Q1234567, mille eesmärk on siduda samad nähtused eri keeltes ning võimaldada masinatel andmeid kergemini lugeda. 

Iga üksuse juurde kuuluvad avaldused (ingl statement) ehk andmete sissekanded. Avaldusi väljendatakse omaduste (ingl property) ja väärtuste (ingl value) paaridena. Väärtused võivad olla arvandmed, pildid, aga ka teised Wikidata andmeüksused. Näiteks kirjanik Douglas Adams on lõpetanud (omadus) St John’s College’i (väärtus).

Ka omadustel ja väärtustel on unikaalsed identifikaatorid kujul Q1234567. Parema arusaama saamiseks Wikidata ülesehitusest külasta Wikidata tuure

Miks Wikidatat vaja on?

Wikidatal on oluline roll andmetepõhise interneti arengus. Vikipeedia kasutab Wikidatat, et siduda omavahel sama artikli versioonid erinevates keeltes. Wikidata võimaldab ka Vikipeedia infokastides andmeid automaatselt uuendada.

Wikidatat kasutavad ka ettevõtted. Google’i teadmuspank Knowledge Graph kasutab Wikidatat paremate otsingutulemuste kuvamiseks infokastides (vt pilt paremal). 

Lisaks on väga palju veebilehti, mis toimetavad Wikidata baasil. Wikidata Guessr on asukoha ära arvamise mäng, Histropedia võimaldab luua ajatelgi, Monumental näitab kultuuripärandit, Scholia teaduslikku infot, Ask Platypus vastab küsimustele, Crotos on kunstikogu… Pikem nimekiri on siin.

Kuidas minul Wikidatast kasu on?

Wikidatas on vastused neile küsimustele, millele internetiotsing vastata ei oska. See võimaldab andmeid kergelt analüüsida ja visualiseerida. Sa võid vähese vaevaga luua omaenda äpi või veebilehe, mis kasutab vikiandmeid.

Kuidas ma Wikidatast midagi küsin?

Kuna Wikidata on andmebaas, tuleb küsimusi esitada masinsõbralikul kujul, kasutades andmepäringuid. Päringuid kirjutame keeles SPARQL, aga ära muretse, kui see kõlab liiga tehniliselt – selles juhendis vaatame lihtsaid näidispäringuid ja kuidas neid muuta. Soovi korral vaata järgmist videot, et visuaalselt õppida Wikidata aluseid.

Andmepäringute koostamine

Maailma tuntud kassid

Vaatame lihtsat näidet: tahame näha nimekirja kõigist tuntud kassidest maailmas. Päringute tegemiseks kasutame Wikidata päringuteenust

Kui Su veebileht on inglise keeles, kliki ülal paremal English ja kirjuta sisse eesti.

  1. Kliki Näited
  2. Vali rippmenüüst Cats
  3. Vajuta vasakul sinisele ▶️ nupule

Nüüd on meil nimekiri kõigist kuulsatest kassidest internetis – või vähemalt nendest, kellest Wikidata teadlik on.

Mida kõik need sõnad tähendavad?

Sinu ees on SPARQL-is kirjutatud päring. Vaatame lähemalt, mida iga sõna tähendab ja mis rolli ta mängib.

  • #Cats Kõik, mis algab trellidega (#), on kommentaar. Seda arvuti ignoreerib.
  • SELECT Iga päring valib midagi, mida hiljem kuvada. Mis andmed päriselt ekraanile jõuavad, kirjeldatakse hiljem. Selle rea eesmärk on anda arvutile mingid muutujad (praegu ?item ja ?itemLabel), et neid hiljem tulemustes näidata.
  • ?item on suvaline muutujanimi, sama hästi võiks olla ?loom või midagi muud. Muutuja tunned ära küsimärgi järgi. Selle muutuja külge seotakse nimekiri meie soovitud tulemustega. 
  • ?itemLabel on samuti muutuja, mis võimaldab päringu tulemusena näha silte ehk üksuste nimetusi inimkeeles. Tänu sellele muutujale näidatakse näiteks üksuse Q378619 juures meile vastava kassi silti (ehk nime) “CC”.
  • WHERE Siin me kirjeldame, mis väärtused muutujatele antakse. WHERE-lause algab ja lõpeb loogeliste sulgudega { }.
  • wdt:P31 wdt: on omaduse eesliide ning P31 on konkreetne omadus üksikjuht nähtusest (näed seda ka hiirega omaduse peale liikudes). Erinevaid omadusi on väga palju, näiteks P106 (amet) või P1476 (pealkiri). Vaata täispikka nimekirja siit.
  • wd:Q146 wd: on väärtuse eesliide ning Q146 on konkreetne väärtus kass. Pane tähele, et omadused algavad P-tähega ning väärtused Q-ga. Omaduse ja väärtuse paar annavad praegu kokku üksikjuht nähtusest kass. Punkt rea lõpus annab arvutile mõista, et lause sai läbi.
  • SERVICE See maagiline rida ütleb arvutile, et tahame kuvada inimkeelseid silte, praegusel juhul täpsemalt ingliskeelseid. Praegu pole oluline seda rida mõista.

Päris palju, mida seedida. Võib-olla aitab, kui selle päringu inimkeelde tõlgime: “Anna mulle nimekiri üksustest koos siltidega, kus iga üksus on üksikjuht nähtusest kass. Seejärel loo üksustele ingliskeelsed sildid.”

Tulemuseks saime kaks tulpa: item ja itemLabel (muutujanimede järgi). Vasakus tulbas on üksuste masinloetavad koodid ja paremas nende ingliskeelsed sildid. Kui klikkida vasakus tulbas mõnel koodil ehk identifikaatoril, avaneb selle üksuse Wikidata lehekülg. Selleks, et tulemusi sorteerida, kliki vastava tulba nimel (nt vajutades itemLabel tulbale sorteeritakse tulemused tähestiku järjekorras). 

Aga koerad?

Nagu mainitud, on igal üksusel Wikidatas unikaalne identifikaator ehk lihtsamalt öeldes oma kood. Vaatame kassinäidet ja proovime seda muuta, et kuvada hoopis koeri.

  1. Kustuta tekstikastist Q146 (jäta alles wd:) ja kirjuta selle asemele koer
  2. Vajuta Ctrl+Tühik (või Ctrl+Alt+Tühik või Alt+Enter) 
  3. Enterit vajutades asendatakse koer koodiga Q144

(Võid kassi koodi Q146 asemele ka kohe Q144 kirjutada. See on eeldusel, et tead peast koera identifikaatorit Wikidatas!)

Aga Eesti?

Vaatame Eesti luuletajaid. Ava järgmine näidispäring ja pane tööle. Päring kuvab kõik Eesti luuletajad, kellel on Wikidatas ka sünnikoht täpsustatud. Tulemus on aga visuaalselt igav: palju parem oleks seda kaardil vaadata. Proovime teha muudatusi, et seda saavutada.

Kõigepealt proovime aru saada, kuidas praegune päring töötab. Meil on kaks muutujat: ?üksus ja ?sünnikoht. Esmalt täpsustame, et tahame muutujasse ?üksus inimesi, seejärel lisame, et nad peavad olema ka Eesti kodanikud ja ametilt luuletajad. Viimaseks nõuame, et neil oleks sünnikoht täpsustatud. Selle asemel, et öelda, et sünnikoht peab olema kindlasti Tallinn või Saaremaa, määrame sünnikoha hoiustamiseks uue muutuja ?sünnikoht – meil ei ole vaja piirata, kus ta täpselt sündis, vaid tahame, et sünnikoha andmed oleksid olemas. 

Nüüd aga tahame kuidagi sünnikohti kaardil näidata. Selleks on meil vaja koordinaate. Lisame uue rea, mis nõuab, et sünnikohal (just sünnikohal, mitte üksusel) oleks olemas koordinaadid – ja salvestame need koordinaadid uude muutujasse, näiteks ?koord. Märkad sarnasust eelmise reaga? Kuna tahame koordinaate ka ekraanil kuvada, siis peame SELECT reale koordinaate hoidva muutuja juurde lisama. Proovi esmalt ise, vajadusel vaata minu lahendust. (Nipp: on olemas omadus koordinaadid koodiga P625.) 

Nüüd on meil koordinaadid, aga kaarti endiselt mitte! Kuvamisviisi muutmiseks on all vasakul servas silmaikoon. Kliki sellel ja vali Map. Ongi olemas! Võid testida erinevaid esitusviise – enamik neist on selle päringu tulemustega üsna kummalised.

Oluline järeldus: selleks, et päringut koostada, ei pea me iga kord ratast leiutama ega SPARQL-i suurepäraselt oskama. Piisab sellest, kui me oskame mõnd teist päringut enda soovi järgi kohendada.

Proovi ise!

Proovi nüüd täiesti iseseisvalt päring koostada. Leia kõik eestlased, kes on poliitikud ja ühtlasi lauljad. Abiks võib tulla eelnevalt koostatud päring…

Kui jääd jänni või tahad tulemust kontrollida, vaata minu lahendust.

Kas ma oskan nüüd ise päringut koostada?

Jah! Näidete muutmise teel on võimalik väga palju ära teha. Kustuta ridu, lisa juurde, kombineeri erinevaid päringuid. Nipp: kui tahad sõbraga enda koostatud päringut jagada, vali vasakul menüüst ketikujuline nupuke. See tekitab veebilingi käesoleva päringuga.

Kui SPARQL hakkas huvi pakkuma ja tahaksid päringute koostamise kohta edasi õppida, külasta seda juhendit.

Mida ma veel teha saan?

Siin on pikk nimekiri juba koostatud päringutest, mida saad katsetada ja muuta. Lisaks on väga palju näidispäringuid olemas päringukeskkonna Näidete kastis (kust me kasside näidet juba vaatasime). 

Kui tahad Wikidatasse panustada, on võimalusi palju. Õpi tuuridel üksusi lisama ja muutma või hüppa kohe vette ja täienda juhuslikku kirjet. Lisa juurde andmeid, näiteks pilte Eesti kultuurimälestistest. Tõlgi keskkonda eesti keelde või anneta Wikidatasse andmeid.

Programmeerijale: samal real, kus muutsime kuvamisviisi, on paremal ka nupud tulemuse allalaadimiseks masinloetaval kujul ning päringu nägemiseks eri programmeerimiskeeltes.

Näidispäringuid

Vastused sissejuhatuses püstitatud küsimustele

Tartu Kunstimuuseum

Veel kunsti

Poeedid

Eestlased

Veel Eesti kohta

Muu

Juhendi autor: Tarmo Pungas. Avaldatud CC-BY-SA 2.0 litsentsi all.

Top