Länkade data - vad, varför och hur

59
Länkade data - vad, varför och hur Seminarium Dataföreningen Västra IT på framkanten Göteborg, 2014-12-10 Hannes Ebner [email protected] Matthias Palmér [email protected] metasolutions.se

Transcript of Länkade data - vad, varför och hur

Page 1: Länkade data - vad, varför och hur

Länkade data - vad, varför och hur

Seminarium Dataföreningen VästraIT på framkanten

Göteborg, 2014-12-10

Hannes [email protected]

Matthias Palmé[email protected]

metasolutions.se

Page 2: Länkade data - vad, varför och hur

Översikt

● Inledning

● Varför är länkade data bra?

● Vad är länkade data?

● Vanliga vokabulärer

-- Paus --

● Exempel på länkade data i Sverige

● Hur kommer man igång med länkade data?

● Teknologier som stödjer länkade data

Page 3: Länkade data - vad, varför och hur

Vitbokens upplägg

1. Introduktion

2. Fördelar

3. Kom igång

4. Teknikplattformar

5. Scenarier

6. Vanliga frågor

7. Relaterad information

Läs vitboken på http://lankadedata.se/vitbok/

Page 4: Länkade data - vad, varför och hur

Kompetensförstärkning kring länkade öppna data i Sverige

● Vitbok

● Webbinarier

○ AstraZeneca

○ Riksantikvarieämbetet

○ Kungliga biblioteket

○ Nobel Media

○ Svenska Yle

Page 5: Länkade data - vad, varför och hur

Vitboken lever vidare

● Webbinarier även efter projektet

● Vitboken ligger kvar på GitHub

○ Kommer att uppdateras

○ Bidrag är mycket välkomna

(Skicka pull requests, lägga upp synpunkter, …)

● Undervisningsmaterial på länkadedata.se

Ett stort tack till VINNOVA för att de möjliggjort detta

projekt och till de som givit feedback!

Page 6: Länkade data - vad, varför och hur

★★★★★ gör din information tillgänglig på Webben★★★★★ (oberoende av format) under en öppen licens

★★★★★ gör informationen tillgänglig som strukturerad data★★★★★ (t. ex., Excel format istället för en bild av en tabell)

★★★★★ använd icke-proprietära format★★★★★ (t. ex., CSV istället för Excel)

★★★★★ använd URI:er för att identifiera ting, RDF för att uttrycka påståenden om dem

★★★★★ länka dina data till andras data, det ger sammanhang

Olika tillgång till Data

Page 7: Länkade data - vad, varför och hur

Öppna data & länkade data

“Länkade data tillför länkar och ett enhetligt format (RDF) som saknas hos öppna data.” - Vitboken

ÖppnaDataLänkade

öppnaDataLänkade

Data

Page 8: Länkade data - vad, varför och hur

Länkade data enligt Tim Berners-Lee

“Linked data is relationships”

Page 9: Länkade data - vad, varför och hur

● Data ses som information om ting

● Ting identiferas med URI:er (webbadresser)

● Ladda ett ting (via HTTP) så får du:

○ fakta om ting

○ relationer (länkar) till andra ting

● Fakta och relationer uttrycks i språket RDF

Länkade Data - kort och koncist

Page 10: Länkade data - vad, varför och hur

Ting och relationer

http://trafikverket.se/bil/EPH879

http://skv.se/person/7508286620

EPH879identifier

1989created

En bil hos trafikverket:

GET http://trafikverket.se/bil/EPH879

volvotype

owner

En person hos skatteverket:

GET http://skv.se/person/eph879

http://skv.se/person/7508286620

Sven

Andersson

1975-08-28

http://data.scb.se/terms/lkf/0380

firstName

lastName

dateOfBirth

birthPlace

Page 11: Länkade data - vad, varför och hur

2007

Page 12: Länkade data - vad, varför och hur

2008

Page 13: Länkade data - vad, varför och hur

2009

Page 14: Länkade data - vad, varför och hur

2010

Page 15: Länkade data - vad, varför och hur

2011

Page 16: Länkade data - vad, varför och hur

"Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/"

2014

Page 17: Länkade data - vad, varför och hur

Fördelar

1. Data blir en del av webben skicka med data i webbsidor

2. Förbättrad sökbarhet sökmaskiner förstår dina data bättre än

