SlideShare a Scribd company logo
1 of 125
Download to read offline
Länkad Data
Söka?



Hitta!
Webbens evolution



.. från en webb av dokument

.. till en webb av data
Vad är data?
10100111001
class 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 } ]
CSV, XML, JSON, APIs, ...
Det skalar inte


● Att återuppfinna
● Att reverse-engineera




(T.o.m. Google slår i taket)
Slöseri!

Kunskapen finns hos de som
skapar data

och de som kontinuerligt studerar och
använder data

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


Gemensamma egenskaper/attribut

Gemensamma länkar

Namn på länkar
Nästa steg:



Länkad data på webben
Linked Data



      Tim Berners-Lee

Inventor of the World Wide Web
2009


<http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html>
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
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
Användbar information
★        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
Framväxten av en semantisk webb
The Linked Data Projects

Yahoo SearchMonkey, Google Rich Snippets

Facebook Open Graph (OGP)

Schema.org

Google Knowledge Graph
Innan vi börjar..
Resource

Description

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



      En enhetlig datamodell
Datamodell?


RDBs: relational

XML, JSON: trees (disjoint)

RDF: graph
Grafmodellen


    Enkel

   Naturlig

  Integrerbar
Består av



Namngivna noder
med namngivna pilar därmellan

Länkar
Unika namn: URIer
(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> .
SPARQL

   Protocol and
RDF Query Language
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>
          ] .

}
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
The LOD Cloud
2008
2011
Wikipedia
Use DBPedia to



 .. query relationships and properties
 associated with Wikipedia resources,
including links to other related datasets
Endpoint


http://dbpedia.org/sparql
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
201 gifta forskare



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



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


select * {
  ?kommun a yago:MunicipalitiesOfSweden;
    foaf:name ?name;
    geo:lat ?lat;
    geo:long ?long .
}
Mängder av egenskaper att plocka
              med..
dc:title
foaf:name
foaf:depiction
dbpowl:influencedBy
dbpowl:birthPlace
dbpprop:areaKm
geo:lat
geo:long
dbpowl:capital
dbpprop:populationCensus
...
Google
Origins: Freebase


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

   Wikipedia)
● RDF is a key component

● Acquired by Google July 16, 2010
"The Google Knowledge Graph is
 essentially Freebase++... this is
  all good Semantic Web stuff"

      – Alon Halevy, Google
Schema.org
Provides a collection of schemas that
webmasters can use to markup their pages in
 ways recognized by major search providers
Google, Bing, Yahoo, Yandex, ...

            (W3C..)
<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>
@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" .
För att märka upp

detaljer i webbsidor

så att de blir maskinläsbara
a:et står för attribut



Speciella attribut inbäddade i ett moderspråk

T.ex. HTML eller SVG
Webbplatser är fulla av


● Dokument...
● Nyheter

● Kalenderhändelser

● Kontaktinformation

● Produkter, Recensioner, Gallerier

● Begrepp, Modeller, ...
Fånga detaljer


Egenskaper
Titel, namn, roll, datum

Särskilda länkar
författare, utgivare, licens, ämne
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>
@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>
@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>
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>
@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> .
RDFa Lite


● @vocab / @prefix
● @resource

● @property

● @href

● @typeof
Detaljer

● @datatype
● @lang

● @content

● @about

● @rel / @rev

● @inlist
Lämpliga vokabulär för RDFa

Schema.org
Dublin Core
Creative Commons
GoodRelations
rNews (IPTC)
Friend-of-a-Friend
Facebook OpenGraph
Tillämpbarhet

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

Självbeskrivande dokument
T.ex. myndighetspublikationer

Webb och API
Bygg dataplattform och webbplats i ett!
Specialiserade sökgränssnitt



Platta index med facetterad sökning

Grafdatabaser
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
RDFa.info/play/
RDF-teknik
Saker


Ges URI:er som id:n

Beskrivs med egenskaper

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



Är också ting som kan beskrivas
Vokabulär
En enkel datamodell
Påståenden



(subjekt, predikat, objekt)
Triples



subjekt -predikat-> objekt
@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> .
Literaler


"Logik"@sv

"Logic"@en

"2012-01-20"^^xsd:date
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"
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
Dataformat



