Successfully reported this slideshow.

Länkad Data

1,286 views

Published on

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

Published in: Technology, Education
  • Be the first to comment

Länkad Data

  1. 1. Länkad Data
  2. 2. Söka?Hitta!
  3. 3. Webbens evolution.. från en webb av dokument.. till en webb av data
  4. 4. Vad är data?
  5. 5. 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 } ]
  6. 6. CSV, XML, JSON, APIs, ...
  7. 7. Det skalar inte● Att återuppfinna● Att reverse-engineera(T.o.m. Google slår i taket)
  8. 8. Slöseri!Kunskapen finns hos de somskapar dataoch de som kontinuerligt studerar ochanvänder data(både ur UI- och IT-perspektiv!)
  9. 9. Vad saknas?Gemensamma egenskaper/attributGemensamma länkarNamn på länkar
  10. 10. Nästa steg:Länkad data på webben
  11. 11. Linked Data Tim Berners-LeeInventor of the World Wide Web
  12. 12. 2009<http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html>
  13. 13. PrinciperAnvänd URIer för att identifiera sakerAnvänd HTTP-URIer så att de kan hänvisas tilloch slås upp på webben
  14. 14. Skicka användbar information när URIn slåsuppInkludera länkar till andra URIer för att stödjaupptäckbarhet av relaterad information
  15. 15. Användbar information
  16. 16. ★ 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
  17. 17. Framväxten av en semantisk webbThe Linked Data ProjectsYahoo SearchMonkey, Google Rich SnippetsFacebook Open Graph (OGP)Schema.orgGoogle Knowledge Graph
  18. 18. Innan vi börjar..
  19. 19. ResourceDescriptionFramework
  20. 20. En standard för länkad data på webben En enhetlig datamodell
  21. 21. Datamodell?RDBs: relationalXML, JSON: trees (disjoint)RDF: graph
  22. 22. Grafmodellen Enkel Naturlig Integrerbar
  23. 23. Består avNamngivna nodermed namngivna pilar därmellanLänkar
  24. 24. Unika namn: URIer
  25. 25. (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> .
  26. 26. SPARQL Protocol andRDF Query Language
  27. 27. pattern matchingselect ?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> ] .}
  28. 28. Grunden för Länkad Data Flera datakällor, uttryckta i RDF, sammanlänkade på webben Länkad Data gör webben till engiganisk, global grafdatabas
  29. 29. The LOD Cloud
  30. 30. 2008
  31. 31. 2011
  32. 32. Wikipedia
  33. 33. Use DBPedia to .. query relationships and properties associated with Wikipedia resources,including links to other related datasets
  34. 34. Endpointhttp://dbpedia.org/sparql
  35. 35. 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
  36. 36. 201 gifta forskareselect (count(?person) as ?count){ ?person a foaf:Person, dbpedia-owl:Scientist; dbpprop:spouse ?spouse .}
  37. 37. 11013 ogiftaselect (count(?person) as ?count){ ?person a foaf:Person, dbpedia-owl:Scientist . minus { ?person dbpprop:spouse ?spouse . }}
  38. 38. Lista svenska kommunerselect * { ?kommun a yago:MunicipalitiesOfSweden; foaf:name ?name; geo:lat ?lat; geo:long ?long .}
  39. 39. Mängder av egenskaper att plocka med..dc:titlefoaf:namefoaf:depictiondbpowl:influencedBydbpowl:birthPlacedbpprop:areaKmgeo:latgeo:longdbpowl:capitaldbpprop:populationCensus...
  40. 40. Google
  41. 41. Origins: Freebase● by Metaweb● Contains data from various sources (e.g. Wikipedia)● RDF is a key component● Acquired by Google July 16, 2010
  42. 42. "The Google Knowledge Graph is essentially Freebase++... this is all good Semantic Web stuff" – Alon Halevy, Google
  43. 43. Schema.org
  44. 44. Provides a collection of schemas thatwebmasters can use to markup their pages in ways recognized by major search providers
  45. 45. Google, Bing, Yahoo, Yandex, ... (W3C..)
  46. 46. <div vocab="http://schema.org/" typeof="LocalBusiness"> <h1 property="name">Beachwalk Beachwear &amp; Giftware</h1> <span property="description"> A superb collection of fine giftsand 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>
  47. 47. @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" .
  48. 48. För att märka uppdetaljer i webbsidorså att de blir maskinläsbara
  49. 49. a:et står för attributSpeciella attribut inbäddade i ett moderspråkT.ex. HTML eller SVG
  50. 50. Webbplatser är fulla av● Dokument...● Nyheter● Kalenderhändelser● Kontaktinformation● Produkter, Recensioner, Gallerier● Begrepp, Modeller, ...
  51. 51. Fånga detaljerEgenskaperTitel, namn, roll, datumSärskilda länkarförfattare, utgivare, licens, ämne
  52. 52. 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>
  53. 53. @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>
  54. 54. @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>
  55. 55. 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>
  56. 56. @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> .
  57. 57. RDFa Lite● @vocab / @prefix● @resource● @property● @href● @typeof
  58. 58. Detaljer● @datatype● @lang● @content● @about● @rel / @rev● @inlist
  59. 59. Lämpliga vokabulär för RDFaSchema.orgDublin CoreCreative CommonsGoodRelationsrNews (IPTC)Friend-of-a-FriendFacebook OpenGraph
  60. 60. TillämpbarhetNär några detaljer är viktigaFör söktjänster att fånga uppSjälvbeskrivande dokumentT.ex. myndighetspublikationerWebb och APIBygg dataplattform och webbplats i ett!
  61. 61. Specialiserade sökgränssnittPlatta index med facetterad sökningGrafdatabaser
  62. 62. 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
  63. 63. RDFa.info/play/
  64. 64. RDF-teknik
  65. 65. SakerGes URI:er som id:nBeskrivs med egenskaperAntingen enkla värden (text, datum) eller länkar
  66. 66. EgenskaperÄr också ting som kan beskrivas
  67. 67. Vokabulär
  68. 68. En enkel datamodell
  69. 69. Påståenden(subjekt, predikat, objekt)
  70. 70. Triplessubjekt -predikat-> objekt
  71. 71. @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> .
  72. 72. Literaler"Logik"@sv"Logic"@en"2012-01-20"^^xsd:date
  73. 73. Information, kvalitet, substansExplicita 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"
  74. 74. 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
  75. 75. Dataformat● RDF/XML● RDFa● Turtle● JSON-LD
  76. 76. Publicera ett ting i tagetBeskrivingar i dokumentPå webben
  77. 77. @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" .
  78. 78. Kod för allaC: RedlandJava: Jena, SesameJavascript: Tabulator, RDFQuery, W3C RDF API..Python: RDFLibRuby: RDF.rb.NET: dotNetRDF
  79. 79. 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
  80. 80. >>> 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...
  81. 81. Triple Stores
  82. 82. Grafdatabaser● Lagra massiva mängder triples● Standardiserat webbinterface: SPARQL● Är i regel quad-stores (tänk dokument-db)
  83. 83. Open SourceFuseki (Java)Sesame (Java)Virtuoso (native)4Store (native)AllegroGraph (Lisp)(Neo4J)
  84. 84. KommersiellaOracle, IBM, ..., Microsoft OData...
  85. 85. Quad StoresNamngivna grafer.. tänk "dokument-DB"
  86. 86. Hur gör jag?
  87. 87. Använd befintliga vokabulärDC — Dublin Core TermsFOAF — Friend of a FriendSIOC — Semantically Interlinked Online CommunitiesSKOS — Simple Knowledge Organization SystemGoodRelationsrNews (IPTC)Schema.orgW3C Geo, MusicOnt, ProgrammesOnt, DOAP, uniProt, OGP, ...
  88. 88. Skapa egnaRDFS — RDF SchemaOWL — Web Ontology LanguageOm möjligt, länka till befintliga!
  89. 89. Webbens arkitektur● Identifikation: URI:er● Åtkomst: HTTP● Representation: öppna format, länkad hypertext● Komposition: länka alla slags resurser
  90. 90. HTTP-URIer som namn på ting
  91. 91. Publicera användbar information● Tydliga egenskaper● Många länkar – även till externa resurser beskrivna med RDF – inkommande länkar
  92. 92. .. och åtkomlig!● Dataset-info (upptäckbarhet, uppdateringar)● Provenans● Licenser
  93. 93. Undvik silo-effekten!Där det är oklart:● vad som är en datapost● huruvida all relevant data exponeras● vad sökningar baserar sig på
  94. 94. Linked Enterprise DataAnvänd samma principerMöjliggör integration av utspridda applikationerTänk "crawling++"
  95. 95. Statlig dataPSI-direktivetAlla ska dra nytta av statens verksamheter!
  96. 96. Bör det finnas officiell länkad grunddata?● Lista svenska kommuner..● Lista svenska högskolor/universitet..Googla/Binga/Sitesearcha...?DBPedia — skrapad från Wikipedia!
  97. 97. Vad motiverade att publicera HTML under 90-talet?● Dela data som dokument● För att andra gjorde det● Sedan kom: marknadsföring, annonsering, SEO...
  98. 98. Vad motiverar att publicera länkad data?● Dela data som data● För att andra gör det● Marknadsföring, annonsering, SEO...
  99. 99. Användning idagBBC, NYT, data.gov.uk, life science..,AstraSeneca, Boeing..... alla som vill synliggöra data med OGP, richsnippets, schema.orgLibrary of Congress, Libris, EuroVoc, ScOT.... och resten i LOD-molnet..
  100. 100. Dominion AppsFB OGPGKGWatson!
  101. 101. Domain Specific AppsBBC World Cup 2010BBC Wildlife Finderseevl.netdata.gov.uk
  102. 102. Sammanfattningsvis
  103. 103. Några länkar..<http://www.w3.org/standards/semanticweb/><http://linkeddata.org/><http://rdfa.info/>...
  104. 104. Ta fram bra dataArbeta konkret med användningKontinuerligt jobba med sök-/hittbarhetenStöd för redaktörer och förvaltning!Minska gapet mellan producent och konsument!
  105. 105. Sträva efter.. Meningsfull ochsammanhängande data på webben!
  106. 106. Tack!
  107. 107. BildkällorScreenshots from the Google Knowledge Graph intro videoSome icons from OpenClipArt.org"Silos""Walled Gardens" by David Simonds via ISSLOD-DSSN andDesign Issues: Socially Aware Cloud Storage (Tim Berners-Lee)"This is Not a Pipe"The LOD CloudW3C LogosHighlighter pen by Guido "random" AlvarezPresentation vs. Semantics (Ivan Herman, RDF 1.1 Primer)Google Rich Snippets imageYahoo SearchMonkey cc-imageYahoo SearchMonkey product-imageLinked Open Vocabularies...

×