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

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

Introduction to the Semantic Web. Eva Blomqvist

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

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

Europeana Data Model vad, varför och hur

Datorer och kunskap - Den semantiska webben Robert Herber

VAD GÖR DU / VEM ÄR DU?

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

DI Studio nyheter

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

VAD GÖR DU / VEM ÄR DU?

732G16: Databaser - Design och programmering

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

Databaser - Design och programmering

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

Webbtjänster med API er

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

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Datamodeller och databaser, avancerad kurs

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

Webbtjänster med API er

Hantera informationspaket i system för bevarande

Diagnostisktprov Utveckla i Azure

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

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

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

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

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

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

Big Data i spelbranchen

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

Innehåll. MySQL Grundkurs

Institutionen för datavetenskap

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

SESAM - Ifbtr. Olle Olsson

Gemensam samnordisk terminologihantering för kultursektorn DISKA-seminarium

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

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

PC-Axis familjen En produktöversi k t

Karlstads Universitet, Datavetenskap 1

DATALAGRING. Ämnets syfte

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

SICS Swedish Institute of Computer Science

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

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

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

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

Webbservrar, severskript & webbproduktion

Gemensam samnordisk terminologihantering för kultursektorn LOD-seminarium

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

Alternativ till låsning. Optimistik approach TimeStamp

Datalager och datautvinning

Den semantiska webben - en översikt

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Integrering av semantiska webben i ett existerande system. Sakarias Stenbäck

Introduktion till SAML federation

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

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

KUNDREGISTER Sid 2(7) Teknisk specifikation

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

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

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

Konceptuella datamodeller

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

Pass 3: Metadata. Svensk nationell datatjänst, SND BAS Online

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

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

Mål med lektionen! Repetera och befästa kunskaperna.

Structured Query Language (SQL)

Datakommunika,on på Internet

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

En utvärdering av verktygsstödet för den semantiska webben. HS-IKI-EA

Lite om databasdesign och modellering

Databaser och Datamodellering Foreläsning IV

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

Semantisk web i biblioteket

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Semantiska webben och web 3.0. Kl Öppna biblioteket, FSBF:s årskonferens i Korsholm. Lars Iselid

Utredning av NoSQL-databaser

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Objektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

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

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

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

Design och underhåll av databaser

ADDML vid Riksarkivet i Sverige

Eva Hellstöm - Christina Strand

Databasutveckling Introduktion till SQL och TSQL

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

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

XML. Extensible Markup Language

JÄMFÖRELSE AV RELATIONSDATABASER OCH NOSQL-DATABASER

Prioriterade standarder, Handledning, Vägledning, Utbildning Mats Åhlin

IMPORTERA POSTER TILL DIVA Anvisning för export av poster från andra databassystem för import till DiVA

Webbtjänster med API er

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/


Tentamen DATABASTEKNIK - 1DL116, 1MB025

Transkript:

