länkad data

125
Länkad Data

Upload: niklal

Post on 20-Jan-2015

989 views

Category:

Technology


3 download

DESCRIPTION

An introduction to Linked Data in Swedish. (Originally held at an internal lunch at Valtech in June 2012.)

TRANSCRIPT

Page 1: Länkad Data

Länkad Data

Page 2: Länkad Data

Söka?

Hitta!

Page 3: Länkad Data

Webbens evolution

.. från en webb av dokument

.. till en webb av data

Page 4: Länkad Data
Page 5: Länkad Data
Page 6: Länkad Data
Page 7: Länkad Data
Page 8: Länkad Data

Vad är data?

Page 9: Länkad Data

10100111001class Person { String name; int id; }

CREATE TABLE Persons ( id INTEGER NOT NULL, name VARCHAR(40), PRIMARY KEY (id) )

<persons> <person id="123"><name>Someone</name></person></persons>

<div class="person" id="p-abc003"> <span class="name">Someone</span></div>

"persons": [ { name:"Someone", id:123 } ]

Page 10: Länkad Data
Page 11: Länkad Data

CSV, XML, JSON, APIs, ...

Page 12: Länkad Data
Page 13: Länkad Data

Det skalar inte

● Att återuppfinna● Att reverse-engineera

(T.o.m. Google slår i taket)

Page 14: Länkad Data

Slöseri!

Kunskapen finns hos de somskapar data

och de som kontinuerligt studerar ochanvänder data

(både ur UI- och IT-perspektiv!)

Page 15: Länkad Data

Vad saknas?

Gemensamma egenskaper/attribut

Gemensamma länkar

Namn på länkar

Page 16: Länkad Data

Nästa steg:

Länkad data på webben

Page 17: Länkad Data

Linked Data

Tim Berners-Lee

Inventor of the World Wide Web

Page 18: Länkad Data

2009

<http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html>

Page 19: Länkad Data

Principer

Använd URIer för att identifiera saker

Använd HTTP-URIer så att de kan hänvisas till och slås upp på webben

Page 20: Länkad Data

Skicka användbar information när URIn slås upp

Inkludera länkar till andra URIer för att stödja upptäckbarhet av relaterad information

Page 21: Länkad Data

Användbar information

Page 22: Länkad Data

★ make your stuff available on the web (whatever format)★★ make it available as structured data (e.g. excel)★★★ use non-proprietary formats (e.g. CSV)★★★★ use URLs to identify things (e.g. an RDF format)★★★★★ link your data to other data to provide context

Page 23: Länkad Data

Framväxten av en semantisk webb

The Linked Data Projects

Yahoo SearchMonkey, Google Rich Snippets

Facebook Open Graph (OGP)

Schema.org

Google Knowledge Graph

Page 24: Länkad Data

Innan vi börjar..

Page 25: Länkad Data

Resource

Description

Framework

Page 26: Länkad Data

En standard för länkad data på webben

En enhetlig datamodell

Page 27: Länkad Data

Datamodell?

RDBs: relational

XML, JSON: trees (disjoint)

RDF: graph

Page 28: Länkad Data

Grafmodellen

Enkel

Naturlig

Integrerbar

Page 29: Länkad Data
Page 30: Länkad Data

Består av

Namngivna nodermed namngivna pilar därmellan

Länkar

Page 31: Länkad Data

Unika namn: URIer

Page 32: Länkad Data

(Turtle)

@prefix dc: <http://purl.org/dc/terms/> .@prefix : <http://schema.org/> .

<http://data.su.se/kurs/logik-a> a :EducationEvent; dc:title "Grundkurs i logik"@sv; dc:publisher <http://data.su.se/org>; dc:subject <http://data.vhs.se/def/studier/Logik> .

Page 33: Länkad Data

SPARQL

Protocol andRDF Query Language

Page 34: Länkad Data

pattern matching

select ?course ?title {

?course a :EducationEvent; dc:title ?title; dc:subject <http://data.vhs.se/def/studier/Logik>; dc:publisher [ a :EducationalOrganization; dbpowl:city <http://dbpedia.org/resource/Stockholm> ] .

}

Page 35: Länkad Data

Grunden för Länkad Data

Flera datakällor, uttryckta i RDF,sammanlänkade på webben

Länkad Data gör webben till en

giganisk, global grafdatabas

Page 36: Länkad Data

The LOD Cloud

Page 37: Länkad Data

2008

Page 38: Länkad Data

2011

Page 39: Länkad Data
Page 40: Länkad Data

Wikipedia

Page 41: Länkad Data

Use DBPedia to

.. query relationships and propertiesassociated with Wikipedia resources,

including links to other related datasets

