Loading…
Tilbage

OIOREST nyhedsbrev: Offentlige data i spil - et eksempel


25-11-2009 14:35:43

Borger Finn er lidt klemt af finanskrisen og vil gerne lave lidt penge ved siden af sit dagjob. På Digitaliser.dk læser han, at der er penge i offentlige data. Dem vil han gerne have fingre i. Gennemblader Datakildekataloget, for at se hvilke data det offentlige ligger inde med og for at få ideer til hvad de kan bruges til. Familiestyrelsen har listerne over godkendte fornavne, som nybagte forældre kan vælge navn til deres barn fra. Danmarks Statistik har en række statistikker som vedrører navne: hitlister for de mest populære navne for danskere født et bestemt år, hvor mange der er navngivet et bestemt navn et givet år, hvor mange danskere der er med et bestemt navn mm. Wikipedia har artikler om mange fornavne, som f.eks for Pernille. Disse data må kunne bruges til hjælpe kommende forældre med at finde et passende navn til deres afkom, som opfylder deres og myndighedernes krav og ønsker til et navn. Borger Finn kunne godt huske den gang han og hans kone skulle navnegive deres børn. Det var ikke nemt. For det første at få overblik over mulighederne samt vælge mellem de bedste kandidater. Dernæst at sørge for, at navnet ikke var belastet af knap så tiltalende personer bærende samme navn. Finde ud af om det var et sjældent eller meget populært navn osv. Uvist af hvilken grund har nybagte forældre en tendens til finde frem til samme navn. Finn og hans kone mente i hvert fald, at de havde været rimeligt omhyggelige med at finde et godt navn, som der ikke var så mange, som hed. Det troede de på indtil barnet skulle i vuggestue. Her viste det sig, at der var en del andre forældre, der havde fået samme gode ide til et navn. Det kunne have været undgået, hvis de havde brugt den mashup, som borger Finn var i færd med at udtænke. Give kommende og nybagte forældre en mashup, som kan give overblik over godkendte fornavn samt give yderligere information om udvalgte navnekandidater. Der må behov for en sådan mashup, og der må være muligt at lave lidt indtjening på reklamer. Kommende og nybagte forældre skal ud og købe alle mulige ting, for at give deres barn den bedst mulige start. Mashup’en skulle selvfølgelig også kunne bruges, hvis man ønsker at skifte navn, måske efter at have været hos numerolog, eller hvis man blot ønsker at se statistik på ens eget navn. Borger Finn syntes, at det var en god ide og gik straks i gang med at forfølge den.

Det er jo ikke kun børn der skal have navne. Mashups skal også. Navnene NemNavn eller FindNavnet kom hurtigt på banen, derefter BarnetsNavn , men han besluttede sig til sidst for at kalde servicen Navnelaboratoriet pga. af den forsøgsagtige brugsmåde samt de forskellige kurver, der blev brugt til at vise forskellige trends.

Efter 80 linjer html, 79 linjer css og 169 linjer JavaScript var mashup’en klar: http://jordal.dk/navnelaboratoriet.

Navnelaboratoriet fungerer på følgende måde. Lad os sige, at det vordende forældrepar Jonstrup venter en pige, som de meget gerne vil have navngivet med et navn, som starter med ’F’ og ender med ’ja’. De taster følgende ind i søgefelterne:

Søgedialog

Klikker på Søg-knappen og bliver præsenteret for følgende godkendte navne:

Søgeresultat

De syntes at Freja Jonstrup er et godt bud og klikker derfor på det, hvorpå der dannes et faneblad med pågældende navn:

Faneblad

Fanebladet indeholder en række oplysninger om navnet Freja Jonstrup. Først oplysninger om hvor mange der i Danmark hedder henholdsvis Freja, Jonstrup og endelig Freja Jonstrup:

Information om antal

Dernæst oplysninger om hvor mange piger, der bliver navngivet Freja pr. år:

Information om antal navngivne

Eventuelle placeringer på navngivningens Top 50:

Hitlisteinformation

Og endelig lidt mere information om navnet:

Mere information

Herefter kan parret gå tilbage til søgefanebladet, klikke på andre gode navnekandidater, danne faneblade for disse navne og blive klogere før deres endelige navnevalg.

Borger Finn, som er fra hulkortsgenerationen og havde sin største udviklingserfaring i FORTRAN IV, blev imponeret over mulighederne i JavaScript, udviklingsbiblioteket JQuery og Google Visualization API kombineret med REST services til Familiestyrelsen og Danmarks Statistiks data. Den enkle arkitektur ses nedenfor:

Simpel arkitektur

Der var blot et lille problem med denne arkitektur: De to styrelser havde ingen REST services til navnedata. Det var lidt ærgerligt. Tænk hvis man kunne nøjes med få linjer html, css og JavaScript, så ville det jo være rimeligt overkommeligt at lave en lille mashup baseret på offentlige data. I stedet for ovenstående simple arkitektur, skulle borger Finn etablere følgende arkitektur:

Faktisk arkitektur