dina webbsidor

3. Interoperabilitet lättare att utbyta och samköra data

4. Återanvändbara datauttryck mindre jobb för den egna organisationen

5. Kompetenta datauttryck inga fyrkantiga lådor i runda hål

6. Ökad datakvalitét via länkar positionera dina data och externalisera

information

Page 18: Länkade data - vad, varför och hur

Förstå och återanvänd varandras data● Ingen scraping● Liknande uttryck● Bättre tillgänglighet på webben

och i sökmotorer

Specialisering● minska duplicering● fokusera på de egna datas

specifika och unika mervärden (genom att länka till andras data)

Förenklad maskinell bearbetning● Semantiken klargörs● Färdiga ramverk finns

Varför - Länkade Data

Page 19: Länkade data - vad, varför och hur

Vad är Länkade Data?

På med blåstället och kavla upp ärmarna!

(Grunderna är enkla men det är lätt att gå vilse i bland tekniska begrepp.)

Page 20: Länkade data - vad, varför och hur

Grunderna i Länkade Data

Adressbarhet - URI● ting har globala identifierare (URI:er)● använd webbadresser, börjar på HTTP

Enhetligt språk - RDF● RDF har karaktären av ett nätverk (graf)● språket består av enskilda påståenden om:

○ fakta om ting - tex. titel, storlek, datum○ relationer mellan ting - tex. känner, del av

● ett språk, många format - RDF/XML, Turtle, N3(jmf. Svenska i tal, skrift, stenografi etc.)

Länkar● mellan ting i samma datamängd● mellan ting i andra datamängder

Page 21: Länkade data - vad, varför och hur

RDF 1.1Resource Description Framework

Tre enkla regler:1. Ett påstående uttrycks som “trippel” (“statement”),

med subjekt, predikat och object2. Alla delar av ett trippel är namn (identifierare) för

entiteter (konkret eller abstrakt)3. Objekt kan även ha ett text- eller datavärde

(literaler)

RDF 1.1 är enW3C Rekommendation

fastställdes februari 2014

Page 22: Länkade data - vad, varför och hur

Hämta påståenden om tingGET http://data.nobelprize.org/resource/laureate/5

GET http://data.nobelprize.org/resource/nobelprize/Physica/1903

3. Vad är länkade data

Page 23: Länkade data - vad, varför och hur

Hämta påståenden om ting 2GET http://data.nobelprize.org/resource/laureate/5

GET http://data.nobelprize.org/resource/nobelprize/Physica/1903

Page 24: Länkade data - vad, varför och hur

Turtle formatet

GET http://data.nobelprize.org/resource/nobelprize/Physics/1903

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix dbpedia: <http://dbpedia.org/ontology/> .

@prefix nobel: <http://data.nobelprize.org/resource/terms/> .

http://data.nobelprize.org/resource/nobelprize/Physics/1903

rdf:type nobel:nobelPrize ;

rdf:type dbpedia:Award ;

nobel:laureate http://data.nobelprize.org/resource/laureate/4 ;

nobel:laureate http://data.nobelprize.org/resource/laureate/5 ;

nobel:laureate http://data.nobelprize.org/resource/laureate/6 ;

nobel:category http://data.nobelprize.org/resource/category/Physics ;

nobel:year 1903 ;

rdfs:label “Physics 1903”@en .

RDF 1.1 Turtle är enW3C Rekommendation

fastställdes februari 2014

Page 25: Länkade data - vad, varför och hur

Frågespråket● PREFIX, SELECT, WHERE● DESCRIBE, CONSTRUCT, ASK● GRAPH, UNION, OPTIONAL● FILTER, LIMIT

Resultatformat: XML, JSON, CSV, TSV

Uppdateringsspråket

Protokoll för frågor och uppdateringar över HTTP

Graph Store HTTP Protokoll(RESTful alternativ till protokollet ovan, används oftast för uppdatering av hela grafer.)

SPARQL - översikt

SPARQL1.1består av 11 olika

W3C Rekommendationerfastställdes mars 2013

Page 26: Länkade data - vad, varför och hur

Nobelpristagare födda i Berlin

SELECT ?s ?label