Page 42: Länkad Data

Endpoint

http://dbpedia.org/sparql

Page 43: Länkad Data

Födda i Berlin before 1900

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

select ?person ?name ?birth { ?person foaf:name ?name; dbo:birthPlace :Berlin; dbo:birthDate ?birth . filter (?birth < "1900-01-01"^^xsd:date) .}order by ?name

Page 44: Länkad Data

201 gifta forskare

select (count(?person) as ?count){ ?person a foaf:Person, dbpedia-owl:Scientist; dbpprop:spouse ?spouse .}

Page 45: Länkad Data

11013 ogifta

select (count(?person) as ?count){ ?person a foaf:Person, dbpedia-owl:Scientist . minus { ?person dbpprop:spouse ?spouse . }}

Page 46: Länkad Data

Lista svenska kommuner

select * { ?kommun a yago:MunicipalitiesOfSweden; foaf:name ?name; geo:lat ?lat; geo:long ?long .}

Page 47: Länkad Data

Mängder av egenskaper att plocka med..

dc:titlefoaf:namefoaf:depictiondbpowl:influencedBydbpowl:birthPlacedbpprop:areaKmgeo:latgeo:longdbpowl:capitaldbpprop:populationCensus...

Page 48: Länkad Data

Google

Page 49: Länkad Data

Origins: Freebase

● by Metaweb● Contains data from various sources (e.g.

Wikipedia)● RDF is a key component● Acquired by Google July 16, 2010

Page 50: Länkad Data
Page 51: Länkad Data
Page 52: Länkad Data
Page 53: Länkad Data
Page 54: Länkad Data

"The Google Knowledge Graph is essentially Freebase++... this is

all good Semantic Web stuff"

– Alon Halevy, Google

Page 55: Länkad Data

Schema.org

Page 56: Länkad Data

Provides a collection of schemas that webmasters can use to markup their pages in ways recognized by major search providers

Page 57: Länkad Data

Google, Bing, Yahoo, Yandex, ...

(W3C..)

Page 58: Länkad Data
Page 59: Länkad Data
Page 60: Länkad Data

<div vocab="http://schema.org/" typeof="LocalBusiness"> <h1 property="name">Beachwalk Beachwear &amp; Giftware</h1> <span property="description"> A superb collection of fine gifts and clothing to accent your stay in Mexico Beach.</span> <div property="address" typeof="PostalAddress"> <span property="streetAddress">3102 Highway 98</span> <span property="addressLocality">Mexico Beach</span>, <span property="addressRegion">FL</span> </div> Phone: <span property="telephone">850-648-4200</span></div>

Page 61: Länkad Data

@prefix : <http://schema.org/> .

[] a :LocalBusiness; :name "Beachwalk Beachwear & Giftware"; :description """ A superb collection of fine gifts and clothing to accent your stay in Mexico Beach."""; :address [ a :PostalAddress; :streetAddress "3102 Highway 98"; :addressLocality "Mexico Beach"; :addressRegion "FL" ]; :telephone "850-648-4200" .

Page 62: Länkad Data
Page 63: Länkad Data

För att märka upp

detaljer i webbsidor

så att de blir maskinläsbara

Page 64: Länkad Data

a:et står för attribut

Speciella attribut inbäddade i ett moderspråk

T.ex. HTML eller SVG

Page 65: Länkad Data

Webbplatser är fulla av

● Dokument...● Nyheter● Kalenderhändelser● Kontaktinformation● Produkter, Recensioner, Gallerier● Begrepp, Modeller, ...

Page 66: Länkad Data

Fånga detaljer

EgenskaperTitel, namn, roll, datum

Särskilda länkarförfattare, utgivare, licens, ämne

Page 67: Länkad Data
Page 68: Länkad Data

HTML5

<article> <header> <h1>Title</h1> <h2>Author</h2> <h3><time>2012-04-17</time></h3> </header> <p>...<p> <p>...<p> <footer> <a href="/topic/1">Tag1</a> <a href="/topic/2">Tag2</a> <a href="/topic/3">Tag3</a> <a href="/about/license">License</a> </footer></article>

Page 69: Länkad Data

@vocab

<article vocab="http://purl.org/dc/terms/"> <header> <h1>Title</h1> <h2>Author</h2> <h3><time>2012-04-17</time></h3> </header> <p>...<p> <p>...<p> <footer> <a href="/topic/1">Tag1</a> <a href="/topic/2">Tag2</a> <a href="/topic/3">Tag3</a> <a href="/about/license">License</a> </footer></article>

Page 70: Länkad Data

@property

