{"id":961,"date":"2017-03-27T06:19:55","date_gmt":"2017-03-27T04:19:55","guid":{"rendered":"https:\/\/vgrutv.wordpress.com\/?p=961"},"modified":"2018-01-18T15:25:38","modified_gmt":"2018-01-18T14:25:38","slug":"introduktion-till-psi-data-oppna-data-och-lankade-data","status":"publish","type":"post","link":"https:\/\/vgrblogg.se\/utveckling\/2017\/03\/27\/introduktion-till-psi-data-oppna-data-och-lankade-data\/","title":{"rendered":"Introduktion till PSI-data, \u00f6ppna data och l\u00e4nkade data"},"content":{"rendered":"

Enligt min uppfattning har \u00f6ppna data (lite ov\u00e4ntat) tagit ny fart inom offentlig sektor. F\u00f6r n\u00e5gon vecka sedan kommenterade en kollega att \u201djaha, jag trodde vurmandet kring \u00f6ppna data ingick i ditt arbete\u201d. Nej, s\u00e5 \u00e4r inte fallet. Snarare \u00e4r det v\u00e4l s\u00e5 att mina chefer av n\u00e5gon anledning frekvent l\u00e5ter mig jobba med det jag brinner f\u00f6r.<\/p>\n

<\/p>\n

S\u00e5 f\u00f6r att fr\u00e4scha upp lite om min syn p\u00e5 \u00f6ppna data-fr\u00e5gan till 2017 skriver jag denna bloggpost. \u00c4r det n\u00e5got du tycker verkar skumt, vill korrigera eller har fr\u00e5gor \u00e4r du varmt v\u00e4lkommen att skriva en kommentar, eller kanske mejla mig p\u00e5 fornamn.efternamn@vgregion.se<\/a><\/p>\n

\u00d6ppna data<\/h2>\n

\u00d6ppna data \u00e4r begreppet som anv\u00e4nds n\u00e4stan oavsett vad man egentligen menar. Kanske f\u00f6r att det l\u00e5ter bra. Det handlar ju om \u201ddata\u201d och n\u00e4r var n\u00e5got som \u00e4r \u201d\u00f6ppet\u201d negativt? F\u00f6r n\u00e5got \u00e5r sedan var nog precisionen i begreppet b\u00e4ttre. Det finns n\u00e4mligen ett antal andra begrepp v\u00e4rda att t\u00e4nka igenom; PSI-data, l\u00e4nkade data och l\u00e4nkade \u00f6ppna<\/u> data. Mer om dem senare.<\/p>\n

Ordlista – API (Application Programming Interface):<\/b><\/p>\n

Ett API \u00e4r en kontaktpunkt f\u00f6r att utbyta information. N\u00e4r det g\u00e4ller datak\u00e4llor \u00e4r ett API en teknisk l\u00f6sning som l\u00e4mnar ut den data n\u00e5gon efterfr\u00e5gar, det den enskilde har r\u00e4tt att ta emot och i de format passar anv\u00e4ndningen.<\/p>\n

D\u00e5 \u00f6ppna data \u00e4r en naturlig del av \u00e4mnet informationsarkitektur kunde jag inte motst\u00e5 att skriva om det i boken Webbstrategi f\u00f6r alla<\/a> som publicerades 2014. P\u00e5 ett \u00f6vergripande plan beskriver det fortfarande \u00f6ppna data v\u00e4l och hur det definieras. S\u00e5 h\u00e4r skrev jag d\u00e5:<\/p>\n

\n

Vad \u00e4r d\u00e5 \u00f6ppna data?<\/h3>\n

\u00d6ppna data \u00e4r digital information som inte har begr\u00e4nsningar avseende \u00e5teranv\u00e4ndning, till skillnad fr\u00e5n PSI-data som till\u00e5ter begr\u00e4nsningar i \u00e5teranv\u00e4ndning. \u00d6ppna data ska allts\u00e5 vara befriat fr\u00e5n bland annat upphovsr\u00e4tt, patent och andra hinder. N\u00e4r staten \u00e4r utgivare av s\u00e5dan information brukar det kallas f\u00f6r \u00f6ppna offentliga data.<\/p>\n

Open Government Working Group<\/a> har gjort ett av flera f\u00f6rs\u00f6k att enas om vad som kan anses vara \u00f6ppna data. Dessa krav, h\u00e4mtade fr\u00e5n Wikipedia, st\u00e4mmer \u00e5tminstone med min uppfattning:<\/p>\n

    \n
  1. Komplett<\/b>: Information som inte inneh\u00e5ller personuppgifter eller lyder under sekretess g\u00f6rs tillg\u00e4nglig i s\u00e5 stor omfattning som m\u00f6jligt. Detta g\u00e4ller s\u00e4rskilt databaser med material som skulle kunna vidaref\u00f6r\u00e4dlas.<\/li>\n
  2. Prim\u00e4r<\/b>: Information skall s\u00e5 l\u00e5ngt det \u00e4r m\u00f6jligt tillhandah\u00e5llas i originalformatet. Bild- och videomaterial skall tillhandah\u00e5llas i h\u00f6gsta m\u00f6jliga uppl\u00f6sning f\u00f6r att m\u00f6jligg\u00f6ra vidaref\u00f6r\u00e4dling.<\/li>\n
  3. Aktuell<\/b>: Information skall tillg\u00e4ngligg\u00f6ras s\u00e5 snabbt som m\u00f6jligt s\u00e5 att v\u00e4rdet av den inte f\u00f6rsvinner. Det b\u00f6r finnas mekanismer f\u00f6r att automatiskt kunna f\u00e5 information om uppdateringar.<\/li>\n
  4. Tillg\u00e4nglig<\/b>: Information g\u00f6rs tillg\u00e4nglig f\u00f6r s\u00e5 m\u00e5nga anv\u00e4ndare som m\u00f6jligt f\u00f6r s\u00e5 m\u00e5nga \u00e4ndam\u00e5l som m\u00f6jligt.<\/li>\n
  5. Maskinl\u00e4sbar<\/b>: Informationen \u00e4r strukturerad p\u00e5 ett s\u00e4tt som m\u00f6jligg\u00f6r maskinell bearbetning och samk\u00f6rning med andra register.<\/li>\n
  6. Fri<\/b>: Informationen \u00e4r tillg\u00e4nglig f\u00f6r alla utan krav p\u00e5 betalning, eller inskr\u00e4nkningar i form av licensvillkor och registreringsf\u00f6rfaranden.<\/li>\n
  7. I ett \u00f6ppet format<\/b>: Det format informationen l\u00e4mnas i f\u00f6ljer en \u00f6ppen standard, alternativt \u00e4r dokumentationen till formatet fritt tillg\u00e4nglig och fri fr\u00e5n patent eller licensvillkor.<\/li>\n
  8. Utan licens<\/b>: Datak\u00e4llan i sig ska vara fri fr\u00e5n licenskrav eller andra saker som kan begr\u00e4nsa m\u00f6jligheten till \u00e5teranv\u00e4ndning.<\/li>\n<\/ol>\n

    Vissa punkter \u00e4r mer \u00f6ppna f\u00f6r tolkning \u00e4n andra. Kanske fr\u00e4mst punkt 7 som kan vara allt fr\u00e5n en banal textfil till ett avancerat API f\u00f6r spridning och synkronisering av information.<\/p>\n

    Om man kombinerar \u00f6ppna data med ett s\u00e5 kallat API, vilket m\u00e5nga anser \u00e4r en sj\u00e4lvklar kombination, uppst\u00e5r m\u00f6jligheten f\u00f6r andra att direkt bygga tj\u00e4nster p\u00e5 den information som samlats in. Det \u00e4r egentligen inte ett krav p\u00e5 \u00f6ppna data att den erbjuds via ett publikt API, men om du vill uppmuntra till anv\u00e4ndning \u00e4r det v\u00e4rt att kolla under vilka f\u00f6ruts\u00e4ttningar utvecklare vill ta del av din info. Utl\u00e4mningen av data beh\u00f6ver vara p\u00e5litlig, smidig och v\u00e4cka utvecklares f\u00f6rtroende om de ska v\u00e5ga anv\u00e4nda det. Utvecklare kanske inte alltid prioriterar att tj\u00e4na pengar p\u00e5 det de bygger men snabbt l\u00e4r de sig att undvika frustrationen som uppst\u00e5r med till synes on\u00f6diga hinder, villkor och annat strul.<\/p><\/blockquote>\n

    Det som \u00e4r specifikt med \u00f6ppna data \u00e4r som du nog listat ut \u00f6ppenheten. Att vem som helst ska f\u00e5 anv\u00e4nda datak\u00e4llan utan en massa krav, kr\u00e5ngel eller kostnader. Men det kanske inte \u00e4r uppenbart varf\u00f6r man ska l\u00e4gga tid och energi p\u00e5 att proaktivt \u00f6ppna alla sina datak\u00e4llor, kanske finns inget intresse och d\u00e5 har jobbet varit f\u00f6rg\u00e4ves. Men f\u00f6r att medborgare \u00e5tminstone skulle ha r\u00e4tt att f\u00e5 tillg\u00e5ng till myndighetsdata n\u00e4r intresse finns lanserade EU sitt initiativ kallat PSI.<\/p>\n

    PSI-data<\/h2>\n

    PSI st\u00e5r f\u00f6r Public Sector Information och \u00e4r en skapelse inom EU. Det blev svensk lag 2010 med det h\u00e4rligt byr\u00e5kratiska namnet ”lagen om vidareutnyttjande av handlingar fr\u00e5n den offentliga f\u00f6rvaltningen<\/a>”, popul\u00e4rt kallad PSI-lagen, och inleds med paragrafen:<\/p>\n

    \u201dSyftet med denna lag \u00e4r att fr\u00e4mja utvecklingen av en informationsmarknad genom att underl\u00e4tta enskildas anv\u00e4ndning av handlingar som tillhandah\u00e5lls av myndigheter.
    \nLagen avser att f\u00f6rhindra att myndigheter beslutar om s\u00e5dana villkor f\u00f6r vidareutnyttjande av handlingar som begr\u00e4nsar konkurrensen.
    \nBest\u00e4mmelser om tillhandah\u00e5llande av handlingar finns i annan f\u00f6rfattning. Lag (2015:289).\u201d<\/p><\/blockquote>\n

    En inledande kritik mot lagen var att svenska staten var ett \u201dpappers-API\u201d, det vill s\u00e4ga l\u00e4mnade ut utskrifter ist\u00e4llet f\u00f6r digitala filer. Det \u00e4r helt klart sv\u00e5rt att se smidigheten f\u00f6r den som tar emot en utskrift om deras tj\u00e4nst \u00e4r digital. Andra klagom\u00e5l gick ut p\u00e5 att utl\u00e4mnandet var motvilligt, gick tr\u00f6gare i Sverige \u00e4n i andra l\u00e4nder samt att myndigheterna inte agerade proaktivt med \u00f6ppnadet av datak\u00e4llor s\u00e5 handl\u00e4ggningen av \u00e5terkommande \u00e4renden fortsatte ta l\u00e5ng tid (ist\u00e4llet kunde man ha lanserat ett API). Dessa klagom\u00e5l fick jag mig p\u00e5talat som representant f\u00f6r vad som entrepren\u00f6rer upplevde som \u201cmyndighetssverige\u201d och det st\u00e4mde s\u00e4kert.<\/p>\n

    S\u00e5 sj\u00e4lva definitionen p\u00e5 PSI-data \u00e4r den man som myndighet \u00e4r skyldig att l\u00e4mna ut enligt lagstiftningen. Det \u00e4r en EU-harmoniserad variant av det vi i Sverige haft i form av offentlighetsprincipen, att medborgarna ska ha en viss niv\u00e5 av insyn.<\/p>\n

    Utmaningen med sekretess<\/h3>\n

    H\u00e4r kommer ocks\u00e5 fr\u00e5gan om sekretess in, f\u00f6r givetvis har man inte r\u00e4tt att kr\u00e4va insyn i andras k\u00e4nsliga uppgifter. Att l\u00e4mna ut data i st\u00f6rre skala fr\u00e5n ett system kr\u00e4ver att man k\u00e4nner till vilken information som lagrats var i ett system. Det kan l\u00e5ta enklare \u00e4n det visar sig vara i verkligheten. F\u00f6r hur vet man att ingen skrivit personuppgifter p\u00e5 fel st\u00e4lle, eller att n\u00e5gon laddat upp ett dokument i fel system?<\/p>\n

    Har man d\u00e4remot genomf\u00f6rt en kompetent informationsklassificering (och anv\u00e4ndarna f\u00f6ljer den) blir det desto enklare. D\u00e5 kan man v\u00e4lja att exkludera det som \u00e4r k\u00e4nsliga uppgifter och erbjuda fri tillg\u00e5ng till allt det andra. Denna problematik \u00e4r kanske inte uppenbar f\u00f6r den stressade entrepren\u00f6ren som undrar varf\u00f6r det tar en s\u00e5dan tid, men givetvis kan PSI-\u00e4renden ta l\u00e5ng tid av mindre behj\u00e4rtansv\u00e4rda anledningar.<\/p>\n

    En utmaning med b\u00e5de \u00f6ppna data och PSI-data \u00e4r om data \u00e4r maskinl\u00e4sbar och p\u00e5 vilket s\u00e4tt. P\u00e5 s\u00e4tt och vis \u00e4r ju allt maskinl\u00e4sbart, till och med ett inskannat protokoll fr\u00e5n ett politiskt m\u00f6te. Men att f\u00e5 en bild av text \u00e4r inte smidigt \u00e4ven fast man med OCR-teknik ofta kan omvandla till maskinl\u00e4sbar text. En PDF-fil \u00e4r inte heller skitkul, dels f\u00f6r att det \u00e4r ett dokumentformat (utan att ens diskutera hur \u00f6ppet det formatet \u00e4r) s\u00e5 det kr\u00e4vs omv\u00e4gar f\u00f6r att ta del av inneh\u00e5llet. Men \u00e4ven om inneh\u00e5llet \u00e4r maskinl\u00e4sbart \u00e4r det inte detsamma som att det kan f\u00f6rst\u00e5s av en maskin. F\u00f6r en l\u00e4ngre diskussion om vad en maskin \u201cf\u00f6rst\u00e5r\u201d s\u00e5 kolla bloggposten om data science<\/a>.<\/p>\n

    Just n\u00e4r det g\u00e4ller m\u00f6jligheten f\u00f6r en maskin att f\u00f6rst\u00e5 inneh\u00e5llet \u00e4r det snarare konceptet l\u00e4nkade data man b\u00f6r efterstr\u00e4va.<\/p>\n

    L\u00e4nkade data<\/h2>\n

    Den avg\u00f6rande skillnaden mellan l\u00e4nkade data och andra datakoncept \u00e4r att l\u00e4nkade data har ett s\u00e4tt att relatera till andra datak\u00e4llor. Man kan s\u00e4ga att s\u00e5 som webben \u00e4r en samling av dokument som l\u00e4nkar sinsemellan \u00e4r l\u00e4nkade data n\u00e4sta naturliga steg. Med l\u00e4nkade data g\u00f6r man likt webben l\u00f6sa kopplingar fast mellan olika datak\u00e4llor, man verkar p\u00e5 en mer detaljerad niv\u00e5.<\/p>\n

    Att f\u00f6lja definitioner<\/h3>\n

    Inneh\u00e5llet kan p\u00e5 s\u00e5 vis bli mer f\u00f6r\u00e4dlat. En liten snutt information kan beskrivas mer exakt och man kan samverka med hur saker definieras. En s\u00e5dan definition \u00e4r Schema.org<\/a>, ett samarbete mellan ett flertal IT-j\u00e4ttar d\u00e4r man standardiserat vad<\/u> n\u00e5gonting \u00e4r. Exempelvis kan man med hj\u00e4lp av Schema.org<\/a> tala om att tv\u00e5 ord i f\u00f6ljd \u00e4r ett namn, och att det namnet finns i ett sammanhang som utg\u00f6r ett digitalt visitkort med kontaktuppgifter. Visitkortet kan vara i ett \u00e4nnu st\u00f6rre sammanhang av en lista med andra anst\u00e4llda inom en organisation. B\u00e5de organisationen och individerna kan ha egna kontaktuppgifter, men de har en relation till varandra.<\/p>\n

    Genom att samarbete med dessa definitioner kan man allts\u00e5 klarg\u00f6ra vad en delm\u00e4ngd av en webbsida \u00e4r f\u00f6r n\u00e5got. Och n\u00e4r det handlar om andra sammanst\u00e4llningar, som databaser eller textfiler som RDF, finns ett s\u00e4tt att ber\u00e4tta att en strukturerad informationsm\u00e4ngd \u00e4r inb\u00e4ddad i inneh\u00e5llet.<\/p>\n

    Var inte dumstolt!<\/h3>\n

    En annan m\u00f6jlighet \u00e4r att dansa efter n\u00e5gon annans pipa, det vill s\u00e4ga motsatsen till fenomenet \u201cnot invented here\u201d. Ist\u00e4llet f\u00f6r att vara dumstolt och sj\u00e4lv uppfinna hjulet i sitt eget projekt kan man f\u00f6lja initiativ som finns utom eller \u00f6ver ens egen organisation. F\u00f6r oss som jobbar i h\u00e4lso- och sjukv\u00e5rdsbranschen \u00e4r Socialstyrelsen en s\u00e5dan \u00f6vergripande organisation. Antingen f\u00f6ljer man deras initiativ och blir kompatibel, eller s\u00e5 g\u00f6r man det jobbigt f\u00f6r alla parter och hittar p\u00e5 n\u00e5got eget. Visst \u00e4r jag diskret\u00a0med min egen \u00e5sikt? \ud83d\ude42<\/p>\n

    Socialstyrelsen har en l\u00e5ng lista med goda exempel p\u00e5 sin PSI-datasida<\/a>. De erbjuder nationell informationsstruktur vilket g\u00f6r att man kan enas om begrepp, metadata och terminologi. Att man har god anledning att tro sig vara \u00f6verens om begrepp \u00e4r grunden f\u00f6r att kunna kommunicera\u2026<\/p>\n

    Metadata och explicit inneh\u00e5llsdeklaration<\/h3>\n

    Problemet man f\u00f6rs\u00f6ker l\u00f6sa \u00e4r inte helt intuitivt f\u00f6r alla har jag m\u00e4rkt. Ett vardagligt exempel \u00e4r hur man ska l\u00e4sa datum i matbutiken. Det var ett st\u00f6rre problem mellan 2001-2012 \u00e4n det \u00e4r idag, men om du f\u00e5r sifferserien 12\/10\/11 kanske du inte \u00e4r beredd att s\u00e4tta pensionen i pant p\u00e5 vilken av siffrorna som indikerar \u00e5rtal, eller hur? F\u00f6r en maskin \u00e4r det \u00e4nnu sv\u00e5rare. G\u00f6r du ett dokument, stoppar in en tabell och i en cell skriver in \u201cDatum: 2017-02-17\u201d finns det enligt m\u00e5nga m\u00e4nniskor fog f\u00f6r att tro att serien med siffror avser 2:a februari 2017, men maskiner f\u00e5r inte alltid s\u00e5 mycket frihet till egen tolkning (ens om de begriper vissa saker). Det finns ett antal antaganden bara i denna lilla datam\u00e4ngd. F\u00f6rst ordet \u201cdatum\u201d, \u00e4r det tidsangivelsen som avses, en geografisk plats eller en enstaka del av data\/information? Har man gett en maskin en ordlista \u00e4r det inte s\u00e4kert att den kan best\u00e4mma sig.<\/p>\n

    Tar du sifferserien \u00e4r det vid f\u00f6rsta anblick inte givet om det \u00e4r t\u00e4nkt att subtraheras till 1998, om det \u00e4r en tidsangivelse eller annat. Om det \u00e4r en tidsangivelse kan man undra vilket formatet \u00e4r.<\/p>\n

    F\u00f6r att sluta chansa ska man uttalat och explicit ber\u00e4tta _vad_ n\u00e5got \u00e4r. Om siffrorna deklareras som ett datum i enlighet med ISO-standarden 8601 beh\u00f6ver man inte tveka vilket som \u00e4r m\u00e5naden. D\u00e5 blir inneh\u00e5llet i denna korta textsnutt anv\u00e4ndbar \u00e4ven f\u00f6r maskiner som d\u00e5 inte tror att det \u00e4r ett matematiskt uttryck.<\/p>\n

    URI:er f\u00f6r namngivning och relationer<\/h3>\n

    Men fr\u00e5gan du kanske st\u00e4ller dig \u00e4r exakt hur en maskin f\u00e5r reda p\u00e5 att en snutt text \u00e4r i enlighet med n\u00e5got som Internationella standardorganisationen (ISO) har tagit fram, eller att busslinjen \u00e4r just den som g\u00e5r i v\u00e4stlig riktning. Det \u00e4r h\u00e4r URI:er kommer in.<\/p>\n

    URI st\u00e5r f\u00f6r Uniform Resource Identifier och avser som namnet antyder ett enhetligt s\u00e4tt att namnge eller identifiera resurser\/saker. Du har s\u00e4kert redan h\u00f6rt talas om den snarlika f\u00f6rkortningen URL (Uniform Resource Locator). Skillnaden dem emellan \u00e4r att en URI identifierar<\/b> n\u00e5gonting medan en URL pekar ut<\/b> n\u00e5got. B\u00e5de URI:er och URL:er kan se exakt likadana ut. Det \u00e4r n\u00e4mligen l\u00e4mpligt att man delar ut webbadresser som identifiering av n\u00e5got, exempelvis en busslinje. Om den hypotetiska busslinjen i v\u00e4stlig riktning har URI:n https:\/\/data.vasttrafik.se\/busslinjer\/58-vastlig\/<\/em> \u00e4r det uppenbart f\u00f6r de flesta att det nog \u00e4ven fungerar som en webbadress.<\/p>\n

    Det fiffiga \u00e4r att detta \u00e4r en unik namngivning. Det kan bara finnas en unik URL, och utf\u00e4rdaren i form av V\u00e4sttrafik g\u00f6r URI:n beskrivande. Den URI:n \u00e4r ett enhetligt s\u00e4tt f\u00f6r b\u00e5de V\u00e4sttrafik och deras partners, men ocks\u00e5 f\u00f6r utomst\u00e5ende, att h\u00e4nvisa till samma sak. En s\u00e5dan URI kan ing\u00e5 i en databas f\u00f6r att tala om vad som avses, men det kan ocks\u00e5 agera som en l\u00e4nk tillbaka till k\u00e4llan – V\u00e4sttrafik allts\u00e5.<\/p>\n

    L\u00e4nkade relationer kan utforskas maskinellt<\/h3>\n

    Om du eller din maskin b\u00f6rjar utforska vad som erbjud med busslinje 58-v\u00e4stlig har vi allts\u00e5 en URI att b\u00f6rja med. URI:n ser ut och fungerar som en URL. En av fiffigheterna bakom webbprotokollet HTTP(S) \u00e4r att man kan ha \u00f6nskem\u00e5l n\u00e4r man kommunicerar med en webbserver. Sitter vi vid en webbl\u00e4sare och surfar t\u00e4nker vi normalt sett inte p\u00e5 detta, det vi \u00e4r ute efter \u00e4r att ta emot l\u00e4sligt inneh\u00e5ll som \u00e4r optimerad f\u00f6r m\u00e4nniskors konsumtion (med eller utan tekniska hj\u00e4lpmedel som sk\u00e4rml\u00e4sare).<\/p>\n

    D\u00e4remot kan en maskin, som en s\u00f6kmotor eller annan teknik, \u00f6nska att f\u00e5 svaret i ett mer maskinf\u00f6rst\u00e5eligt format. Som RDF<\/a> exempelvis, vilket \u00e4r ett semantiskt XML-format d\u00e4r inneb\u00f6rd och informationsrelationer finns bevarat i ett format maskiner gillar.<\/p>\n

    S\u00e5 det en maskin kan g\u00f6ra \u00e4r att vid en HTTP-fr\u00e5ga till en webbserver be sn\u00e4llt om att f\u00e5 svaret i RDF-format, men ocks\u00e5 artigt f\u00f6rklara att webbservern f\u00e5r falla tillbaka p\u00e5 HTML om den inte har n\u00e5got annat (kolla in boken Linking Government Data, 2011<\/a> f\u00f6r djupdykning).<\/p>\n

    I ett svar som \u00e4r formaterat i RDF kan man f\u00f6r den v\u00e4stliga busslinjen f\u00e5 reda p\u00e5 att den har en relation till busslinje 58 i \u00f6stlig riktning. Dessutom kan man f\u00e5 en lista \u00f6ver vilka h\u00e5llplatser som trafikeras, hur tidtabellen \u00e4r och en lista med metadata.<\/p>\n

    I listan med h\u00e5llplatser finns f\u00f6r varje h\u00e5llplats en identifierande URI. Om maskinen utforskar den kommer den hitta fram till en annan typ av information – n\u00e5got som har en geografisk plats. Att det \u00e4r en geografisk plats vet maskinen f\u00f6r att det framg\u00e5r vilken informationsstandard som latitud och longitud \u00e4r angivna med, utan det ser latitud och longitud (enligt decimala WGS-84-formatet<\/a>) ut som ett numeriskt tal med en massa decimaler. Ifr\u00e5n h\u00e5llplatsens URI g\u00e5r det att uppt\u00e4cka och utforska alla andra busslinjer som trafikerar just den h\u00e5llplatsen.<\/p>\n

    L\u00e4nkade \u00f6ppna data – den semantiska webben<\/h3>\n

    Och s\u00e5 forts\u00e4tter det. D\u00e4rav ordet \u201cweb\u201d, ett v\u00e4rldsomsp\u00e4nnande spindeln\u00e4t \u00e4r precis vad webben \u00e4r avsedd att vara, men detta \u00e4r den semantiska webben – d\u00e4r inneb\u00f6rd och mening inte g\u00e5r f\u00f6rlorad i lika stor utstr\u00e4ckning som den \u201cvanliga\u201d webben.<\/p>\n

    Men l\u00e4nkade data \u00e4r inte n\u00f6dv\u00e4ndigtvis \u00f6ppna f\u00f6r utomst\u00e5ende eller en del av den publika webben. I de fall man vill sprida sina data och koppla ihop sina l\u00e4nkade data med den dynamiska omv\u00e4rlden \u00e4r det l\u00e4nkade _\u00f6ppna_ data det handlar om. Skillnaden \u00e4r inte st\u00f6rre \u00e4n att man f\u00e5r in \u00f6ppenhet som dimension. S\u00e5 det handlar om b\u00e5de struktur, mening men ocks\u00e5 att det erbjuds \u00f6ppet. I ovan hypotetiska exempel med kollektivtrafik \u00e4r \u00f6ppenheten uppenbar d\u00e5 vem som helst har nytta av att kunna relatera till en h\u00e5llplats eller busslinje. P\u00e5 s\u00e5 s\u00e4tt kan man samarbeta \u00f6ver diverse gr\u00e4nser. Sen kan man ha en hybrid mellan \u00f6ppenhet och slutenhet, med det material man samarbetar \u00e4r det \u00f6ppet och n\u00e4r det \u00f6ppna materialet h\u00e4nvisar till n\u00e5got slutet kr\u00e4ver den URI:n en viss beh\u00f6righet f\u00f6r att visa interna detaljer.<\/p>\n

    Inom och utom organisationen<\/h3>\n

    S\u00e5 skulle man kunna resonera kring journaldata inom alla de framtida v\u00e5rdinformationsmilj\u00f6erna som upphandlas just nu. Man g\u00f6r skillnad p\u00e5 \u00e5tkomst, att det finns olika grupper eller zoner f\u00f6r beh\u00f6righet.<\/p>\n

    En URI:s svar kan bero p\u00e5 vem som fr\u00e5gar, om fr\u00e5gan st\u00e4lls fr\u00e5n en betrodd parts fysiska n\u00e4tverk eller liknande. S\u00e5 om det \u00e4r jag som fr\u00e5gar efter min egen patientjournal har jag tillg\u00e5ng om det g\u00e5r att verifiera att jag \u00e4r jag, men om jag fr\u00e5gar efter grannens journal bekr\u00e4ftas inte ens att n\u00e5gon s\u00e5dan existerar. Mellanvarianter kanske \u00e4r aktuella i somliga fall, men det g\u00e4ller att inte r\u00e5ka l\u00e4cka uppgifter – att bekr\u00e4fta att n\u00e5got existerar kan vara illa nog i vissa fall.<\/p>\n

    F\u00f6r mindre k\u00e4nsliga uppgifter kanske man kan ha en intern beh\u00f6righet som ger en ofarlig sammanfattning av n\u00e5got. Ett t\u00e4nkbart exempel \u00e4r att de inom offentlig sektor som signerat sekretessavtal har \u00e5tkomst till mer information \u00e4n de som \u00e4nnu inte har gjort det. Bredvid dessa som har sekretess finns andra grupper som lyder under striktare sekretess, exempelvis f\u00f6r att man ing\u00e5r i projekt som har upphandlingssekretess, eller det givna med patientsekretess.<\/p>\n

    Arkitektur: API:er ska f\u00f6lja DCAT-AP och n\u00e4r v\u00e4ljer man \u201cfeta\u201d API:er?<\/h2>\n

    Det finns m\u00e5nga h\u00e4nsyn att ta n\u00e4r man utformar sina API:er. Inte minst att v\u00e4rna om de som anv\u00e4nder ens API vilket vi kommer g\u00e5 igenom strax. Ett s\u00e4tt att g\u00f6ra listningen, sj\u00e4lva katalogen, begriplig \u00e4r att f\u00f6lja EU:s rekommendation att nyttja DCAT-AP<\/a> f\u00f6r att beskriva respektive datak\u00e4lla. Det g\u00f6r att sj\u00e4lva API:et som s\u00e5dant f\u00f6ljer en s\u00e5dan struktur att den \u00e4r sj\u00e4lvbeskrivande f\u00f6r maskiner. F\u00f6ljer ett API DCAT-AP kan API-kataloger likt \u00d6ppnaData.se<\/a> automatiskt uppt\u00e4cka och inkludera API:et i sina listningar.<\/p>\n

    En annan arkitekturfr\u00e5ga kring API:er \u00e4r hur man skiktar det hela, eller p\u00e5 lekmannatermer, hur man betraktar vad som \u00e4r sj\u00e4lva k\u00e4rnsystemet. Ett tillv\u00e4gag\u00e5ngss\u00e4tt \u00e4r att ha tunna klienter och mer \u201cfeta\u201d API:er. Det inneb\u00e4r att logik och funktion \u00e4r inkapslat i API:et och den bakomliggande tj\u00e4nsten. Po\u00e4ngen med feta API:er \u00e4r att det g\u00e5r snabbt och enkelt att bygga ett nytt gr\u00e4nssnitt, man beh\u00f6ver inte l\u00e4gga mycket tid p\u00e5 uppenbara funktioner d\u00e5 de ist\u00e4llet erbjuds via API:et.<\/p>\n

    S\u00e5 l\u00e5t s\u00e4ga att man vill ha en mobilapp, en webbapp, ett konversationsbaserat gr\u00e4nssnitt via telefon alternativt som en digital hj\u00e4lpreda, samt att man vill ha en AI oh vad tusan nu framtiden erbjuder. I ett s\u00e5dant scenario \u00e4r vissa saker gemensamma och inte direkt unika, de sakerna erbjuds direkt via ett API.<\/p>\n

    Motpolen \u00e4r feta klienter\/gr\u00e4nssnittssystem\/<\/i>applikationer och tunn backend. I detta fallet ligger funktioner och logik i respektive gr\u00e4nssnitt. P\u00e5 s\u00e5 s\u00e4tt hamnar innovationen n\u00e4rmre anv\u00e4ndaren och API:et agerar mer som en korkad datak\u00e4lla. H\u00e4r skapas en annan typ av inl\u00e5sningseffekter \u00e4n om man har ett tjockt API. Med feta klienter \u00e4r det kr\u00e5ngligare att komma ig\u00e5ng, samt att det \u00e4r mindre uppenbar skiljelinje mellan gr\u00e4nssnitt och bakomliggande system.<\/p>\n

    Dogfooding FTW!<\/h3>\n

    Ett s\u00e4tt att inte l\u00e5ta den som bygger gr\u00e4nssnittet automatiskt f\u00e5 ett defacto-monopol p\u00e5 integration mot backend eller API:er \u00e4r att skilja p\u00e5 k\u00e4rnfunktion\/k\u00e4rnsystem och gr\u00e4nssnitt. Det kallas ibland f\u00f6r dogfooding, eller \u201ceat your own dog food\u201d<\/a>, och i detta sammanhang skulle man g\u00f6ra upp med en leverant\u00f6r att det gr\u00e4nssnitt som byggs inte f\u00e5r lov att anv\u00e4nda n\u00e5gra icke-dokumenterade API:er gentemot k\u00e4rnsystemet. Ska man k\u00f6ra \u00f6ppna data fullt ut s\u00e5 ska man allts\u00e5 sj\u00e4lv enbart \u00e5teranv\u00e4nda sin egen \u00f6ppna data n\u00e4r man skapar n\u00e5got.<\/p>\n

    P\u00e5 s\u00e5 vis har man inte sj\u00e4lv n\u00e5gra genv\u00e4gar. Drabbas externa parter som \u00e5teranv\u00e4nder dina data och funktioner via API:et s\u00e5 kommer \u00e4ven dina l\u00f6sningar lida av liknande problem. Att man sj\u00e4lv f\u00e5r lida n\u00e4r API:et strular g\u00f6r det till en h\u00f6gre prioritet att l\u00f6sa och de externa parterna kan d\u00e4rmed ha h\u00f6gre f\u00f6rtroende f\u00f6r tj\u00e4nsten.<\/p>\n

    Det g\u00e4ller allts\u00e5 att s\u00e4tta sig in i vidareanv\u00e4ndarens situation, t\u00e4nka tillg\u00e4nglighet och hur utvecklarnas upplevelse ska vara.<\/p>\n

    Upplevelsen av data: tillg\u00e4nglighet och Developer Experience m.m.<\/h2>\n

    Att datak\u00e4llans inneh\u00e5ll beh\u00f6ver vara tillg\u00e4nglig f\u00f6r maskiner har du nog f\u00e5tt i dig vid det h\u00e4r laget. Men \u00e4n den inte tillg\u00e4nglig eller anv\u00e4ndbar f\u00f6r m\u00e4nniskor fattas \u00e4nd\u00e5 n\u00e5got. Maskiner styrs fortfarande av utvecklare, och utvecklare \u00e4r \u00e4ven de m\u00e4nniskor. Om inte inneh\u00e5ll i datak\u00e4llor, datasnuttar, katalogen \u00f6ver en organisations datak\u00e4llor med mera \u00e4r tillg\u00e4ngligt f\u00f6r den nyfikne utvecklaren n\u00e4r<\/u> hen \u00e4r nyfiken kan man som utgivare av \u00f6ppna data ha missat m\u00f6jligheten.<\/p>\n

    Ett s\u00e4tt att f\u00f6rs\u00f6ka vara tillg\u00e4nglig b\u00e5de f\u00f6r m\u00e4nniskor i st\u00f6rsta allm\u00e4nhet men specifikt f\u00f6r inf\u00f6rs\u00e4ljning till utvecklare \u00e4r att f\u00f6lja tipsen fr\u00e5n V\u00e4gledning f\u00f6r webbutveckling – popul\u00e4rt kallat Webbriklinjer.se<\/a> – d\u00e4r finns drygt hundra tips p\u00e5 b\u00e5de god praxis men ocks\u00e5 hur man undviker att r\u00e5ka diskriminera n\u00e5gon anv\u00e4ndare. Vid upphandling \u00e4r det smart<\/p>\n

    Var sn\u00e4ll mot utvecklarna – var f\u00f6ruts\u00e4gbar<\/h3>\n

    Om n\u00e5gon har byggt vidare p\u00e5 n\u00e5got du lagt ut blir de f\u00f6rst\u00e5s inte glada om du ov\u00e4ntat st\u00e4nger ner den tj\u00e4nsten. Det \u00e4r viktigt med f\u00f6ruts\u00e4gbarhet f\u00f6r att bli popul\u00e4r. Ett extremt bra s\u00e4tt att vara f\u00f6ruts\u00e4gbar \u00e4r att jobba med versionshantering, allts\u00e5 att nya funktioner i ett API inte p\u00e5verkar de som inte beh\u00f6ver dem. F\u00f6r\u00e4ndringar som kommer st\u00e4lla till det beh\u00f6ver kommuniceras med god framf\u00f6rh\u00e5llning.<\/p>\n

    Egentligen kommer man l\u00e5ngt bara genom att h\u00e5lla kontakt med de som \u00e4r t\u00e4nkbara anv\u00e4ndare, \u00f6dmjukt fr\u00e5ga dem hur de vill ha det och ge dem ett antal veto-kort att anv\u00e4nda mot dumma id\u00e9er som kommer st\u00e4lla till det. Det \u00e4r inte sv\u00e5rare \u00e4n att l\u00e4gga manken till f\u00f6r att ha en bra relation med andra utvecklare \u00e4n de man avl\u00f6nar.<\/p>\n

    Men med tanke p\u00e5 att \u00f6ppna API:er och \u00f6ppna data funnits i n\u00e5gra \u00e5r finns gott om praxis. N\u00e5gra som dokumenterat detta i form av en recension \u00e4r non-profitorganisationen Clear Byte – h\u00e4r med recension av Trafikverkets API<\/a>.<\/p>\n

    Aprop\u00e5 att vara sn\u00e4ll, genom att k\u00f6ra med \u00f6ppna kort kring datak\u00e4llor kommer \u00e4ven de egna anst\u00e4llda ha en st\u00f6rre chans att uppt\u00e4cka information som redan finns inom organisationen. Potentialen att inte \u00e5terskapa eller k\u00f6pa data man redan \u00e4ger finns allts\u00e5. Det ger tid f\u00f6r mer innovativt arbete!<\/p>\n

    L\u00e4nktips g\u00e4llande \u00f6ppna data, l\u00e4nkade data, PSI, API:er m.m.<\/h2>\n