Wikipedia:Opplasting av strukturerte data

Opplasting av strukturerte data er litt annerledes i Wikipedia i forhold til en ordinær intern wiki fordi lagring av slike data vil skje på Wikidata og deretter hentes tilbake. Til forskjell fra tidligere så blir ikke data lastet opp til en enkelt utgave av Wikipedia, men går til Wikidata som så vil fungere som et sentralt nav, og så vil dataene hentes tilbake til alle utgaver av Wikipedia. Dette gjør at noen deler av prosessen rundt opplasting av strukturerte data er annerledes fra tidligere, selv om sluttresultatet blir det samme.

Det som kalles strukturerte data er ofte det samme som semantisk web, men uten at de typiske formatene og markørene er brukt. Ofte finnes disse strukturene og dataene tilgjengelig som databaseskjema, som felt i databasenes tabeller, eller beskrevet i dokumenter som viser tilbake til felt og tabeller eller strukturer som beskriver disse. For å få data-deling til å fungere optimalt så må disse strukturene beskrives på Wikidata. Dette krever at vi har en semantisk modell for dataene og deretter at vi bruker denne til å strukturere dataene som lastes opp.

Note: m:Wikidata er basert på implementering av en relativt kompleks overordnet modell, men det finnes også en enklere oppsummering.

Semantisk modell rediger

Når vi skaper en semantisk modell på Wikidata så skjer det ved å lage egenskaper (properties) som vi senere bruker til å formulere utsagn (statements) om det omtalte. Veldefinerte egenskaper vil bli listet på siden d:Wikidata:List of properties, mens alt som finnes i navnerommet for egenskaper kan listes via Special:All pages. I mange tilfeller mangler slike egenskaper og de må defineres fra bunnen av. Da bør en gå i dialog med nettsamfunnet, typisk på siden d:Wikidata:Property proposal.

Når det defineres nye egenskaper så relateres de gjerne til eksisterende egenskaper i andre interne og eksterne modeller. I noen tilfeller må egenskapene tilpasses tidligere valg fordi det er brukt spesifikke egenskaper for microformat, microdata eller RDFa i eksisterende malverk. I andre tilfeller må egenskapene tilpasses eksterne datamodeller som vi vet vil bli mye brukt. I enda noen tilfeller finnes det store datasett fra aktører slik som Europeana som gir føringer.

Det er vanligvis ikke nødvendig med noen omfattende kjennskap til hvordan lenkede data modelleres for å starte en diskusjon om aktuelle egenskaper, det vil i de fleste tilfellene være andre brukere på Wikidata som har innsikt i disse problemstillingene.

Note: Mekanismer for å si noe om sammenhengen mellom egenskaper, ikke minst klassetilhørighet, domener, omfang og tilsvarende egenskaper i andre datamodeller, mangler foreløpig. Det er ikke kjent når dette vil bli implementert.

Egenskaper bruker verdityper i sin definisjon. Disse sier noe om hva de kan lagre, for eksempel om det er en tekststreng, et tall, et geografisk koordinat, eller en henvisning til et annet datasett. Det er ikke gitt at en bestemt verditype er det beste for en bestemt egenskap, og det kan av og til være nødvendig å endre datatypen. Fordi en endring av denne er en omfattende og tildels manuell prosess så er det et sterkt ønske om at nye egenskaper diskuteres før de defineres.

Note: Foreløpig er kun et mindre antall verdityper definert. Hvis det er nødvendig å implementere planlagte verdityper tidlig, for eksempel fordi de vil bli brukt i tilgjengelige datasett, så kan det tas med utviklerne. Hvis det er nødvendig å implementere spesielle verdityper som ikke er planlagt implementert så er det tvilsomt om det kan settes av ressurser til å gjøre jobben, og det kan være nødvendig å engasjere eksterne utviklerressurser. Se også m:Wikidata/Development/Representing values.

I tillegg til ordinære verdier så har Wikidata referanser til opprinnelig kilde og kvalifikatorer. Referansene brukes for å si noe om opprinnelsen til verdiene. For eksempel lisensiering, eierskap, hvor de kom fra, hvordan de var formatert, og så videre. Kvalifikatorene brukes for å si noe om verdiene. For eksempel intervall hvor de er gyldige.

Opplasting av data rediger

Foreløpig skjer all dataopplasting manuelt via brukergrensesnittet, eller halv- og helautomatisk ved hjelp av roboter. Fordi omfanget av datamengden på Wikidata er så stort så blir mesteparten gjort ved hjelp av roboter. Det er antatt at over tid så vil langt mer bli vedlikeholdt manuelt, ikke minst fordi det vil bli laget brukergrensesnitt som vil tillate direkte redigering av innhold på Wikidata fra Wikipedia.