WHERE {

?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://data.nobelprize.org/terms/Laureate> .

?s <http://dbpedia.org/ontology/birthPlace> <http://data.nobelprize.org/resource/city/Berlin> .

?s <http://www.w3.org/2000/01/rdf-schema#label> ?label .

}

PREFIX nobel: <http://data.nobelprize.org/terms/>

PREFIX nobelcity: <http://data.nobelprize.org/resource/city/>

PREFIX dbpo: <http://dbpedia.org/ontology/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT * WHERE {

?s a nobel:Laureate ;

dbpo:birthPlace nobelcity:Berlin ;

rdfs:label ?label .

}

vi skriver om fråganför att förbättra läsbarheten

Page 27: Länkade data - vad, varför och hur

Nobelpristagare födda i BerlinPREFIX dbpo: <http://dbpedia.org/ontology/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

PREFIX nobelcity: <http://data.nobelprize.org/resource/city/>

SELECT * WHERE {

?s dbpo:birthPlace nobelcity:Berlin .

?s rdfs:label ?label .

}

s label

http://data.nobelprize.org/resource/laureate/491 "Gustav Stresemann"

http://data.nobelprize.org/resource/laureate/253 "Georg Wittig"

http://data.nobelprize.org/resource/laureate/340 "Ernst Boris Chain"

http://data.nobelprize.org/resource/laureate/640 "Nelly Sachs"

http://data.nobelprize.org/resource/laureate/361 "Werner Forssmann"

http://data.nobelprize.org/resource/laureate/266 "John C. Polanyi"

http://data.nobelprize.org/resource/laureate/580 "Paul Johann Ludwig Heyse"

http://data.nobelprize.org/resource/laureate/391 "Max Delbrück"

http://data.nobelprize.org/resource/laureate/185 "Adolf Otto Reinhold Windaus"

http://data.nobelprize.org/resource/laureate/164 "Johann Friedrich Wilhelm Adolf von Baeyer"

Kör frågan!

Page 29: Länkade data - vad, varför och hur

Alla direkta tripplarproperty valuedbpedia-owl:birthPlace <http://data.nobelprize.org/resource/city/Berlin>

dbpedia-owl:birthPlace <http://data.nobelprize.org/resource/country/Germany>

dbpprop:dateOfBirth 1878-05-10 (xsd:date)

dbpprop:dateOfDeath 1929-10-03 (xsd:date)

dbpedia-owl:deathPlace <http://data.nobelprize.org/resource/city/Berlin>

dbpedia-owl:deathPlace <http://data.nobelprize.org/resource/country/Germany>

foaf:familyName Stresemann

foaf:gender male

foaf:givenName Gustav

rdfs:label Gustav Stresemann

nobel:laureateAward <http://data.nobelprize.org/resource/laureateaward/486>

nobel:nobelPrize <http://data.nobelprize.org/resource/nobelprize/Peace/1926>

owl:sameAs dbpedia:Gustav_Stresemann

owl:sameAs freebase:m.01bdkd

owl:sameAs <http://viaf.org/viaf/61621945>

rdf:type nobel:Laureate

rdf:type foaf:Person 4. SPARQL

Page 30: Länkade data - vad, varför och hur

Alla tripplar

Naturligtvis kan man hämta direkt via HTTP:

Alternativt använda SPARQL:

Eller ännu enklare:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>DESCRIBE * WHERE {

?s rdfs:label "Gustav Stresemann" .

}

DESCRIBE <http://data.nobelprize.org/resource/laureate/491>

GET http://data.nobelprize.org/resource/laureate/491

Kör frågan!

GET http://data.nobelprize.org/page/laureate/491

Page 31: Länkade data - vad, varför och hur

Resultatet i RDF formatet Turtle

<http://data.nobelprize.org/resource/laureate/491>rdf:type foaf:Person , nobel:Laureate ;rdfs:isDefinedBy <http://data.nobelprize.org/data/laureate/491> ;rdfs:label "Gustav Stresemann" ;nobel:laureateAward <http://data.nobelprize.org/resource/laureateaward/486> ;nobel:nobelPrize <http://data.nobelprize.org/resource/nobelprize/Peace/1926> ;dbpedia-owl:birthPlace

<http://data.nobelprize.org/resource/city/Berlin> ,<http://data.nobelprize.org/resource/country/Germany> ;