● RDF/XML
● RDFa

● Turtle

● JSON-LD
Publicera ett ting i taget



Beskrivingar i dokument

På webben
@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" .
Kod för alla
C: Redland

Java: Jena, Sesame

Javascript: Tabulator, RDFQuery, W3C RDF API..

Python: RDFLib

Ruby: RDF.rb

.NET: dotNetRDF
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
>>> 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.identifier
http://neverspace.net/

>>> for interest in me.objects(FOAF.interest):
...     print interest.identifier
http://www.w3.org/RDF/
http://en.wikipedia.org/wiki/Philosophy
http://en.wikipedia.org/wiki/Surrealism
...
Triple Stores
Grafdatabaser



● Lagra massiva mängder triples
● Standardiserat webbinterface: SPARQL

● Är i regel quad-stores (tänk dokument-db)
Open Source
Fuseki (Java)

Sesame (Java)

Virtuoso (native)

4Store (native)

AllegroGraph (Lisp)

(Neo4J)
Kommersiella




Oracle, IBM, ..., Microsoft OData...
Quad Stores



Namngivna grafer

.. tänk "dokument-DB"
Hur gör jag?
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, ...
Skapa egna



RDFS — RDF Schema
OWL — Web Ontology Language

Om möjligt, länka till befintliga!
Webbens arkitektur



● Identifikation: URI:er
● Åtkomst: HTTP

● Representation: öppna format, länkad hypertext

● Komposition: länka alla slags resurser
HTTP-URIer som
  namn på ting
Publicera användbar information



● Tydliga egenskaper
● Många länkar

   – även till externa resurser beskrivna med RDF
   – inkommande länkar
.. och åtkomlig!



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

● Licenser
Undvik silo-effekten!



Där det är oklart:

● vad som är en datapost
● huruvida all relevant data exponeras

● vad sökningar baserar sig på
Linked Enterprise Data


Använd samma principer

Möjliggör integration av utspridda applikationer

Tänk "crawling++"
Statlig data



PSI-direktivet
Alla ska dra nytta av statens verksamheter!
Bör det finnas officiell länkad
              grunddata?

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




Googla/Binga/Sitesearcha...?
DBPedia — skrapad från Wikipedia!
Vad motiverade att publicera HTML
             under 90-talet?


● Dela data som dokument
● För att andra gjorde det

● Sedan kom: marknadsföring, annonsering,

   SEO...
Vad motiverar att publicera länkad
                  data?



● Dela data som data
● För att andra gör det

● Marknadsföring, annonsering, SEO...
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..
Dominion Apps


FB OGP

GKG

Watson!
Domain Specific Apps

BBC World Cup 2010

BBC Wildlife Finder

seevl.net

data.gov.uk
Sammanfattningsvis
Några länkar..

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

<http://linkeddata.org/>

<http://rdfa.info/>

...
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!
Sträva efter..



   Meningsfull och
sammanhängande data på
      webben!
Tack!
Bildkällor
Screenshots from the Google Knowledge Graph intro video
Some icons from OpenClipArt.org
"Silos"
"Walled Gardens" by David Simonds via ISSLOD-DSSN and
Design Issues: Socially Aware Cloud Storage (Tim Berners-Lee)
"This is Not a Pipe"
The LOD Cloud
W3C Logos
Highlighter pen by Guido "random" Alvarez
Presentation vs. Semantics (Ivan Herman, RDF 1.1 Primer)
Google Rich Snippets image
Yahoo SearchMonkey cc-image
Yahoo SearchMonkey product-image
Linked Open Vocabularies
...

More Related Content

Similar to Länkad Data

Om semantisk webb och länkade data
Om semantisk webb och länkade dataOm semantisk webb och länkade data
Om semantisk webb och länkade dataMatthias Palmer
 
HT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenHT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenAnton Tibblin
 
HT18 - DA156A - Extra
HT18 - DA156A - ExtraHT18 - DA156A - Extra
HT18 - DA156A - ExtraAnton Tibblin
 
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Anton Tibblin
 
LODify - länkade data i molnet
LODify - länkade data i molnetLODify - länkade data i molnet
LODify - länkade data i molnetMetaSolutions AB
 