Alterna(va datamodeller & grafdata på webben Gäs8öreläsning 2017-05- 10 Eva Blomqvist (eva.blomqvist@liu.se)

Översikt Del 1: Varför alternativa datamodeller? Exempel på några alternativ "NoSQL"-databaser 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(onsmodellen - NoSQL mm

Begränsningar hos rela(onsdatabaser Objekt existerar inte på ett naturligt sätt utan sina attribut, dvs de identifieras mha värden på attribut Exempel: Person utan personnummer? Attribut måste vara atomära, dvs inte t ex listor, eller innehålla "delvärden" Exempel: Adress som ett enda värde, man kan bara ha en adress Semantiken bakom relationsdatabasen är inte explicit - antingen måste vi veta om den, eller så måste vi "härleda" den från hur tabellerna hänger ihop Exempel: I vår ER-modell hade vi anställd som en underkategori av person (jfr. arv) Knepigt att uppdatera databaschemat Kan ofta inte hantera riktigt stora datamängder... Skalar inte horisontellt

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

6 Vad är NoSQL? "not only SQL" Definition (från http://nosql-database.org/): "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. "

7 Key- value store Jfr. hashtabell Exempel: Amazon DynamoDB 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

8 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

9 Exempel: 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

10 Exempel: 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

11 Grafdatabaser Mycket data vi har är "naturligt" en graf 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= Linköpings Universitet adress=...

12 Exempel: Neo4J Grundades av en Linköpingsstudent 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

13 Data på webben - RDF och länkade data

Web vs. Seman(c Web

The Seman(c Web Layers

Relationsdatabas eller kunskapsbas? 17 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) Exempel: 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

Relationsdatabas eller kunskapsbas? Med en ontologi har vi ett mycket mer expressivt språk och semantiken (modellen) följer med hela vägen Exempel: Lista alla forskningsartiklar 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

RDF - Resource Descrip(on Framework W3C Recommendation http://www.w3.org/rdf RDF är en grafisk modell - en grafdatamodell finns olika syntaxer för att uttrycka den, t ex genom XML, eller Turtle ursprungligen för att hantera metadata på webben Datamodell baserat på tripplar

RDF - datamodellen Vår datamängd byggs upp av <subject, predicate, object> tripplar: <Eva, jobbarpå, LinköpingsUniversitet> Tripplarna bildar en graf: Tripplarna beskriver attribut för resurserna och relationer till andra resurser En resurs är vad som helst som kan identifieras genom en URI En webbsida, en bok, en verklig person... Relationer är också resurser, vi namnger våra relationer med hjälp av URI:er Eva http://.../eva jobbarpå Linköpings Universitet http://.../linköpingsuniversitet http://.../jobbarpå

RDF- grafer Det som är "subject" i en trippel kan vara "object" i en annan (notera att "object" antingen kan vara en nod eller en s.k. "literal", dvs ett dataelement såsom en siffra) En samling tripplar bildar en riktad graf med namngivna noder http://.../eva http://.../jobbarpå foaf:name http://.../linköpingsuniversitet Eva Blomqvist http://.../baserati http://.../baserati http://.../linköping http://.../norrköping

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

25 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"/> 26 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 27 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"/> 28 foaf:organization Uthyrning... 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> <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 29 foaf:organization Uthyrning... http://.../68201 org:classification skos:preflabel http://.../04 http://.../sweden gn:parentfeature rdfs:label Södermanlands...

foaf:organization 30 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"> http://.../foretag_bce892 rdf:type <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://.../68201 org:classification skos:preflabel http://.../04 gn:parentfeature http://.../0484 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"/> Uthyrning... http://.../sweden gn:parentfeature rdfs:label Södermanlands... Eskilstuna kommun

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"> http://.../foretag_bce892 rdf:type foaf:organization http://.../68201 geo:location org:classification skos:preflabel http://.../04 http://.../sweden gn:parentfeature gn:parentfeature http://.../0484 rdfs:label <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"/> 31 Uthyrning... rdfs:label Södermanlands... Eskilstuna kommun

Ställa frågor mot RDF - SPARQL <h@p://example.org/book/book1> <h@p://purl.org/dc/elements/1.1/(tle> "SPARQL Tutorial". SELECT?(tle WHERE { <h@p://example.org/book/book1> <h@p://purl.org/dc/elements/1.1/(tle>?(tle. } "SPARQL Tutorial"

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

35 DBMS för RDF = Triple stores Specialdesignade grafdatabaser för att stödja RDF (och i många fall även OWL) Exempel: 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 & 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, genom standarder (RDF, SPARQL) 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

LOD data

Ej LOD exempel: DBPedia Man har extraherat strukturerad information (RDF) från Wikipedia (främst "infoboxes") Utforska: skriv in en URI för en entitiet i din browser, t ex URI:n för Berlin - http://dbpedia.org/page/berlin Ställ frågor genom deras publika SPARQL endpoint - http://dbpedia-live.openlinksw.com/sparql

Ej LOD exempel: DBPedia Exempelfråga till DBPedia: Ge mig alla fotbollsspelare som har spelat som målvakter 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. PREFIX dbo: <http://dbpedia.org/ontology/> PREFIX dbp: <http://dbpedia.org/property/> select distinct?player?team?country where {?player a dbo:soccerplayer.?player dbo:position <http://dbpedia.org/resource/goalkeeper_(association_football)>.?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?pop. FILTER (?pop > 10000000) }

40 Hur kan jag använda länkade data? Utnyttja "the Web of Data" i dina system Exempel: basdata såsom information om platser Hur kommer jag åt data? Nedladdning av datamängder - eget triple store HTTP - följ länkarna (kataloger, t 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 Hela webbportalen genereras utifrån RDF-data (underhålls tyvärr inte längre) http://www.bbc.co.uk/nature/wildlife Europeana Europeiskt projekt för att samla in kulturarsdata http://www.europeana.eu/portal/ Finland Kulturarv, litteratur, historiska dokument Nationell ontologiservice "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 speciell grafdatamodell är RDF, 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

Frågor? eva.blomqvist@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/