dbpedia-owl:deathPlace<http://data.nobelprize.org/resource/city/Berlin> ,<http://data.nobelprize.org/resource/country/Germany> ;

dbpprop:dateOfBirth "1878-05-10"^^xsd:date ;dbpprop:dateOfDeath "1929-10-03"^^xsd:date ;owl:sameAs

<http://viaf.org/viaf/61621945> , <http://rdf.freebase.com/ns/m.01bdkd> , dbpedia:Gustav_Stresemann ;

foaf:familyName "Stresemann" ;foaf:gender "male" ;foaf:givenName "Gustav" ;foaf:name "Gustav Stresemann" ;foaf:page <http://data.nobelprize.org/page/laureate/491> .

Page 32: Länkade data - vad, varför och hur

Relationer kring Gustav Stresemann

Page 33: Länkade data - vad, varför och hur

Vokabulärer

Koncept-, vokabulär- och ontologispråkSKOS, RDFS och OWL

Specifika vokabulärer - olika områdenDCTerms, FOAF, SiOC

Breda vokabulärer - försöker fånga upp det mestaSchema.org, DBPedia-ontology, Freebase,Yago, Umbel, OpenCyc

Page 34: Länkade data - vad, varför och hur

Koncept-, vokabulär- och ontologispråkSKOS, RDFS och OWL

SKOS - “Simple Knowledge Organisation System”● Hierarki av begrepp● Att återanvändas som värden endast i objektsposition

RDF Schema 1.1● Definera klasser och properties i RDF● subClassOf och subPropertyOf för att förfina● Fundamentala byggstenar för hela grafen

OWL - “Web Ontology Language”● Kraftfullare än RDFS

Page 35: Länkade data - vad, varför och hur

DCMI Terms - Qualified Dublin Core

Properties: abstract, accessRights, accrualMethod, accrualPeriodicity, accrualPolicy, alternative, audience, available, bibliographicCitation, conformsTo, contributor, coverage, created, creator, date, dateAccepted, dateCopyrighted, dateSubmitted, description, educationLevel, extent, format, hasFormat, hasPart, hasVersion, identifier, instructionalMethod, isFormatOf, isPartOf, isReferencedBy, isReplacedBy, isRequiredBy, issued, isVersionOf, language, license, mediator, medium, modified, provenance, publisher, references, relation, replaces, requires, rights, rightsHolder, source, spatial, subject, tableOfContents, temporal, title, type, valid

Intoducerades 1995 på Workshop i Dublin Ohioav olika biblioteksorganisationerFokus: beskriva resurser/verk av olika slagUnderhålls av DCMI (Dublin Core Metadata Initiative)

Page 36: Länkade data - vad, varför och hur

FOAF - Friend Of A Friend

Properties: account | age | based_near | birthday | currentProject | depicts | dnaChecksum | gender | givenName | holdsAccount | img | interest | knows | lastName | mbox | member | nick | openid | page | phone | plan | status | surname | thumbnail | title | topic | weblog

Specification: http://xmlns.com/foaf/specIntroduced in 2000, latest update 2010Builds upon Dublin Core

Page 37: Länkade data - vad, varför och hur

Bing, Google och YahooIntroducerade schema.org 2011 Mer än 800 typer och 600 egenskaperAnvänds för att förbättra sökresultat

Sch

ema.

org

Page 38: Länkade data - vad, varför och hur

Paus

Page 39: Länkade data - vad, varför och hur

Exempel på länkade öppna data i Sverige

Nobelpris

Kulturarv

Statistik

Riktlinjer

Page 40: Länkade data - vad, varför och hur

Länkade Nobelpris

Page 41: Länkade data - vad, varför och hur

Vokabulärer

Återanvända vokabulärer● DC Terms● FOAF● DBpedia ontology● RDF och RDF Schema (givetvist)

Nytt vokabulär● 10 klasser● 14 egenskaper

Page 42: Länkade data - vad, varför och hur

Länkade Nobelpris

Page 43: Länkade data - vad, varför och hur

Nobel Laureate

Länkar till andra dataset

Nobel Prize

YAGO

Freebase

DBpedia

VIAF

Bio2RDF

Linked Life Data

...

...

Page 45: Länkade data - vad, varför och hur

Nobelpris i LOD molnet

Page 46: Länkade data - vad, varför och hur

