techniky a nástroje pro propojená data (linked data)
DESCRIPTION
Slajdy z tutoriálu na Datakon 2012 o Linked DataTRANSCRIPT
Techniky a nástroje pro propojená data
Jindřich Mynarz, Martin Nečaský, Vojtěch Svátek, Jakub Klímek, Tomáš Knap, Jakub StárkaFakulta informatiky a statistiky, Vysoká škola ekonomická
Matematicko-fyzikální fakulta, Univerzita Karlovahttp://lod2.eu, http://opendata.cz, http://keg.vse.cz, http://xrg.cz
Obsah tutoriálu
klasický web z pohledu zpřístupňování dat svět dokumentů vs. svět dat
vysvětlení pojmu Linked Data na případové studii Evropského sociálního fondu
využití ontologií ve světě Linked Data dotazování nad Linked Data praktické přínosy Linked Data případové studie
Architektura klasického webu
Jednotný globální prostor dokumentů
Postavený na několika standardech:
1. HTML jako formát pro publikaci dokumentů
2. URL jako jednoznačné globální identifikátory dokumentů
3. HTTP protokol pro vyhledávání a získávání dokumentů dle jejich URL
4. odkazy pro propojování dokumentů
Nad prostorem dokumentů pracují aplikace dvou typů:• webové prohlížeče (přístup k
dokumentům dle URL + procházení přes hypertextové odkazy)
• vyhledávače (indexace a fulltextové vyhledávání v dokumentech)
Databáze A
HTML
Databáze B
HTML
Databáze D
HTML
Databáze C
HTML
Webový prohlížeč
Vyhledávač
HTTP
HTTP
Co umožňuje klasický web?
Můžeme publikovat dokumenty tak, aby si je každý mohl ve svém prohlížeči zobrazit, pokud zná jejich URL.
Vazby nám umožňují dostat se i na dokumenty, jejichž URL přímo neznáme: Pomocí odkazů z jiných dokumentů Z katalogů odkazů Fulltextové vyhledání dokumentů (klíčová slova)
Co neumožňuje klasický web? Problém klasického webu je orientace na dokumenty
místo na entity, o kterých dokumenty mluví. entita = entita reálného světa, o níž chceme na webu
publikovat nějaká data např. instituce, kniha, osoba, smlouva, veřejná zakázka, ...
Data o jedné entitě jsme nuceni zakódovat do dokumentu na webu v podobě, která neumožňuje strojové zpracování propojování a sdílení míst, na kterých se o entitě mluví propojování entity na související entity (viz příklady na následujících slajdech)
Co neumožňuje klasický web? Získat všechna data
publikována o entitě „Martin Nečaský“ v dokumentech na webu
Sdílet data mezi portály, tj. aby portál mohl spravovat
jen data o entitě, která jsou v jeho primárním zájmu.
aby mohl ostatní (sekundární) data čerpat z jiných portálů.
Co neumožňuje klasický web?
• Jak pomocí odkazů říci, že stránky pojednávají o stejné entitě?
• Jak vyznačit, kde jsou data o entitě určená pro sdílení?
• Jak mohu na své stránce využít data z jiných stránek?
Co neumožňuje klasický web?
Odpovídat na složitější vyhledávací dotazy: Jaká témata Martin
vyučuje? Na jakých školách
Martin vyučuje? Na jakých projektech
Martin pracuje? S kým Martin
spolupracuje?
Lze na webu publikovat i data? Současnou výzvou tedy je publikovat nejenom
dokumenty, ale i zdrojová data o entitách. Aby web mohl poskytnout i výše uvedené služby.
Již dnes ale přeci na webu publikujeme často právě i zdrojová data určená pro další zpracování.
Známe dokonce 2 způsoby publikace dat: Datové soubory mají také svoje jednoznačné URL a
data reprezentují v různých formátech.• XML, CSV, XLS, ...
Pokročilým způsobem publikace dat jsou tzv. datová API
Architektura webu s datovými API
Různá API poskytují strojově čitelná data pro další zpracování v tzv. mashup aplikacích.
Také postaveny na několika jednoduchých standardech:
• XML/JSON jako formáty pro publikaci dat
• HTTP protokol pro získávání dat
Ale pozor• chybí URL identifikátory (resp. jsou
používány, ale ne jako globální identifikátory entit)
• chybí odkazy mezi entitamiDatabáze A
Databáze B
Databáze D
Databáze C
Aplikace
Aplikace
HTTP
DataAPI
DataAPI
DataAPI
DataAPI
HTTP
HTTP HTTP
Současné principy a technologie mají řadu nedostatků! Je potřeba si uvědomit, že jednotkou pro publikaci není soubor s
daty ale entita (většinou objekt reálného světa), o které chceme data publikovat.
Publikace dat o entitách ale není postavena na principech, které už byly jednou vynalezeny pro publikaci dokumentů.
Publikace dat na webu
Svět dokumentů Svět dat
HTML jako formát pro publikaci dokumentů formátů pro publikaci dat používáme řadu (XML, JSON, CSV, XLS, ...)
URL jako jednoznačné globální identifikátory dokumentů
entitám nepřiřazujeme žádné globální identifikátory
HTTP protokol pro vyhledávání a získávání dokumentů dle jejich URL
HTTP protokol používáme (REST), ale nepoužíváme URL jako globální identifikátory entit
odkazy pro propojování dokumentů žádný z používaných formátů neumožňuje propojování souvisejících entit
Máme web dokumentů
Ale nemáme web dat
Srovnání webu dokumentů a publikace dat na webu
Můžeme publikovat dokumenty tak, aby si je každý mohl ve svém prohlížeči zobrazit, pokud zná jejich URL.
Vazby nám umožňují dostat se i na dokumenty, jejichž URL přímo neznáme
Můžeme publikovat entity tak, aby si je každý mohl ve svém prohlížeči zobrazit, pokud zná jejich URL.
Vazby nám umožňují dostat se i na entity, jejichž URL přímo neznáme
Linked Data
principy Linked Data = sada „best practices“ pro publikaci, sdílení a propojování entit a dat o nich na webu využití standardů současného Webu pro publikaci
a přístup k entitám a datům o nich ve strojově čitelné podobě
možnost vytvářet vazby mezi souvisejícími entitami a publikovat vazby jako součást dat pro jejich strojové zpracování
využití ontologií pro popis sémantiky dat
Publikace a přístup k datům data = entity, údaje o nich a vazby mezi nimi
entita = organizace, projekt, zakázka, lék, ... údaj o entitě = název organizace, IČ organizace vazba = zakázka je realizovaná v rámci projektu, organizace je
příjemcem projektu, účinná látka je obsažená v lékuSvět dokumentů Svět Linked Data
HTML jako formát pro publikaci dokumentů RDF jako formát pro publikaci entit
URL jako jednoznačné globální identifikátory dokumentů
URL jako jednoznačné globální identifikátory entit
HTTP protokol pro vyhledávání a získávání dokumentů dle jejich URL
HTTP protokol pro vyhledávání a získávání entit dle jejich URL
odkazy pro propojování dokumentů vazby pro propojování entit
Máme web dokumentů
Máme web dat!
Údaje o entitách a vazby mezi nimi
URL jako identifikátory entit
Typy entit a vazeb
RDF reprezentace
RDF je datový model pro formální reprezentaci grafu entit a hodnot jejich vlastností
Zápis RDF reprezentace
RDF graf je vždy zapsán jako množina trojic trojice reprezentuje jednu hranu grafu
následujícím způsobem
subjekt predikát objekt trojice jsou zapisovány ve vhodné notaci
XML, RDFa, N3, Turtle, JSON
Zápis RDF reprezentace - Turtle<http://esfcr.cz/data/projekt/CZ10421016300169> rdfs:type esf:Projekt ; esf:nazev "INNOSTART" ; esf:registracni_cislo "CZ.1.04/2.1.01/63.00169" ; esf:castka "4711681" ; esf:realizace_od "2011-06-01" ; esf:realizace_do "2013-03-31" ; esf:realizator <http://esfcr.cz/data/institution/25438352> ; esf:partner <http://esfcr.cz/data/institution/25438352> ; esf:kontaktni_osoba <http://esfcr.cz/data/person/8541274571> ; esf:region <http://esfcr.cz/data/kraj/ustecky> .
Přístup přes HTTP protokol
Webový prohlížeč
esfcr.cz
HTTP(HTML)
http://esfcr.cz/.../projekt/CZ10421016300169
Aplikace
HTTP(RDF)
<http://esfcr.cz/data/projekt/CZ10421016300169> esf:nazev "INNOSTART" ; esf:registracni_cislo "CZ.1.04/2.1.01/63.00169" ; esf:castka "4711681" ; esf:realizace_od "2011-06-01" ; esf:realizace_do "2013-03-31" ; esf:realizator <http://esfcr.cz/.../25438352> ; esf:partner <http://esfcr.cz/.../25438352> ; esf:kontaktni_osoba <http://esfcr.cz/.../8541274571>; esf:region <http://esfcr.cz/.../ustecky> .http://esfcr.cz/.../projekt/
CZ10421016300169
Propojování objektů napříč datovými zdroji
Propojování objektů napříč datovými zdroji
ESFCR
ESFDB RISY
strukturalni-fondy.cz
OPPI
OPD
ROP *Zakázky
Obchodní rejstřík
Rozpočty
Školy
Územní celky
Linked Open Data (LOD) cloud
Pokud se někdo z lokálního „cloudu“ napojí na LOD cloud, profitují z napojení všichni
Propojování mohou vznikat postupně a v různé kvalitě; kvantita i kvalita propojení se může postupně zvyšovat
ESFCR
ESFDB RISY
strukturalni-fondy.cz
OPPI
OPD
ROP *Zakázky
Obchodní rejstřík
Rozpočty
Školy
Územní celky
Ukázka z LOD cloudu
http://dbpedia.org/resource/Mosthttp://dbpedia.org/resource/Ústí_nad_Labem_Region
Rekapitulace Linked Data
Svět Linked DataRDF jako formát pro publikaci entit
URL jako jednoznačné globální identifikátory entitHTTP protokol pro vyhledávání a získávání entit dle jejich URLvazby pro propojování entit
Využití ontologií web dokumentů zná jen dva jednoduché koncepty
dokumenty hypertextové nevýznamové odkazy mezi dokumenty
web dat zná řadu různých konceptů entity mnoha významů (typů)
• osoby, města, projekty, rozpočty, ... významová propojení mezi entitami a jejich datovými
hodnotami i mezi entitami navzájem• jméno osoby, jméno města, region projektu, ....
významy jsou důležité pro strojové zpracování „významy“ jsou zachyceny pomocí ontologií
• tento pojem web dokumentů NEZNÁ
Využití ontologií
Jak s LD pracovat?
Bohužel dnes není technicky možné pracovat s celým LOD cloudem
Současné projekty využívají LD principů k publikaci a obohacování vlastních dat Výběr konkrétních obohacujících datasetů (přístup
přes HTTP URI nebo pomocí jazyka SPARQL) Napojení vlastních dat na zvolené externí datasety
Co znamená publikovat vlastní LD? Analýza vlastních dat
Jaká máme data? Co můžeme/chceme publikovat? Jak data v různých našich databázích spolu souvisí? Jak souvisí s daty jiných
subjektů? Doménový model
Nezávisle na ontologii, např. ve formě UML diagramu tříd. Návrh ontologie
Jaké již existují používané ontologie pokrývající náš doménový model? Návrh vlastní ontologie pro části nepokryté existujícími ontologiemi. Mapování vlastní ontologie na existující ontologie.
Export dat Skripty exportující data do podoby navržené ontologie. Propojení dat s existujícími daty v LOD cloudu.
Publikace dat Aplikace nad daty
Lze nechat na někom jiném
Příklad publikace LD (Veřejné zakázky)Analýza a popis domény
Příklad publikace LD (Veřejné zakázky)Návrh ontologie
Příklad publikace LD (Veřejné zakázky)Aplikace nad daty
http://ld.opendata.cz/demo demo aplikace nad Linked Daty o veřejných
zakázkách v celé EU data vytěžená z TED, národních portálů (např.
isvzus.cz) + DBPedia
Příklad publikace LD (Veřejné zakázky)Aplikace nad daty
http://studentweb.xrg.cz/hospodareni-obci/ aplikace nad Linked Daty o hospodaření obcí data vytěžená z UFIS + DBPedia
• UFIS = http://wwwinfo.mfcr.cz/ufis/ http://
studentweb2.xrg.cz/bp-linked-data-rejskol aplikace nad Linked Daty z rejstříku škol data vytěžená z rejstříků MŠMT a MPSV
• MŠMT = http://rejskol.msmt.cz/ • MPSV = http://portal.mpsv.cz/
Příklad publikace LD (Veřejné zakázky)Publikace dat
http://ld.opendata.cz/resource/business-entity/00274046 data o Pardubicích
http://ld.opendata.cz/resource/business-entity/1cf14570-7415-46c6-8a43-88fa227fddf2 jiná data o Pardubicích
všimněte si vazeb sameAs
Dotazování na LDSPARQL
živá ukázka SPARQL endpoint: http://ld.opendata.cz:8900/sparql SPARQL dotazy:http://goo.gl/pO8qJ
LD principy zlepšují atributy kvality datové infrastruktury (1)
Propojitelnost Mohu snadno propojovat svá data na jiná data. Svá data tak obohatím o
nová související data, která ale nemusím udržovat ve své databázi. Dohledatelnost
Ostatní mohou efektivněji nalézt má data díky propojením na jiná data. Kontextovost
Na moje data lze nahlížet z různých kontextů daných vazbami na jiná data. Inkrementalita
Data o objektech a především propojení mezi objekty lze budovat a zveřejňovat postupně (pay-as-you-go). Propojení nemusejí být zdaleka úplná (jak kvantitativně tak kvalitativně). Už při malém množství propojení se přínosy projeví.
Distribuovatelnost Data a propojení mezi nimi není nutné publikovat „u zdroje“. Může je
publikovat kdokoliv a kdekoliv.
LD principy zlepšují atributy kvality datové infrastruktury (2)
Spojitost Díky propojením tvoří data souvislý (spojitý) datový prostor, se
kterým mohou aplikace pracovat jako s jednou databází. Pluralita
Různí lidé mohou publikovat různá (i protichůdná) tvrzení o stejném objektu. Lze tak reflektovat běžné situace ve společnosti.
Modifikovatelnost (flexibilita, robustnost) Datová infrastruktura je odolná vůči změnám. Změny (např. mazání
dat) mohou být jen na úrovni jednotlivých trojic a nezasahují jiné trojice. Jsou tak maximálně lokalizovány. A to jak na úrovni instancí, tak na úrovni schémat (ontologií).
Transparentnost V datech lze také zaznamenat, kdo, kde, kdy a pod jakou licencí data
publikoval.
Co přinášejí LD pro producenta dat rozložení nákladů na činnosti s daty v čase a mezi uživatele
publikace – data mohu publikovat postupně a publikuji jen svá primární data (na sekundární se napojím)
aktualizace – aktualizuji ve své databázi jen svá primární data, sekundární data aktualizují jejich správci a díky propojením se o aktualizacích hned dozvím
propojování – nemusím propojení vytvářet sám a nemusím hned vytvářet přesná propojení; ostatní uživatelé infrastruktury mi pomohou s kvantitou i kvalitou propojení
obohacování dat zveřejněním dat v podobě LD a vytvořením relativně malého množství
propojení obohatím svá data o všechna související data v LOD cloudu s obohacováním mi pomáhají všichni uživatelé LOD cloudu uživatelé mi pomáhají se zvyšováním kvality mých dat (mohou chyby v
mých datech opravovat tak, že své opravy publikují v LOD cloudu)
Co přinášejí LD pro tvůrce aplikací? získávají jednotný formát, ve kterém mohou
konzumovat data z různých zdrojů z dat se díky propojením snadno dostanou na
související data získávají přístup k celosvětové distribuované
databázi (LOD cloudu), kterou mohou využít ve své aplikaci databáze navíc kontinuálně roste a zvyšuje svoji
informační hodnotu vědí, od koho data pocházejí a pod jakou licencí
jsou publikována
Enterprise Linked Data pojem označující využívání LD principů uvnitř organizace
v případech, kdy se svými daty nemůže nakládat zcela otevřeně (osobní či jiné chráněné údaje)
jedná se o architektonický styl budování datové infrastruktury uvnitř organizace navíc velmi přirozený, neboť je postaven na běžných
technologiích (URI, HTTP, ...) – fungují stávající nástroje přináší všechny výhody LD do organizace
viz atributy kvality výše umožňuje využívat externí otevřená LD z LOD cloudu
uvnitř organizace pro obohacování vlastních dat organizace
Případová studieVyužití Linked Open Drug Data na Mayo Clinic
Případová studieVyužití Linked Open Drug Data na Mayo Clinic
vlastní data o pacientech z různých databází integrují do warehouse, exportují do RDF (Translational Medicine Ontology) a linkují na Linked Open Drug Data
Případová studieVyužití Linked Open Drug Data na Mayo Clinic
Linked Open Drug Data umožňuje odpovídat na následující dotazy
Najdi všechny léky povolené FDA pro léčbu T2D (Diabetes typu 2) a najdi pacienty, kteří tyto léky berou.
U kterých pacientů se projevil nějaký vedlejší účinek léku Prandin.
Které geny a biomarkery jsou asociovány s T2D podle současné literatury?
Kteří pacienti mají předepsaný lék, který ovlivňuje gen HNF4α?
Kteří pacienti berou lék ze třídy sulfonylureas, meltformin, metglitinides, thiazolinediones nebo nějakou jejich kombinaci?
Případová studiePárování nabídky a poptávky ve veřejných zakázkách
vývoj aplikace s pracovním názvem TenderStats v rámci EU projektu LOD2
umožní detailní popis poptávky ve veřejné zakázce dle principů Linked Data
využití detailního popisu poptávky a sekundárních dat souvisejících s veřejnou zakázkou (demografie, geografie, ...) pro nalezení podobných veřejných zakázek nalezení vhodných dodavatelů
Případová studiePárování nabídky a poptávky ve veřejných zakázkách
mockup aplikace TenderStats http://
www.opendata.cz/mockup/pcfiler/mycontracts-step-04.html
formulář pro vyplnění detailní specifikace poptávky je vygenerován na základě vertikální produktové ontologie specifické pro danou doménu, v našem případě se jedná o automobily http://www.volkswagen.co.uk/vocabularies/coo/ns
využití entit z projektu DBPedia.org pro popis komponent poptávaného vozidla a jeho poptávaných vlastností
Poděkování
EU ICT FP7 under No.257943(LOD2 project)