Techniky a nástroje pro propojená data (Linked Data)
1. Techniky a nástroje pro propojená data
Jindřich Mynarz, Martin Nečaský, Vojtěch Svátek, Jakub
Klímek, Tomáš Knap, Jakub Stárka
Fakulta informatiky a statistiky, Vysoká škola ekonomická
Matematicko-fyzikální fakulta, Univerzita Karlova
http://lod2.eu, http://opendata.cz, http://keg.vse.cz, http://xrg.cz
2. 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
3. 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
4. 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)
5. 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)
6. 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ů.
7. 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?
8. 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?
9. 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
10. 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
Data
API
Data
API
Data
API
Data
API
HTTP
HTTP HTTP
11. 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
12. 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
13. 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
14. 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éku
Svě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!
18. RDF reprezentace
RDF je datový model pro formální reprezentaci
grafu entit a hodnot jejich vlastností
19. 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
23. 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
24. 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
25. Ukázka z LOD cloudu
http://dbpedia.org/resource/Mosthttp://dbpedia.org/resource/Ústí_nad_Labem_Region
26. Rekapitulace Linked Data
Svět Linked Data
RDF jako formát pro publikaci entit
URL jako jednoznačné globální
identifikátory entit
HTTP protokol pro vyhledávání a získávání
entit dle jejich URL
vazby pro propojování entit
27. 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Á
30. 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
31. 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
34. 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
35. 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/
36. 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
38. 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.
39. 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.
40. 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)
41. 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
42. 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
44. Případová studie
Využ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
45. Případová studie
Využ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?
46. Případová studie
Pá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ů
47. Případová studie
Pá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í
Každý portál spravuje jen svá primární data o Martinovi:
univerzitní informační systém UK spravuje data o výuce Martina na MFF UK
univerzitní informační systém ČVUT spravuje data o výuce Martina na ČVUT
státní informační systémy RIV a CEP spravují data o projektech Martina
portál Linked Open Vocabularies spravuje data o ontologiích, na kterých Martin spolupracoval
osobní stránka Martina spravuje data o jeho odborném zaměření, o jeho kolezích a také různé notifikace (jakých událostí se Martin bude účastnit, aktuality k výuce, ...)
Současný web neumožňuje, aby jakýkoliv portál, který publikuje nějaká data o Martinovi, mohl neproprietálně obohatit svá data o data z jiného portálu.
Data o Martinovi jsou distribuována v dokumentech na webu a vyhledávače je indexují pouze pomocí klíčových slov. Klíčová slova však nestačí na zodpovězení uvedených složitějších (ale ne zase tak moc složitějších) otázek. Navíc nerozlišují kontext, natož pak hlubší sémantiku výskytů klíčových slov. Snadno se tak vyhledávače nechají zmást.
Pro odpovědi na tyto otázky si musíme dojít do konkrétní aplikace, která:
si sama spravuje všechna data potřebná pro zodpovězení dotazu
má uživatelské rozhraní takové, že je možné otázku položit a dostat odpověď
Pro mnoho otázek však potřebná aplikace vůbec neexistuje. Většinou má jen kusé informace (jen určitou projekci a selekci potřebných dat) a uživatelské rozhraní je přizpůsobeno jen specifickému problému, který aplikace řeší.
Klasický web nutí uživatele klást uniformní dotazy nad velmi omezenou (a draze spravovanou) množinou dat.
O Linked Data má smysl uvažovat všude tam, kde potřebujeme sdílet a propojovat data napříč různými entitami (organizační složky státu, samosprávy, soukromé společnosti, výzkumné instituce, veřejnost, ...).
Tajná zbraň - možnost přiřazovat datům jejich význam (semantic web) a s významem strojově pracovat
Entity reálného světa, údaje o nich a vazby mezi nimi tvoří orientovaný graf. Uzel grafu reprezentuje entitu či datovou dále nestrukturovanou hodnotu. Z uzlů, které reprezentují datové hodnoty, již nevedou žádné hrany. Hrana přiřazuje dané entitě datovou hodnotu či jinou entitu jako hodnotu nějaké její vlastnosti. To, o jakou vlastnost se jedná je dáno popiskem hrany.
Základním principem Linked Data je identifikace jednotlivých entit pomocí URI. Jsme na webu a proto se využívá speciální typ URI zvaný URL. URL entity lze pak využít pro strojové získání údajů o entitě (prostřednictvím HTTP protokolu). Stroj přistupující k URL entity (tj. stroj dereferencující dané URL) získává strojově čitelnou reprezentaci všech dostupných hodnot vlastností entity. Přesněji, získává ve strojově čitelném zápisu všechny hrany vedoucí z uzlu reprezentujícího entitu (někdy jsou také uvažovány hrany vedoucí do tohoto uzlu).
Identita jednotlivých hran naopak není uvažována. Hranu chápeme jako tvrzení o hodnotě vlastnosti entity s daným URL. Tj.
<URL entity> <název vlastnosti> <hodnota vlastnosti>
Pro takové tvzrení neuvažujeme jeho vlastní identitu.
Každá entita může mít kromě svojí identity přiřazen také typ (třídu). Typ je opět chápán jako entita se svým vlastním URL.
Stejně jako entity jsou typovány i hrany. Popisovat hranu jen názvem vlastnosti by totiž bylo příliš obecné a strojově těžko uchopitelné. Typ hrany je stejně jako typ entity entitou s vlastním URL. Tuto entitu na obrázku nezobrazujeme. Místo toho ukazujeme její URL jako popisek hrany.
Entita reprezentující typ (hrany či entity) má také svoje vlastnosti, např. název a komentář. Jejich hodnoty jsou vyjádřeny dle stejných principů. Dereferencováním URL typu je možné se k těmto datům dostat strojovým způsobem.
ukázat problémy s nejednoznačností pojmenování vlastností
zavést pojem ontologie
zdůraznit ontology reuse
ukázat, co to přináší
možnost koukat na data z různých úhlů pohledu (daných různými ontologiemi)
ukázat problémy s nejednoznačností pojmenování vlastností
zavést pojem ontologie
zdůraznit ontology reuse
ukázat, co to přináší
možnost koukat na data z různých úhlů pohledu (daných různými ontologiemi)
Company Profile: Deutsche Post in Germany
Performing a search for Deutsche Post.
Country germany
Search box deutsche post (write down Deutsche Post, select the Deutsche Post (Berlin))
Time (as you like)
Click on the contract “Koblentz:Postdienste”
User views from DBPEDIA (http://dbpedia.org/page/Deutsche_Post) the following info (Note: user should see values from destination source, not labels or links):
Roll down to show data added from dbpedia
Location, Industry, Key Person, Revenue, Assets (represents last data from Wikipedia)
User views data from FreeBase (some additional properties)
Click on the link “Frank_Appel” (open it in a new tab), dbpedia opens (say: Now you can look at more data about Frank at dbpedia but now you are also in the cloud connected to all other sources!), roll down to owl:sameAs fbase:Frank Appel, click on fbase:Frank Appel – Frebase page opens. You can browser further…
Go back, click on Bonn (again, you are in dbpedia!), click on sameAs http://sws.geonames.org/2946447..., now you are on Geo Names, another data set in the cloud
studentweb.xrg.cz/hospodareni-obci/
-> vykazy -> semily
pocet obyvatel je z DBPedia
http://studentweb2.xrg.cz/bp-linked-data-rejskol
-> skoly -> detailni vyhledavani -> nazev obce (semily) -> Gymnazium Ivana Olbrachta -> RDF -> misto poskytovaneho vzdelavani -> locatedIn
Jsme na http://ld.opendata.cz/resource/municipality/00276111 - informace o meste (aktualne to je rozpocet)
-> sameAs
Jsme na http://ld.opendata.cz/resource/business-entity/00276111 - dalsi informace o meste (obchodni rejstrik, verejne zakazky)
-> sameAs (dbpedia), atd
Kvantita propojení znamená počet propojení. Kvalita znamená jak dobře mám popsánu sémantiku propojení. Nejméně kvalitní je jen vágní tvrzení, že zde je nějaká souvislost. Nejvíce kvalitní jsou přesná propojení (sameAs nebo detailní R2R specifikace).
Kvantita propojení znamená počet propojení. Kvalita znamená jak dobře mám popsánu sémantiku propojení. Nejméně kvalitní je jen vágní tvrzení, že zde je nějaká souvislost. Nejvíce kvalitní jsou přesná propojení (sameAs nebo detailní R2R specifikace).