Den manuelle opplastingen av data i brukergrensesnittet på Wikidata er stort sett begrenset til retting av data der noe er feil eller mangler, og tildels noe lokalisering av navn til de aktuelle språkene. Wikidata er konstruert slik at mest mulig av data kan gjenbrukes på tvers av språk, men i noen tilfeller må tekst lokaliseres og da blir det i mange tilfeller en manuell jobb. Hvis en er nøye med å identifisere og gjenbruke globalt gyldige identifikatorer så kan en i mange tilfeller unngå lokalisering av navn i utsagn, men isteden gi en referanse til et annet sted hvor navnet allerede er lokalisert. Dette reduserer den totale mengden manuelt vedlikehold.

Den automatiske opplastingen av data skjer ved hjelp av roboter. Disse laster opp forberedte data fra filer, noen ganger hele datasett og andre ganger kun utsagn for eksisterende datasett. Rammeverket de er implementert i kan variere, og det kan i noen grad være drevet av hvilken funksjonalitet som er ønsket eller plattformen de kjører på. Formatet på filene de bruker kan også være varierende, litt avhengig av kilde og hva slags data de inneholder.

Robotene gjør i de fleste tilfeller minimalt med lokalisering, med unntak av der tekststrenger kan gjenbrukes. Ofte blir slikt som etiketter for et datasett lokalisert via gjenbruk av tekst fra nettstedlenkene. Ved å lenke til eksterne datasett istedenfor å repetere data internt i hvert datasett så vil den totale strukturen kreve mindre vedlikehold.

Note: Alle roboter må installeres lokalt på brukernes maskiner og forutsetter en betydelig teknisk innsikt. Det er mulig å lage verktøy som kjører rett i nettleseren, men foreløpig er det ikke satt av utviklerressurser for noe slik.

Vedlikehold av data rediger

Data vil bli vedlikeholdt i den grad de involverte blir gjort oppmerksom på nye eksterne datasett. Fordi dette er basert på frivillig aktivitet, og at de involverte selv må observere at noe trenger oppdatering, så vil tiden det tar før oppdateringer blir gjort være tilsvarende som på Wikipedia. I tillegg er det en usikkerhet knyttet til om brukeren som gjorde opplastingen fortsatt er tilgjengelig og om han fortsatt har kunnskap om hvordan den spesielle opplastingen skjedde. Det gjør at oppdatering kan skje i rykk og napp.

Note: Det burde finnes en sentral mekanisme for å ta vare på kunnskap om hvordan opplasting blir gjort slik at andre brukere i større grad kan bidra når noe trenger oppdatering. Problemet er stort sett at de eksterne datasettene trenger konvertering til et format som kan brukes for de interne datasettene. Den eneste måten som eksterne datatilbydere kan sikre at vedlikehold blir gjort er å sette av interne ressurser til å stå for vedlikeholdet.

Gjenbruk av data rediger

Data fra Wikidata vil i hovedsak bli organisert utfra behov i Wikipedia, men i mange tilfeller vil Wikidata ha data som ikke direkte er knyttet til enkeltartikler. Disse datasettene vil bli brukt for å lage sammenstillinger på Wikipedia slik som lister og tabeller, og i noen tilfeller navigasjonsmaler. Andre aktører som ønsker å gjenbruke data fra Wikidata kan ha andre behov, men da er det viktig å huske på hva som er Wikidatas formål og lytte til nettsamfunnet når de setter grenser. I noen tilfeller vil de mene at intensjonen med Wikidata kan justeres til å favne ekstra datasett, i andre tilfeller vil de mene at slike datasett faller utenfor det primære formålet.

Note: Det finnes ingen sentral mekanisme for å varsling av vedlikeholdsbehov. Dette er et problem hvis en skal bruke Wikidata for pålitelig syndikering av data. I noen grad kan referanser brukes for å påvise om data fortsatt er gyldige, men dette er ikke implementert.

Data vil bli gjort tilgjengelig i Wikipedia via to mekanismer. En parserfunksjon {{#property}} som henter data for en enkelt egenskap, eventuelt med noen ekstra justeringer, og en parserfunksjon {{#invoke}} for Lua som så kan bruke et bibliotek for å nå et helt datasett. I Lua kan en i prinsippet traversere alle data lagret i Wikidata, men det eksisterende biblioteket setter noen grenser. Der en trenger verdien til en egenskap i eksisterende malverk eller løpende tekst så er antakelig {{#property}} den enkleste metoden. For mer komplekse ting som nyskrives (for eksempel infobokser) så bør en antakelig bruke Lua.

Note: Når data modelleres på Wikidata så vil modellene være preget av hvilken data som trengs i Wikipedias infobokser, og derfor kan strukturen i de enkelte datasettene være suboptimal for enkelte formål. Over tid vil det antakelig bli tilgjengelig mekanismer som i større grad gjør det mulig å aggregere data fra flere datasett, men foreløpig er dette sterkt begrenset.

Når data fra Wikidata trengs utenfor Wikipedia så vil de primære grensesnittene være APIet, og da spesielt via wbgetentities, eller siden d:Special:EntityData/Q2 ([1]) som gir tilgang til data om de enkelte entitetene på maskinlesbar form. Riktig URL vil være avhengig av formålet, formatet og hvilken data som trengs.