Det betød, at borger Finn i stedet for kun at frembringe den viste browserapplikation også skulle frembringe/etablere følgende:

  • En database til at lagre navnedata.
  • Et program til at læse den kommaseparerede fil med godkendte fornavne fra familiensstyrelsens web site. Borger Finn satte pris på at Familiestyrelsen gav mulighed for at downloade den maskinlæsbare fil med godkendte fornavne.
  • Programmer til at batch web scrape navnedata fra Danmarks Statistiks web site.
  • Funktionalitet til dynamisk at web scrape antallet af personer med et givet navn fra Danmarks statistiks web site. Baggrunden for at web scrapingen skal foregå dynamisk er hovedsagligt at der ikke som med fornavns data er et kendt sæt nøgler – nemlig godkendte fornavne, men en ukendt mængde af efternavne. Med dynamisk web scraping menes, at alle data ikke en gang for alle kopieres over på Navnelaboratoriets database, men aktiveres efter behov fra Navnelaboratoriets brugergrænseflade. Dynamisk web scraping er meget følsom for ændringer i den scrapede web side.
  • En REST service til at udstille navnedata over for mashup’en.

Det resulterede i, at borger Finn skulle etablere et noget mere komplekst driftsmiljø samt udvikle væsentlig mere end de par hundrede linjers kode, der skulle til at etablere browserapplikationen(mashup’en). Derudover skulle han til at finde ud af, hvordan hans sæt af navndata skulle synkroniseres med Familiestyrelsen og Danmarks statistiks navnedata, når de blev opdateret. Det var trælst at skulle etablere alt dette for at lave denne lille mashup. Hvis nu bare myndighederne udstillede deres data via en REST snitflade, så kunne borger Finn undgået at skulle etablere det noget mere komplekse driftsetup, undgået at skulle kode en række web scrapingsprogrammer samt undgået at skulle forholde og gøre noget ved opdateringsproblemstillingen.

Det var ikke en situation, som borger Finn ønskede, at andre skulle komme i, så han offentliggjorde navnelaboratoriets REST API: http://jordal.dk/navnelaboratoriet/api.htm med et par eksempler på brugen: http://jordal.dk/navnelaboratoriet/eksempler.htm. Og kildekoden blev lagt her. REST API’et var egentlig kun rettet mod hans egen mashup, men han mente, at andre måske kunne få glæde af det. Desuden var han fascineret af figuren fra W3C’s Publishing Open Government Data:

How to publish

Borger Finn nåede ikke at nyde sin lille mashup-kreation længe, før han begyndte at spekulere over om det overhovedet var lovligt at bruge de to myndigheders data på denne måde. Det måtte han hellere til at finde ud af.

Finn Jordal / @OIOREST

IT- og Telestyrelsen

Profilbillede

Opfordring: Flere tanker om web scraping

Jakob Aarøe Dam

Hej Finn,

Fin artikel. Jeg håber du vender tilbage med flere tanker om den sidste problemstilling.

> Borger Finn nåede ikke at nyde sin lille mashup-kreation længe, før han begyndte at spekulere over om det overhovedet var lovligt at bruge de to myndigheders data på denne måde.

Det virker på mig som en grå-zone. Tidligere har home.dk tabt et søgsmål mod ofir.dk. Ofir.dk web scrapede home.dk for data og gengav dem på deres egen side. ComputerWorld: Sø- og Handelsretten siger ja til dybe boliglinks

Det ville være relevant med en juridisk vurdering af tilfældet med tilgangen til offentlige data.

Hvordan er det i øvrigt med folketsting.dk; er der givet tilladelse til at folketingets hjemmeside bliver web scrapet for at gengive det der? Eller...

mvh. Jakob

 

 

Hej Jakob

Grunden til at nyhedsbrevet sluttede på den lidt abrupte måde var at skabe et afsæt for næste nyhedsbrev, som vil omhandle problemstillingen.  Men jeg tror ikke, at vi med det kommer ud af gråzonen - desværre. 

I ODIS regner vi med at igangsætte aktiviteter på området.

Mht. folketsting.dk har jeg opfordret sitets bagmand  til at svare på dit spørgsmål.

Mvh.

Finn

 

Meget fint og veludført eksempel med navnene.

Mht om det er lovligt at scrappe data fra FT.dk og lignende kilder, så vil jeg henvise til http://www.aabenhedstinget.dk/ Se f.eks. denne sag: http://www.aabenhedstinget.dk/?page_id=382

Min konklussion er, at det I Danmark er klart lovligt at hente og gengive data fra Folketingets site. Sagen ml. Home og Ofir er anderledes end sager hvor data tilhører staten/offentligheden og gengivelse er ikke-kommerciel og i offentlighedens interesse.

Jeg har iøvrigt selv brugt data fra Folketinget på mit site http://hvemstemmerhvad.dk

/Niels

Det er mig der har lavet Folkets Ting.

Der er faktisk et ret udførligt copyright afsnit på Folketingets nye hjemmeside: http://www.ft.dk/Om.aspx

Det er ikke helt oplagt om talereferater og f.eks. video må gengives. Jeg har skrevet til Folketinget og bedt om en afklaring og jeg antager at advokater netop nu spilder skatteyderpenge på at komme frem til et svar. Skulle svaret være negativt, vurderer jeg at det vil være relativt let at begrave Folketinget i dårlige historier.

I Oregon er love copyrightet og må ikke gengives: http://www.boingboing.net/2008/04/15/oregon-our-laws-are.html

Profilbillede

Nu med billeder...

Finn Jordal

@mortenhf var så venlig at gøre mig opmærksom på at billederne i nyhedsbrevet refererede til localhost. Herligt med hurtig feedback. Tak for det.

Finn

Profilbillede

Thumbs up, Finn!

Jon Lund

Det her er virkeligt tjekket, Finn! Et super eksempel - og rigtigt inspirerende for hvordan offentlige data kan gøres brugbare!