<article vocab="http://purl.org/dc/terms/"> <header> <h1 property="title">Title</h1> <h2 property="creator">Author</h2> <h3><time property="issued">2012-04-17</time></h3> </header> <p>...<p> <p>...<p> <footer> <a href="/topic/1">Tag1</a> <a href="/topic/2">Tag2</a> <a href="/topic/3">Tag3</a> <a href="/about/license">License</a> </footer></article>

Page 71: Länkad Data

RDFa 1.1 in HTML5

<article vocab="http://purl.org/dc/terms/"> <header> <h1 property="title">Title</h1> <h2 property="creator">Author</h2> <h3><time property="issued">2012-04-17</time></h3> </header> <p>...<p> <p>...<p> <footer> <a property="subject" href="/topic/1">Tag1</a> <a property="subject" href="/topic/2">Tag2</a> <a property="subject" href="/topic/3">Tag3</a> <a property="license" href="/about/license">License</a> </footer></article>

Page 72: Länkad Data

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .@prefix : <http://purl.org/dc/terms/> .

<> :title "Title"; :creator "Author"; :issued "2012-04-17"^^xsd:date; :subject </topic/1>; :subject </topic/2>; :subject </topic/3>; :license </about/license> .

Page 73: Länkad Data

RDFa Lite

●@vocab / @prefix●@resource●@property●@href●@typeof

Page 74: Länkad Data

Detaljer

●@datatype●@lang●@content●@about●@rel / @rev●@inlist

Page 75: Länkad Data
Page 77: Länkad Data

Tillämpbarhet

När några detaljer är viktigaFör söktjänster att fånga upp

Självbeskrivande dokumentT.ex. myndighetspublikationer

Webb och APIBygg dataplattform och webbplats i ett!

Page 78: Länkad Data

Specialiserade sökgränssnitt

Platta index med facetterad sökning

Grafdatabaser

Page 79: Länkad Data

Genväg till en semantisk webb

● Bygg webbsidor utifrån användningsbehov● Ringa in domändata i dessa● Låt söktjänster indexera denna data

Page 80: Länkad Data

RDFa.info/play/

Page 81: Länkad Data

RDF-teknik

Page 82: Länkad Data

Saker

Ges URI:er som id:n

Beskrivs med egenskaper

Antingen enkla värden (text, datum) eller länkar

Page 83: Länkad Data

Egenskaper

Är också ting som kan beskrivas

Page 84: Länkad Data

Vokabulär

Page 85: Länkad Data

En enkel datamodell

Page 86: Länkad Data

Påståenden

(subjekt, predikat, objekt)

Page 87: Länkad Data

Triples

subjekt -predikat-> objekt

Page 88: Länkad Data

@prefix dc: <http://purl.org/dc/terms/> .@prefix : <http://schema.org/> .

@base <http://data.su.se/kurs/logik-a>

<> a :EducationEvent .

<> :startDate "2012-01-20"^^xsd:date .

<> dc:title "Grundkurs i logik"@sv .

<> dc:publisher </org/su> .

<> dc:subject </def/studier/Logik> .

Page 89: Länkad Data

Literaler

"Logik"@sv

"Logic"@en

"2012-01-20"^^xsd:date

Page 90: Länkad Data

Information, kvalitet, substans

Explicita innebörder (vad som beskrivs och hur)

Kom åt inkommande relationer (och många-till-många)

Länknamn/egenskaper är "första klassens objekt"

Page 91: Länkad Data

Jämför med bara XML, JSON..

● URIer som idenfierare● Unika egenskaper (har URIer; jmf. namespaces)● Språkstöd ("en", "sv", "jp", ...), rika datatyper

(date, dateTime, ...)● Sömlöst kombinerbart● Naturliga M2M-relationer

Page 92: Länkad Data

Dataformat

● RDF/XML● RDFa● Turtle● JSON-LD

Page 93: Länkad Data

Publicera ett ting i taget

Beskrivingar i dokument

På webben

Page 94: Länkad Data

@prefix dct: <http://purl.org/dc/terms/> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://neverspace.net/> a foaf:Document; dct:creator <http://purl.org/NET/dust/foaf#self>; dct:title "Neverspace"@en .

<http://purl.org/NET/dust/foaf#self> a foaf:Person; foaf:homepage <http://neverspace.net/>; foaf:name "Niklas Lindström" .

Page 95: Länkad Data

Kod för allaC: Redland

Java: Jena, Sesame

Javascript: Tabulator, RDFQuery, W3C RDF API..

Python: RDFLib

Ruby: RDF.rb

.NET: dotNetRDF

Page 96: Länkad Data

Hämta data från webben

>>> from rdflib import *

>>> DCT = Namespace("http://purl.org/dc/terms/")>>> FOAF = Namespace("http://xmlns.com/foaf/0.1/")

