Alterna(va datamodeller & grafdata på webben. Gäs8öreläsning Robin Keskisärkkä

Relevanta dokument
Alterna(va datamodeller & grafdata på webben. Gäs8öreläsning Eva Blomqvist

Introduction to the Semantic Web. Eva Blomqvist

Linked Data. Förstudie Linked Data. GeoTest Rapport upprättad Viktor Högberg - GeoTest

Öppna data Gäs öreläsning i kursen 729G44 - Gränssni sdesign Eva Blomqvist Linköpings Universitet eva.blomqvist@liu.

Europeana Data Model vad, varför och hur

Datorer och kunskap - Den semantiska webben Robert Herber

VAD GÖR DU / VEM ÄR DU?

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Olle Olsson. SICS ( ) W3C ( ) ) BeyondIT Page 1

DATA ÖPPNA DATA LÄNKADE DATA LÄNKADE ÖPPNA DATA

JHS 193 Unik identifierare för geografisk information Bilaga 2. Exempel på teknisk realisering av URI-tjänst hos dataleverantör

Institutionen för datavetenskap

DI Studio nyheter

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databasutveckling Med MySQL/MariaDB

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Diagnostisktprov Utveckla i Azure

Karlstads Universitet, Datavetenskap 1

Introduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)

Semantisk tjänst. Ämne Version Datum Semantisk applikation maj, Johan Säll Larsson

VAD GÖR DU / VEM ÄR DU?

Gemensam samnordisk terminologihantering för kultursektorn DISKA-seminarium

DCAT-AP. Vad är det och vad kommer härnäst

Råd gällande vokabulärer för kommuners och landstings arbete med länkade öppna data

Webbtjänster med API er

Datamodeller och databaser, avancerad kurs

Föreläsning 3 Dagens föreläsning går igenom

732G16: Databaser - Design och programmering

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Hantera informationspaket i system för bevarande

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Webbtjänster med API er

DATALAGRING. Ämnets syfte

Övergången till RDA i Sverige Katarina Synnermark (RDA-redaktionen) Fredrik Klingwall (XL-utveckling)

Alternativ till låsning. Optimistik approach TimeStamp

Gemensam samnordisk terminologihantering för kultursektorn LOD-seminarium

Varför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem

Konceptuella datamodeller

Big Data i spelbranchen

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

IRM som stöd för kunskapsutbyte i organisationer. Kristina Groth, KTH Pär Lannerö, Metamatrix

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Lite om databasdesign och modellering

Databaser - Design och programmering

Semantisk web i biblioteket

Innehåll. MySQL Grundkurs

FAKTORER ATT BEAKTA VID VAL AV DATABASMODELL FÖR EN MOLNTJÄNST. - Ur ett mikroföretags perspektiv. - From a micro-business perspective

UX 40 SAP Fiori UX inte bara for SAP applikationer. Christer Ingemarsson

Introduktion till SAML federation

Jämförelse av Neo4j och MySQL för en traditionell informationsapplikation

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Integrering av BIM- och GIS-data på semantiska webben

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Introduktion till Entity Framework och LINQ. Källa och läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary Definitioner Implementation... 2

BESKRIVNING AV REGISTRERINGSDATA. Nordiska arkivdagar Kenneth Ahlfors

Data, Information, Kunskap. Peter Krantz, Avdelningen för digitalisering, SKL

Med Zipf mot framtiden En integrerad lexikonresurs för svensk språkteknologi

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Utredning av NoSQL-databaser

Introduktion MySQL och MariaDB

Leverans-API för nedladdning av geodata v1.0 - teknisk beskrivning

Under Kurser visas dina kurser som kort och om där finns nya uppgifter eller anslag visas antalet i kurskortet.

Datalager och datautvinning

Eva Hellstöm - Christina Strand

Databaser och Datamodellering Foreläsning IV

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible:

JÄMFÖRELSE AV RELATIONSDATABASER OCH NOSQL-DATABASER

