• Hem
  • Kategorier
  • Senaste
  • Taggar
  • Populära
  • Användare
  • Grupper
Collapse
Dataportal logo

Community på Sveriges dataportal

M

Magnus

@Magnus
About
Inlägg
6
Ämnen
2
Grupper
0
Följare
0
Följer
0

Inlägg

Senaste Bästa Controversial

    Analys Datakvalitet
  • M Magnus

    Hej @josefinlassi !

    Ett av dom stora utmaningarna är att det är svårt att få nationella aktörer att ta ansvar för en specifikation. Anledningarna till bristen på specifikationer med ett hållbart "ägande" är att många myndigheter säger sig inte ha ett uppdrag att ansvara för detta, eller tidsbrist, eller att man inte ser behovet.

    Här vore det ju passande om det är myndigheten Digg som är den nationella aktören som tar uppdraget att ansvara för specifikationerna.

    API-frågorna kan jag inte svara på...

    Nej det ligger ju inte på Digg i detta fall, problemet vid denna analys var den usla datakvalitén som publicerades av det API som typ samtliga publikationer använde sig av.

    Just nu så utvecklar vi sökfunktionen ...

    Det låter toppen!


  • Analys Datakvalitet
  • M Magnus

    @jonor Jag instämmer, tyvärr.


  • Analys Datakvalitet
  • M Magnus

    @Jonas-Nordqvist
    Det är inget fel på dataspecifikationen för badplatser, problemet är den usla datakvalitén. Därför ligger det nära till hands att lägga skulden på den tekniska plattformen RowStore, som trots en tydlig teknisk specifikation, ändå tillåter både inmatning och publicering av vilket skräpdata som helst. Eller kanske snarare på de som valt, eller rekommenderat, att publicera datat i den kanalen.

    @josefinlassi har kommenterat portalens funktionalitet i denna tråd och bättre sökfunktionalitet verkar vara på gång, toppen!


  • Analys Datakvalitet
  • M Magnus

    Hej!

    På senare tid har det uppkommit bättre förutsättningar för att nyttja Öppna Data:

    • Dataportal - för att hitta data
    • Specifikationer - för att ensa datamodellerna som beskriver samma sak
    • APIer - för maskininläsning av data

    Av den anledningen var jag intresserad av att titta på hur upplevelsen för en datakonsument ser ut idag. Det vill säga, hur enkelt är det för en part att integrera och konsumera datat; vilka eventuella hinder och svårigheter möter den utvecklare som avser att bygga en samhällsnyttig tjänst baserat på Öppna Data?

    Studien är inte akademisk på något sätt utan enbart en enklare analys.

    För studien behövdes ett lämpligt användningsfall och valet föll på datamängden Badplatser då:

    • Den har en öppen specifikation
    • Ett flertal dataproducenter har valt att publicera data enligt specifikationen
    • Ett relativt stort antal olika publiceringar finns att finna via Dataportal.se
    • Många av datakällorna är APIer som publicerar datat enligt JSON

    I och med detta finns alltså förutsättningar för att hitta och samla in enhetligt data.

    I Dataportalen hittade jag 20 publiceringar av Badplatser som kan hämtas via API på JSON-format och som enligt metadatat uppfyller specifikationen https://www.dataportal.se/specifications/badplatser/1.0

    Nedan presenteras resultatet av integration mot dessa ovan nämnda resurser.

    Den initiala upplevelsen var minst sagt nedslående då ingen av resurserna tillhandahöll data enligt utlovad specifikation.

    e928c8f2-dd16-402a-a9b2-a4b455089864-image.png

    Majoriteten av API-resurserna är baserade på något som benämns RowStore och verkar vara en del av produkten EntryScape från företaget MetaSolutions AB. All JSON-data från dessa resurser returneras som helt otypat data i konflikt med specifikationen.

    Förklaring:
    I specifikationen har varje datafält en typ definierad; t.ex. att ett namn är en sträng, en koordinat är ett decimaltal, ett tillstånd som är sant eller falskt är en boolean (true|false) o.s.v.

    {
        "place_id":  "1477-Hattarevik", //sträng
        "latitude":  58.787, //decimaltal
        "toilet":  true //boolean
    }
    

    Med otypat data så returneras samtliga datafält som godtyckliga strängar, ex:

    {
        "place_id":  "1477-Hattarevik", //sträng  
        "latitude":  "58.787", //sträng  
        "toilet":  "true", //sträng  
    }
    

    Det är fortfarande läsbart för en människa men JSON-formaterat data är avsett för maskin och nu är datat fullkomligt oanvändbart eftersom samtliga datafält bara innehåller fritexter.

    Det vore ju dock tråkigt att avbryta denna analys så här tidigt på grund av APIernas begränsningar. Därför bearbetade jag allt data och konverterade typerna för alla datafält enligt definitionerna i specifikationen för att komma vidare. Härmed kan vi nu titta på datakvaliteten för varje enskild datapost.

    Av 156 insamlade och typkonverterade dataposter (badplatser) så visade det sig nu att endast 31 stycken av dessa innehöll korrekt data.

    fd0aa63d-3858-49d9-8d0e-396eaf4fd2fd-image.png

    Med andra ord så är det 125 av 156 dataposter vars data inte kan tolkas, det kan t.ex. vara:

    • Icke kompletta dataposter som förmodligen inte ens avser att beskriva en faktisk badplats, det är bara skräp.
    • Datafält innehåller text-värden som inte går att typkonvertera till aktuell typ.
    • Dataposter innehåller datafält med felaktiga namn, d.v.s. som inte matchar specifikationens obligatoriska datafält.
    • O.s.v.

    Även detta resultat är nedslående, att merparten av allt data har så dålig kvalitet att det inte alls är användbart.

    För att sammanfatta denna analys och svara på dess frågeställning:

    • Att hitta alla datakällor var relativt enkelt tack vare Dataportal.se. Det hade dock varit önskvärt om det gick att filtrera dataset på metadatafältet “Uppfyller” (ConformsTo) (om det redan går så hittade jag i alla fall inget stöd för det i sökfunktionen och inte heller någon dokumentation om hur det eventuellt kan göras).
    • Att integrera mot ett stort antal olika datakällor är förstås något krångligt och tidsödande, men görbart.
    • Att datakällorna inte returnerar korrekt formaterat data är katastrofalt ur ett integrationsperspektiv och förtar hela syftet med ett API.
    • Att dataposterna har så extremt dålig datakvalitet gör att användningen av detta Öppna Data är omöjlig.

    Upplevelsen för mig som integratör mot dessa resurser var onekligen mycket dålig. Hindren var många och ofta oöverstigliga. Möjligheterna att samla in enhetligt data för vidare förädling och eventuell utveckling av nya tjänster är dessvärre obefintliga.

    Metadatakatalog och specifikationer i alla ära, men med undermåliga gränssnitt och ingen kontroll på datakvalitet så innebär dessa publiceringar av Öppna Data tyvärr enbart kostnader och tillför inget som helst, eller högst begränsat, faktiskt värde.

    Med vänlig hälsning, Magnus


  • Ang. spec. Badplatser
  • M Magnus

    Ping @tomasmonsen


  • Ang. spec. Badplatser
  • M Magnus

    Hej!

    Jag har tittat på specifikationen för Badplatser och hoppas att någon insatt här kan kommentera på min reflektion nedan.

    På sidan för specifikationen https://www.dataportal.se/specifications/badplatser/1.0 finns en länk till själva specifikationen https://lankadedata.se/spec/badplatser/ som alltså definierar en tabular informationsmodell samt beskrivning av hur informationen uttrycks i formatet CSV, JSON och länkade data (RDF).

    Under avsnitt 6.2 JSON formatet står följande:
    JSON uttrycket följer direkt från CSV-schemat och W3C-rekommendationen "Generating JSON from Tabular Data on the Web" (https://www.w3.org/TR/csv2json/).

    Och i W3C’s rekommendation finns en tabell för hur datatyper ska mappas till JSON-typer.
    4.5 Interpreting datatypes (https://www.w3.org/TR/csv2json/#datatypes)

    Vidare visas här också exempel på hur JSON ska se ut när man har ett rikt definierat schema (så som specifikationen för badplatser har).

    Exempelvis så här för tre egenskaper med tre olika typer (string, integer, boolean):

    {
        "species": "Celtis australis",
        "dbh": 11,
        "protected": false,
    	…
    }
    

    Om vi då återigen tittar på specifikationen för badplatser som alltså definierar:

    6.2 JSON formatet
    JSON uttrycket följer direkt från CSV-schemat och W3C-rekommendationen "Generating JSON from Tabular Data on the Web" (https://www.w3.org/TR/csv2json/).
    Se exempel på JSON i appendix B.

    Detta JSON-exempel, i appendix B (längst ner på specifikations-sidan https://lankadedata.se/spec/badplatser/#exempel-i-json), visar JSON med värden som är helt otypade:

    {
        "place_id":  "1477-Hattarevik",
        "latitude":  "58.787",
        "toilet":  "true",
    	…
    }
    

    Samtliga värden är strängar, det vill säga inte alls så som definitionen själv säger att: JSON uttrycket följer direkt från W3C-rekommendationen "Generating JSON from Tabular Data on the Web"

    Min reflektion är således att själva exemplet i appendix B för Specifikation för Badplatser innehåller felaktigt genererad JSON.

  • Logga in

  • Har du inget konto? Registrera

  • Login or register to search.
  • Första inlägget
    Sista inlägget
0
  • Hem
  • Kategorier
  • Senaste
  • Taggar
  • Populära
  • Användare
  • Grupper
  • Logga in

  • Har du inget konto? Registrera

  • Login or register to search.