Librisxl treffpunkt mikromarc
Librisxl treffpunkt mikromarcLibrisxl treffpunkt mikromarc
Librisxl treffpunkt mikromarcJanne Johannesson
 
Norvegiana som LOD - effekter för projektet "Kultur och naturresan"
Norvegiana som LOD - effekter för projektet "Kultur och naturresan"Norvegiana som LOD - effekter för projektet "Kultur och naturresan"
Norvegiana som LOD - effekter för projektet "Kultur och naturresan"MetaSolutions AB
 
Att bygga webbapplikationer baserade på länkad data
Att bygga webbapplikationer baserade på länkad dataAtt bygga webbapplikationer baserade på länkad data
Att bygga webbapplikationer baserade på länkad dataMatthias Palmer
 
Metadata (Vad är metadata?)
Metadata (Vad är metadata?)Metadata (Vad är metadata?)
Metadata (Vad är metadata?)Stina Degerstedt
 
Bygga applikationer med länkade data
Bygga applikationer med länkade dataBygga applikationer med länkade data
Bygga applikationer med länkade dataMetaSolutions AB
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapAnton Tibblin
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältarPer Åström
 
VT2019 - DA355A - Intro HTML & CSS
VT2019 - DA355A - Intro HTML & CSSVT2019 - DA355A - Intro HTML & CSS
VT2019 - DA355A - Intro HTML & CSSAnton Tibblin
 
VT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTMLVT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTMLAnton Tibblin
 

Similar to Länkad Data (20)

Om semantisk webb och länkade data
Om semantisk webb och länkade dataOm semantisk webb och länkade data
Om semantisk webb och länkade data
 
Öppna data & Länkade data
Öppna data & Länkade dataÖppna data & Länkade data
Öppna data & Länkade data
 
HT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursenHT17 - DA156A - Sammanfattning av kursen
HT17 - DA156A - Sammanfattning av kursen
 
HT18 - DA156A - Extra
HT18 - DA156A - ExtraHT18 - DA156A - Extra
HT18 - DA156A - Extra
 
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
 
Introduktion till LODify
Introduktion till LODifyIntroduktion till LODify
Introduktion till LODify
 
LODify - länkade data i molnet
LODify - länkade data i molnetLODify - länkade data i molnet
LODify - länkade data i molnet
 
JavaScript - Intro
JavaScript - IntroJavaScript - Intro
JavaScript - Intro
 
Librisxl treffpunkt mikromarc
Librisxl treffpunkt mikromarcLibrisxl treffpunkt mikromarc
Librisxl treffpunkt mikromarc
 
JavaScript + DOM
JavaScript + DOMJavaScript + DOM
JavaScript + DOM
 
Länkade data – intro på LDSV 2013
Länkade data – intro på LDSV 2013Länkade data – intro på LDSV 2013
Länkade data – intro på LDSV 2013
 
Norvegiana som LOD - effekter för projektet "Kultur och naturresan"
Norvegiana som LOD - effekter för projektet "Kultur och naturresan"Norvegiana som LOD - effekter för projektet "Kultur och naturresan"
Norvegiana som LOD - effekter för projektet "Kultur och naturresan"
 
Att bygga webbapplikationer baserade på länkad data
Att bygga webbapplikationer baserade på länkad dataAtt bygga webbapplikationer baserade på länkad data
Att bygga webbapplikationer baserade på länkad data
 
Metadata (Vad är metadata?)
Metadata (Vad är metadata?)Metadata (Vad är metadata?)
Metadata (Vad är metadata?)
 
JavaScript och DOM
JavaScript och DOMJavaScript och DOM
JavaScript och DOM
 
Bygga applikationer med länkade data
Bygga applikationer med länkade dataBygga applikationer med länkade data
Bygga applikationer med länkade data
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & Bootstrap
 
Molntjänster som it superhjältar
Molntjänster som it superhjältarMolntjänster som it superhjältar
Molntjänster som it superhjältar
 
VT2019 - DA355A - Intro HTML & CSS
VT2019 - DA355A - Intro HTML & CSSVT2019 - DA355A - Intro HTML & CSS
VT2019 - DA355A - Intro HTML & CSS
 
VT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTMLVT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTML
 

Länkad Data