data.nobelprize.org

● RDF dump

● SPARQL

● GUI

Demo!

Page 47: Länkade data - vad, varför och hur

SPARQL exempel 1

Kvinnliga svenska nobelpristagare.

SELECT DISTINCT ?label ?motivation WHERE {

?laureate rdf:type nobel:Laureate .

?laureate dbpedia-owl:birthPlace <http://data.nobelprize.org/resource/country/Sweden> .

?laureate foaf:gender "female" .

?laureate nobel:laureateAward ?award .

?award rdfs:label ?label .

optional {

?award nobel:motivation ?motivation .

FILTER (langMatches(lang(?motivation), "sv"))

}

}

LIMIT 10Till resultatet

Page 49: Länkade data - vad, varför och hur

Kungliga biblioteket

● LIBRIS

○ Ett av de första exempel på LD i Sverige

○ Bl.a. svensk nationalbibliografi och auktoritetsposter

är CC-licensierade

● Exempel

○ http://libris.kb.se/bib/10432900

○ http://libris.kb.se/data/bib/10432900?format=text%

2Frdf%2Bn3

Page 50: Länkade data - vad, varför och hur

Riksantikvarieämbetet

● K-samsök

○ Kulturarvsdata som länkade data

○ Aggregering av många mindre leverantörers

dataflöden

○ Levererar till Europeana

● Demo

○ http://www.ksamsok.se/verktyg/verktyg-demo/

Page 51: Länkade data - vad, varför och hur

Statistiska centralbyrån

● Leverar statistikdata till Eurostat○ SDMX-RDF via Eurostat○ Enbart aggregerade data

● RDF Data cube skulle vara ett bra format○ Finns tyvärr inte

● Fokus på URIer○ Svensk näringsindelning (SNI)○ Län, kommuner, församlingar (LKF)

● Exempel○ http://data.scb.se/terms/lkf/14○ http://data.scb.se/terms/lkf/1480○ http://data.scb.se/terms/lkf/148001○ http://data.scb.se/terms/sni/all

Page 52: Länkade data - vad, varför och hur

Socialstyrelsen

● Prototypnivå

○ Försäkringsmedicinskt beslutstöd

○ Nationella riktlinjer

● Exempel

○ https://sos.entryscape.com

○ https://sos.entryscape.com/fmb/

Page 53: Länkade data - vad, varför och hur

Kom igång

● Snabbstart i 6 punkter

● Tekniska lösningskategorier Utnyttja befintlig plattform – Data ligger kvar i plattform A

1. Utvidga plattformen Plattform A utvidgas med ny funktionalitet

2. Lager ovanpå plattformen Plattform B hämtar data från plattform A

3. Molntjänst ovanpå plattformen Plattform B i molnet hämtar data från plattform A

Ny plattform – Data flyttas från plattform A till plattform B

4. Ny plattform internt Plattform B hanteras inom organisationen

5. Ny plattform i molnet Plattform B hanteras externt av annan organisation

1. Ting 3. Rita grafen 5. Turtle

2. URI:er 4. Återanvänd 6. Publicera

Page 54: Länkade data - vad, varför och hur

Teknikplattformar

● 14 distinkta teknikplattformar sammanfattas med:

○ kort beskrivning

○ aktivitetsgrad

(kommersiell support, aktiv community, osv)

○ användning och kunder

○ licens

● Plattformarna delas in i lösningskategorier, tex:

○ Molntjänst ovanpå plattformen:

■ Dydra - http://dydra.com

■ EntryScape Import - http://entryscape.com (lodify.com)

■ Swirrl PublishMyData - http://swirrl.com/publishmydata

Page 55: Länkade data - vad, varför och hur
Page 56: Länkade data - vad, varför och hur
Page 57: Länkade data - vad, varför och hur

(visas i webbläsaren)

Page 58: Länkade data - vad, varför och hur

Relaterad information

● Öppna data i Sverige

○ öppnadata.se

○ E-delegationen

○ SKL:s ramverk

● Länkade data i Sverige

○ Meetups

○ Facebook-grupp Semantiska webben i Sverige

● Länkade data internationellt

○ Se literaturhänvisningar i vitboken

http://lankadedata.se/vitbok/relaterat.html

Page 59: Länkade data - vad, varför och hur