Länkade data - vad, varför och hur
-
Upload
metasolutions-ab -
Category
Internet
-
view
526 -
download
1
Transcript of 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
Ö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
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/
Kompetensförstärkning kring länkade öppna data i Sverige
● Vitbok
● Webbinarier
○ AstraZeneca
○ Riksantikvarieämbetet
○ Kungliga biblioteket
○ Nobel Media
○ Svenska Yle
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!
★★★★★ 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
Ö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
Länkade data enligt Tim Berners-Lee
“Linked data is relationships”
● 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
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
2007
2008
2009
2010
2011
"Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/"
2014
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
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
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.)
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
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
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
Hämta påståenden om ting 2GET http://data.nobelprize.org/resource/laureate/5
GET http://data.nobelprize.org/resource/nobelprize/Physica/1903
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
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
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
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!
Vem var Gustav Stresemann?
SELECT ?property ?value WHERE {
<http://data.nobelprize.org/resource/laureate/491>
?property ?value .
}
Alla direkta tripplar för Gustav Stresemann:
Kör frågan!
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
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
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> .
Relationer kring Gustav Stresemann
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
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
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)
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
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
Paus
Exempel på länkade öppna data i Sverige
Nobelpris
Kulturarv
Statistik
Riktlinjer
Länkade Nobelpris
Vokabulärer
Återanvända vokabulärer● DC Terms● FOAF● DBpedia ontology● RDF och RDF Schema (givetvist)
Nytt vokabulär● 10 klasser● 14 egenskaper
Länkade Nobelpris
Nobel Laureate
Länkar till andra dataset
Nobel Prize
YAGO
Freebase
DBpedia
VIAF
Bio2RDF
Linked Life Data
...
...
Förbättrade webbsidor
Nobelpris i LOD molnet
data.nobelprize.org
● RDF dump
● SPARQL
● GUI
Demo!
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
SPARQL exempel 2
Nobelpristagare som är födda i Sverige och delar priset med någon annan.
SELECT DISTINCT ?name WHERE {
?laureate dbpedia-owl:birthPlace <http://data.nobelprize.org/resource/country/Sweden> .
?laureate nobel:laureateAward ?award .
?award nobel:share ?share .
?laureate foaf:name ?name .
FILTER (xsd:int(?share) > 1 )
}Till resultatet
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
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/
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
Socialstyrelsen
● Prototypnivå
○ Försäkringsmedicinskt beslutstöd
○ Nationella riktlinjer
● Exempel
○ https://sos.entryscape.com
○ https://sos.entryscape.com/fmb/
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
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
(visas i webbläsaren)
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