För dig som lärare har vi placerat nya inkomna svar från elever under Följ upp uppgifter medan elev på samma ställer ser alla sina aktiva Uppgifter.

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Ladda ner en talbok på biblioteket.stockholm.se

Kapitel 6, 7, o 8: ARP Vägval Från användare till användare. Jens A Andersson (Maria Kihl)

Med Geografisk IT för en bättre framtid. Greger Hellman

Kunskapsgraf. Fredrik Åkerberg Tommy Kvant 1 Introduktion. 2 Relaterade projekt.

Jonas Gustavsson. Leverans av 10PB Isilon

SICS Swedish Institute of Computer Science

LIBRIS. Den nationella biblioteksinfrastrukturen. Maria Hedenström, Avdelningen för Informationssystem

Databasutveckling Introduktion till SQL och TSQL

NORMALISERING. Mahmud Al Hakim

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary Definitioner Implementation... 2

MC.D.O.T MOTION CAPTURE

Web Crawlers. TDTS09, Datornät och internetprotokoll. Denis Golubovic Fredrik Salin Linköpings universitet Linköping

bakgrund och förutsättningar Med Zipf mot framtiden En integrerad lexikonresurs för svensk språkteknologi återanvändning av befintliga resurser SALDO

Länkad data som ett alternativ för att publicera öppna offentliga data

SYMBERED. - en SYMbol-BEgrepps-REDigerare NUH. Presenterad av Mats Lundälv Författare: Katarina Mühlenbock & Mats Lundälv DART.

Digital Writer: Skapa, berika och förstärk ditt innehåll

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

ADO.NET Murach Kapitel 17-20

TDDE44 Programmering, grundkurs

Daniel Akenine, Teknikchef, Microsoft Sverige

Den semantiska webben - en översikt

1. Revisionsinformation

Information Big Data Stores Machine Learning Intelligence Management and Analytics Dashboards & Visualizations

Transkript:

Alterna(va datamodeller & grafdata på webben Gäs8öreläsning 2018-05-23 Robin Keskisärkkä (robin.keskisarkka@liu.se)

Översikt Del 1: Alternativ till relationsdatabaser Del 2: Introduktion till den semantiska webben Dela data på webben RDF Metoder för att publicera och konsumera data Exempel på datamängder och användningsområden Del 3: Använda webbdata i R

Alterna(v (ll rela(onsdatabaser

Begränsningar hos rela(onsdatabaser Objekt existerar inte naturligt utan sina attribut Relationsmodellen fokuserar på relationer (inte objekt) Attribut måste vara atomära Semantiken bakom relationsdatabasen är inte explicit Vi måste veta om hur strukturen hänger ihop eller försöka härleda den ur hur tabellerna relaterar till varandra Knepigt att uppdatera databaschemat Kan ofta inte hantera riktigt stora datamängder Skalar inte horisontellt...

5 Alterna(v Objektorienterade databaser Deduktiva databaser ( logikdatabaser ) NoSQL Key-value stores Grafdatabaser...

6 Alterna(v? Objektorienterade databaser Deduktiva databaser ( logikdatabaser ) NoSQL Key-value stores Grafdatabaser...

7 Vad är NoSQL? Next Generation Databases mostly addressing some of the points: being non-relational, distributed, opensource and horizontally scalable. Often more characteristics apply such as: schema-free, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge amount of data and more. Från http://nosql-database.org/

8 Key-value store Jfr. dictionary eller hashtabell Exempel Dynamo, Oracle NoSQL Database, Redis,... Fördelar Distribuerat (samma hash-funktion) Tillgängligt Enkel modell (inget schema) Utmaningar Konsistens, tid för händelser och konflikthantering => Offrar konsistens mot tillgänglighet och replikering

9 Wide column store Tvådimensionellt key-value store Tabell där radnamn + kolumnnamn utgör nyckeln för ett dataelement Tänkt för en stor mängd kolumner

10 Ex: Googles BigTable Utvecklades av Google 2004 2006 Rådata från Googles crawlers (2006) ca 800TB, 1000 miljarder celler Distribuerat över serverkluster Hierarki av tabeller för att hitta rätt data

11 Ex: Apache Cassandra Används av bla Apple, Netflix, ebay, Instagram... Kännetecknas av att data finns replikerat på flera noder och alla noder har samma status Netflix Detaljerade kategorier Användarstatistik sedan många år tillbaka

12 Grafdatabaser Mycket data kan naturligt beskrivas som grafer Sociala nätverk Länkar eller andra relationer mellan dokument... Typisk datamodell Noder Bågar (relationer) Attribut för både noder och relationer 1 sedan= 2011 jobbarpå namn= Eva personnummer=... 2 namn= LIU adress=...

13 Ex: Neo4J En av de populäraste grafdatabaserna Används av Walmart (produktrekommendationer), Telenor (resurser och åtkomstkontroll), ebay (leveransplanering)... Video (2009) http://www.infoq.com/presentations/emil-eifremneo4j

14 Ex. OrientDB Snabbt växande Hög prestanda på stora datamängder Flexibel datastruktur

15 Data på webben RDF och länkade data

Web vs. Seman(c Web

RDF Resource Descrip(on Framework Grafdatamodell för att representera data på webben Data representeras som tripplar En resurs är vad som helst som kan identifieras med en URI En webbsida, en bok, en verklig person,... Relationer är också resurser! Exempel: <Bob> <is a> <person>. <Bob> <is a friend of> <Alice>. <Bob> <is born on> <the 4th of July 1990>. <Bob> <is interested in> <the Mona Lisa>. <the Mona Lisa> <was created by> <Leonardo da Vinci>. <the video 'La Joconde à Washington'> <is about> <the Mona Lisa>. Exampel från hcps://www.w3.org/tr/rdf11-primer/

Exampel från hcps://www.w3.org/tr/rdf11-primer/

The Seman(c Web Layers

22 Standardiserade ontologier RDF RDFS OWL...

Relationsdatabas eller kunskapsbas? 23 En relationsdatabas har en mycket effektiv underliggande modell (för normalstora data) men semantiken bakom viss information förloras när den lagras som tabeller (jfr. ER-modell vs. tabeller) Ex: Lista alla forskningsartiklar Namn Anders Anna Bengt Position Doktorand Professor Pressansvarig Författare Artikel Bengt Universitetsnytt 2014 Anna Ontology engineering Bengt Statistik över LiU '07

RDF Bengt Anna Universitetsnytt 2014 Doktorand Pressansvarig Anders Statistik över LiU '07 Professor Ontology engineering

RDF + RDF Schema (RDFS) Position Fakultetsposition Doktorand Professor Administrativ position Pressansvarig Person Anna Bengt Anders Artikel Universitetsnytt 2014 Statistik över LiU '07 Ontology engineering

RDF + RDFS + OWL Position Fakultetsposition Doktorand Professor Administrativ position Pressansvarig Forskare Bengt Person Anders Anna Artikel Universitetsnytt 2014 Statistik över LiU '07 Ontology engineering Forskningsartikel = artikel skriven av en forskare = person som har en fakultetsposition

27 RDF/XML exempel <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/organization"/> <rdf:description rdf:about="http://data.scb.se/terms/sni/68201"> <skos:preflabel> Uthyrning och förvaltning av egna eller arrenderade bostäder</skos:preflabel> <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <org:classification rdf:resource="http://data.scb.se/terms/sni/68201"/> <rdf:description rdf:about="http://data.scb.se/terms/lkf/04"> <gn:parentfeature rdf:resource="http://dbpedia.org/resource/sweden"/> <rdfs:label>södermanlands län</rdfs:label> <rdf:description rdf:about="http://data.scb.se/terms/lkf/0484"> <gn:parentfeature rdf:resource="http://data.scb.se/terms/lkf/04"/> <rdfs:label>eskilstuna kommun</rdfs:label> <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <geo:location rdf:resource="http://data.scb.se/terms/lkf/0484"/>

RDF/XML exempel <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/organization"/> <rdf:description rdf:about="http://data.scb.se/terms/sni/68201"> <skos:preflabel> Uthyrning och förvaltning av egna eller arrenderade bostäder</skos:preflabel> <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> http://.../foretag_bce892 <org:classification rdf:resource="http://data.scb.se/terms/sni/68201"/> <rdf:description rdf:about="http://data.scb.se/terms/lkf/04"> <gn:parentfeature rdf:resource="http://dbpedia.org/resource/sweden"/> <rdfs:label>södermanlands län</rdfs:label> <rdf:description rdf:about="http://data.scb.se/terms/lkf/0484"> <gn:parentfeature rdf:resource="http://data.scb.se/terms/lkf/04"/> <rdfs:label>eskilstuna kommun</rdfs:label> rdf:type <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <geo:location rdf:resource="http://data.scb.se/terms/lkf/0484"/> 28 foaf:organization

RDF/XML exempel <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/organization"/> <rdf:description rdf:about="http://data.scb.se/terms/sni/68201"> <skos:preflabel> Uthyrning och förvaltning av egna eller arrenderade bostäder</skos:preflabel> <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <org:classification rdf:resource="http://data.scb.se/terms/sni/68201"/> <rdf:description rdf:about="http://data.scb.se/terms/lkf/04"> <gn:parentfeature rdf:resource="http://dbpedia.org/resource/sweden"/> <rdfs:label>södermanlands län</rdfs:label> <rdf:description rdf:about="http://data.scb.se/terms/lkf/0484"> <gn:parentfeature rdf:resource="http://data.scb.se/terms/lkf/04"/> <rdfs:label>eskilstuna kommun</rdfs:label> <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <geo:location rdf:resource="http://data.scb.se/terms/lkf/0484"/> http://.../foretag_bce892 rdf:type foaf:organization 29 Uthyrning... http://.../68201 skos:preflabel

RDF/XML exempel <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/organization"/> <rdf:description rdf:about="http://data.scb.se/terms/sni/68201"> <skos:preflabel> Uthyrning och förvaltning av egna eller arrenderade bostäder</skos:preflabel> <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <org:classification rdf:resource="http://data.scb.se/terms/sni/68201"/> <rdf:description rdf:about="http://data.scb.se/terms/lkf/04"> <gn:parentfeature rdf:resource="http://dbpedia.org/resource/sweden"/> <rdfs:label>södermanlands län</rdfs:label> <rdf:description rdf:about="http://data.scb.se/terms/lkf/0484"> <gn:parentfeature rdf:resource="http://data.scb.se/terms/lkf/04"/> <rdfs:label>eskilstuna kommun</rdfs:label> http://.../foretag_bce892 rdf:type org:classification http://.../68201 <rdf:description rdf:about="http://www.ida.liu.se/projects/semtech/energy/effektivisering/2013/09/foretag_bce892"> <geo:location rdf:resource="http://data.scb.se/terms/lkf/0484"/> 30 foaf:organization Uthyrning... skos:preflabel

Varför RDF? Prata om resurser och deras attribut på webben (eller utanför) En gemensam enkel (graf-) datamodell Ett universellt sätt att identifiera resurser (URI:er) Lågnivå -integration av data Vi kan tala om att två resurser är samma sak genom att använda samma URI

32 Hur lagras och (llhandahålls RDF-data? Nedladdningsbara filer Ladda hem och ladda in i eget triple store SPARQL-endpoints Ställ SPARQL fråga mot en tjänst på webben Data direkt på webben länkade data Slå upp URI:er och traversera grafen Experimentella SPARQL-interface finns Specialiserade API:er

34 Triple stores Specialdesignade grafdatabaser för att stödja RDF Jena, RDF4J, OpenLink Virtuoso, Blazegraph, Stardog,... Skillnad mot andra grafdatabaser RDF tillåter inte attribut på noder och bågar Standardiserat frågespråk och datamodell Stödjer oftast ontologier och inferens Ju mer uttrycksfull modell desto sämre skalbarhet

Länkade data RDF data som publiceras på webben i enlighet med ett antal principer: 1. Använd URI:er som namn på saker 2. Använd HTTP-URI:er så att man kan slå upp namnen 3. När någon slår upp en URI, se till att returnera användbar information om URI:n 4. Inkludera länkar till andra URI:er, så att man kan upptäcka mer Linking Open Data Project LOD Det första projektet som började publicera data på detta sätt Nu mycket mer än ett projekt https://lod-cloud.net/

Linked Open Data cloud https://lod-cloud.net/

Ec LOD exempel: DBPedia Man har extraherat strukturerad information (RDF) från Wikipedia (främst infoboxes ) Utforska: skriv in en URI för en entitet i din browser, t ex URI:n för Berlin http://dbpedia.org/resource/berlin Ställ frågor genom deras publika SPARQL endpoint http://dbpedia.org/sparql Alternativt interface: http://yasgui.org/

Ec LOD exempel: DBPedia Exempelfråga till DBPedia: Ge mig alla fotbollsspelare som har spelat för klubbar som har en arena med mer än 40 000 platser, och som är födda i ett land med mer än 10 miljoner invånare.

SPARQL-fråga PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbp: <http://dbpedia.org/property/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT?player?country WHERE {?player rdf:type dbo:soccerplayer.?player dbo:team?team.?team dbo:ground?stadium.?stadium dbo:seatingcapacity?no. FILTER (?no > 40000)?player dbo:birthplace?country.?country a dbo:country.?country dbp:populationcensus?population. FILTER (?population < 10000000) } DBpedia endpoint: http://dbpedia.org/sparql

40 Hur kan jag använda länkade data? Utnyttja the Web of Data i dina system Ex: basdata såsom information om platser Hur kommer jag åt data? Nedladdning av datamängder (eget triple store) HTTP Följ länkarna, leta i kataloger (ex https://datahub.io/) SPARQL endpoints http://sparqles.ai.wu.ac.at/availability Andra API:er

43 Exempel på användning slutanvändare BBC Wildlife Finder http://www.bbc.co.uk/nature/wildlife Europeana http://www.europeana.eu/portal/ Finland Kulturarv, litteratur, historiska dokument http://www.ldf.fi/ Kungliga biblioteket http://www.kb.se/libris/swepub/datamodell/ Everything is connected http://everythingisconnected.be/

Använda webbdata i R

R och länkade data Analysera webbdata med R SPARQL-paket https://cran.r-project.org/web/packages/ SPARQL/index.html Ställ SPARQL-frågor mot publika endpoints för att hämta in data till R

46 R-SPARQL tutorial http://linkedscience.org/tools/sparql-package-for-r/ sparql-package-for-r-gephi-movie-star-graphvisualization-tutorial/ Data från DBpedia om filmskådespelare DEMO

47 Summering Moderna storskaliga (webb-) applikationer ställer andra krav än vad traditionella RDBMS är byggda för Horisontell skalbarhet Flexibla scheman Länka till externa data... NoSQL är ett samlingskoncept för populära alternativ såsom grafdatabaser En av de mest populära grafdatamodellerna är RDF, som specifikt utvecklad för webbdata Med länkade data + ontologier kan vi bygga system som utnyttjar webben nästan som om det vore en stor databas Med SPARQL-paketet för R kan man analysera sådana data i R

Robin Keskisärkkä robin.keskisarkka@liu.se www.liu.se

Länkar http://nosql-database.org/ http://aws.amazon.com/dynamodb/ https://cloud.google.com/bigtable/ http://cassandra.apache.org/ http://neo4j.com/ http://www.w3.org/standards/semanticweb/ https://sv.wikipedia.org/wiki/semantiska_webben http://semanticweb.org/wiki/ontology http://linkeddata.org/ https://jena.apache.org/ http://rdf4j.org/ https://github.com/openlink/virtuoso-opensource https://wiki.blazegraph.com/wiki/index.php/main_page http://stardog.com/ https://cran.r-project.org/web/packages/sparql/index.html http://linkedscience.org/tools/sparql-package-for-r/sparql-package-for-r-gephi-movie-star-graph-visualization-tutorial/