>>> data = Graph()>>> data.load("http://purl.org/NET/dust/foaf#self")>>> len(data)39

Page 97: Länkad Data

>>> ref = URIRef("http://purl.org/NET/dust/foaf#self")>>> me = data.resource(ref)

>>> print me.value(FOAF.name).encode('utf-8')Niklas Lindström

>>> homepage = me.value(FOAF.homepage)>>> print homepage.identifierhttp://neverspace.net/

>>> for interest in me.objects(FOAF.interest):... print interest.identifierhttp://www.w3.org/RDF/http://en.wikipedia.org/wiki/Philosophyhttp://en.wikipedia.org/wiki/Surrealism...

Page 98: Länkad Data

Triple Stores

Page 99: Länkad Data

Grafdatabaser

● Lagra massiva mängder triples● Standardiserat webbinterface: SPARQL● Är i regel quad-stores (tänk dokument-db)

Page 100: Länkad Data

Open SourceFuseki (Java)

Sesame (Java)

Virtuoso (native)

4Store (native)

AllegroGraph (Lisp)

(Neo4J)

Page 101: Länkad Data

Kommersiella

Oracle, IBM, ..., Microsoft OData...

Page 102: Länkad Data

Quad Stores

Namngivna grafer

.. tänk "dokument-DB"

Page 103: Länkad Data

Hur gör jag?

Page 104: Länkad Data

Använd befintliga vokabulär

DC — Dublin Core Terms

FOAF — Friend of a Friend

SIOC — Semantically Interlinked Online Communities

SKOS — Simple Knowledge Organization System

GoodRelations

rNews (IPTC)

Schema.org

W3C Geo, MusicOnt, ProgrammesOnt, DOAP, uniProt, OGP, ...

Page 105: Länkad Data

Skapa egna

RDFS — RDF SchemaOWL — Web Ontology Language

Om möjligt, länka till befintliga!

Page 106: Länkad Data

Webbens arkitektur

● Identifikation: URI:er● Åtkomst: HTTP● Representation: öppna format, länkad hypertext● Komposition: länka alla slags resurser

Page 107: Länkad Data

HTTP-URIer som namn på ting

Page 108: Länkad Data
Page 109: Länkad Data

Publicera användbar information

● Tydliga egenskaper● Många länkar

– även till externa resurser beskrivna med RDF– inkommande länkar

Page 110: Länkad Data

.. och åtkomlig!

● Dataset-info (upptäckbarhet, uppdateringar)● Provenans● Licenser

Page 111: Länkad Data

Undvik silo-effekten!

Där det är oklart:

● vad som är en datapost● huruvida all relevant data exponeras● vad sökningar baserar sig på

Page 112: Länkad Data

Linked Enterprise Data

Använd samma principer

Möjliggör integration av utspridda applikationer

Tänk "crawling++"

Page 113: Länkad Data

Statlig data

PSI-direktivet

Alla ska dra nytta av statens verksamheter!

Page 114: Länkad Data

Bör det finnas officiell länkad grunddata?

● Lista svenska kommuner..● Lista svenska högskolor/universitet..

Googla/Binga/Sitesearcha...?DBPedia — skrapad från Wikipedia!

Page 115: Länkad Data

Vad motiverade att publicera HTML under 90-talet?

● Dela data som dokument● För att andra gjorde det● Sedan kom: marknadsföring, annonsering,

SEO...

Page 116: Länkad Data

Vad motiverar att publicera länkad data?

● Dela data som data● För att andra gör det● Marknadsföring, annonsering, SEO...

Page 117: Länkad Data

Användning idag

BBC, NYT, data.gov.uk, life science.., AstraSeneca, Boeing...

.. alla som vill synliggöra data med OGP, rich snippets, schema.org

Library of Congress, Libris, EuroVoc, ScOT..

.. och resten i LOD-molnet..

Page 118: Länkad Data

Dominion Apps

FB OGP

GKG

Watson!

Page 119: Länkad Data

Domain Specific Apps

BBC World Cup 2010

BBC Wildlife Finder

seevl.net

data.gov.uk

Page 120: Länkad Data

Sammanfattningsvis

Page 121: Länkad Data

Några länkar..

<http://www.w3.org/standards/semanticweb/>

<http://linkeddata.org/>

<http://rdfa.info/>

...

Page 122: Länkad Data

Ta fram bra data

Arbeta konkret med användning

Kontinuerligt jobba med sök-/hittbarheten

Stöd för redaktörer och förvaltning!

Minska gapet mellan producent och konsument!

Page 123: Länkad Data

Sträva efter..

Meningsfull och sammanhängande data på

webben!

Page 124: Länkad Data

Tack!