2. 04/29/09 2
Kdo jsem
Ondřej Černoš, absolvent FEL ČVUT (kybernetika)
doktorand UISK, téma blízké sémantickému webu
3. 04/29/09 3
Web
Co je web?
Web je databáze znalostí
Web je hromada syntakticky strukturovaných dat
Web je propojená hromada strukturovaných dat
Web je informační systém s vlastní svébytnou
architekturou
4. 04/29/09 4
Web – technické pozadí
Co je na Webu?
na webu existují Zdroje (Resource) – stránky,
obrázky, feedy (RSS, Atom) atd.
entity existující na webu mají jména
URI – Unified Resource Identificator
URL jako aplikace URI – Unified Resource Locator
Jména (URI) jsou globálně unikátní
5. 04/29/09 5
Web – technické pozadí
Jakým způsobem jsou zdroje na webu?
Zdroje jsou reprezentovány nějakou serializací,
kterou umí přenosová soustava přenášet
značkovací jazyky – HTML (aplikace SGML, šedesátá
léta)
formáty obrázků – PNG, JPG apod.
streamované video
XML jazyky (aplikace)
JSON, YAML, atd. atp.
Reprezentace nejsou zdroji!
6. 04/29/09 6
Web – technické pozadí
SGML a nástupci jako reprezentační jazyky
hypertextu
ve značkovacích jazycích existují prostředky pro
odkazování na jiné zdroje na webu
známé html tagy: anchor (a), img apod.
značkovací jazyky jsou standardizované, otevřené
značkovací jazyky popisují strukturu dokumentů
z.j. umí označit odstavec, nadpis apod.
tedy značkovací jazyky řeší syntax dokumentů
7. 04/29/09 7
Web – technické pozadí
Mluvili jsme o transportním mechanismu – co to je?
HyperText Transfer Protocol (HTTP)
definuje “architekturu informačního systému”
zvaného web
architektura identifikována jako REST –
Representational State Transfer
8. 04/29/09 8
Web – REST
REST – identifikace jedinečných vlastností webu
Aplikační stav je abstrahován do prostředků
(Resource)
Zdroj je unikátně identifikovaný (URI)
Všechny zdroje sdílejí jednotný interface (rozhraní)
k práci s reprezentací těchto
omezený počet známých typů reprezentací (content
type – MIME typy)
omezený počet operací nad reprezentacemi zdrojů
(GET, PUT, POST, DELETE)
9. 04/29/09 9
Web – REST
Další vlastnosti REST architektury
protokol architektury (HTTP) je typu klient-server
protokol je bezestavový (vždy se ve výměně
reprezentací zdrojů mezi klientem a serverem
zasílá vše co je nutné k porozumění dotazu či
odpovědi)
protokol je cachovaný (důležité pro škálovatelnost)
10. 04/29/09 10
Jak to vše souvisí se sémantickým webem?
Sémantický web staví na úspěšných a prověřených
vlastnostech webu tak jak je známe teď
Sémantický web dále staví na pojmu zdroje, užívá
URI, jako aplikační architekturu užívá REST – tedy
je to stále web
Pro pochopení směru, jakým rozvíjí sémantický
web ten web, který známe dnes, je nutné znát
fundament webu
11. 04/29/09 11
Hranice užití webu
Na webu používáme mnohé aplikace
aplikace pracují s různými zdroji různě
aplikace reprezentují zdroje (světa) svojí vlastní
reprezentací, která nemusí být sdílená
Aplikace neumějí spolupracovat
představme si aplikaci pro rezervaci hotelů, mapovou
aplikaci a aplikaci ministerstva životního prostředí
mapující národní parky. Spolupráce? Vesměs žádná.
12. 04/29/09 12
Hranice užití webu
Čím to je?
na webu jsou zdroje, které mluví o světě
reprezentace zdrojů jsou syntanticky strukturované
neumíme ovšem mluvit o těchto zdrojích – chybějí
metadata, tedy data o datech – data o datech o
světě
13. 04/29/09 13
Sémantický Web – metadata
Jaké známe metadatové systémy z prostředí webu
a informační vědy?
tagy – social tagging, kolektivní znalostní systém
atributy v souborovém systému – autor, doba vzniku
apod.
Jsou to různé systémy, navzájem nespolupracující
a mající různá svá omezení (tagy – čím užívanější
tag, tím menší nese informaci, apod.)
14. 04/29/09 14
Sémantický Web – metadata
Kvůli roztříštěnosti způsobů práce s metadaty
vznikl obecný framework
RDF – Resource Description Framework
Resource – o tom jsme již hovořili
Description – popis, chceme mluvit o zdrojích
Framework – RDF umožňuje tvořit popisy,
nepředepisuje popis
15. 04/29/09 15
Sémantický Web – metadata
Jak mluvíme o věcech?
říkáme, že něco je něco jiného
triviální referenční sémantika – link mezi symbolem
a věcí (pro naše účely bohatě stačí)
Přesně toto umožňuje RDF:
subject verb object
“U zeleného vola” “je” “hotel”.
“Hotel” “je” “třída ubytovacích zařízení”.
“Třída ubytovacích zařízení” “je podtřída” “obytných
budov”.
16. 04/29/09 16
Sémantický web – RDF
Co definuje RDF jako standard?
Sdílenou sémantiku trojic “subject verb object”
Různé formy reprezentace (viz!) těchto trojic
Několik sloves a podstatných jmen
17. 04/29/09 17
Sémantický web – RDF
RDF tedy umožňuje tvořit trojice “subject verb
object”. K čemu to je?
sdílený slovník podstatných jmen a sloves
RDF nevynucuje reprezentaci trojic – může být tedy
reprezentováno například XML jazykem (RDF/XML)
vloženým do webových stránek
příklad s hotelem a webem národních parků – sdílená
podstatná jména (pojmenování objektů světa) a slovesa
(vazby mezi nimi) umožní propojit znalosti jedné aplikace
se znalostmi aplikace druhé.
18. 04/29/09 18
Sémantický web – RDF
RDF tedy tvoří jakési grafy.
různé aplikace (rozptýlené po webu) vystavují
reprezentace trojic. Můžeme trojici chápat jako graf, kde
subject je uzel, verb je orientovaná hrana, object je
uzel.
Grafy pak lze spojovat – jsou-li nalezeny společné uzly.
RDF dosahuje globálně unikátních pojmenování
známým mechanismem URI. Subject, verb i object
reprezentujeme globálním identifikátorem.
19. 04/29/09 19
Sémantický web – RDF
Co je tedy sémantický web v RDF?
Globální orientovaný graf tvrzení “subject verb object”.
Tomuto grafu pak lze klást dotazy, podobné
databázovým dotazům (SPARQL).
Co jsme získali?
Znalosti jsou strojově zpracovávatelné.
Znalosti jsou jednotně reprezentované, tudíž snáze
dostupné. (Někdo někdy zkoušel destilovat znalosti z
webu, i tak přehledného jako Wikipedia? Dotaz:
“seznam všech německých spisovatelů narozených
mezi lety 1840-1860”).
20. 04/29/09 20
Sémantický web – RDF
Příklady.
Struktura univerzity.
uni:UK rdf:type uni:UNI.
uni:FF uni:facultyOf uni:UK.
ff:UISK rdf:type uni:Department.
ff:UISK uni:departmentOf uni:FF.
Co říkáme je snad očividné. Představme si, že
úplně jiný web říká toto:
ff:UISK uni:head ff:Papik
Kde Papíka patrně najdeme?
21. 04/29/09 21
Sémantický web – RDF
Viděli jsme:
trojice RDF výrazů serializované v N3 serializaci
jména ve formátu namespace:identifikátor
dvě aplikace (dvě stránky?) hovořící o společném
subjektu: ff:UISK
Kde je URI?
formát namespace:identifikátor je zkratka pro snadnou
čitelnost
ff může být například zkratka od URL
http://www.ff.cuni.cz - globálně unikátní jméno fakulty
22. 04/29/09 22
Sémantický web – RDF
RDF také samo definuje některé zdroje.
rdf:type – sloveso, říká “je typu” či “má třídu” apod.
další viz standard
Co dál jsme viděli?
Kdokoliv mohl něco říct – kdokoliv může vystavit
trojici na webu – (anyone anything any topic – AAA
principle)
Open World Assumption – onen kdokoliv to může
říct kdykoliv – nové znalosti se mohou kdykoliv
vyjevit z různých zdrojů
23. 04/29/09 23
Sémantický web – RDF
Představme si, že podle výše zmíněných principů
někdo někdy řekne toto:
msmt:UK_FF_UISK msmt:director empl:Papik
jako lidé vidíme, že toto říká totéž jako výše zmíněná
trojice ff:UISK uni:head ff:Papik
přesto to říká to samé – z toho plyne poučení, poslední
princip jako důsledek předchozích:
Nonunique naming assumption – stejné věci mohou mít
různá jména. Jak vyjádříme stejnost?
24. 04/29/09 24
Sémantický web – jdeme za RDF
Výše jsme narazili na problém stejnosti objektu
který je reprezentován dvěma různými jmény.
Kudy z toho ven?
25. 04/29/09 25
Sémantický web – jdeme za RDF
Z jiných obecných frameworků známe pojem
schematu, jazyk omezující možnosti toho, co se dá
říci
XML – obecný značkovací jazyk
XHTML – schematem omezený jazyk, převyprávění
HTML v XML
Podobně pro RDF existují schemata RDFS a OWL.
26. 04/29/09 26
Sémantický web – RDFS a OWL
Co je schema?
schema je formálně popsané omezení širšího
jazyka
omezení: v schematem vymezeném jazyce nemůžeme
již říct vše, co jsme mohli v širším jazyce
omezení: schema definuje sémantiku toho, co říkáme –
tato je pak sdílená (viz výše nonunique naming
assumption a AAA principle)
omezení: kombinace výroků pak dovoluje usuzovat
nové znalosti, které nebyly explicitně formulovány
27. 04/29/09 27
Sémantický web – RDFS a OWL
RDFS – schema přímo v názvu
OWL – Web Ontology Language
Oba jazyky na různé úrovni definují sdílený slovník
a jeho sémantiku.
slovník: seznam podstatných jmen a sloves k užití
sémantika: důsledky užití slov z tohoto slovníku
28. 04/29/09 28
Sémantický web – RDFS a OWL
Slovník RDFS a OWL – základní pojmy:
rdfs:Class – třída věcí. Z užití nic neplyne: používá
se pro snadnost orientace.
rdfs:Property – verb. Řekneme o něčem, že je to
sloveso.
29. 04/29/09 29
Sémantický web – RDFS a OWL
rdfs:subClassOf – řekneme, že něco je subtřída,
pak platí toto, předpoklady:
a:A rdf:type rdfs:Class.
b:B rdfs:subClassOf a:A
x:X rdf:type b:B
důsledek:
x:X rdf:type a:A.
Sémantika rdfs:subClassOf leží v onom vyvození.
ekvivalentně pro slovesa rdfs:subPropertyOf
30. 04/29/09 30
Sémantický web – RDFS a OWL
Jak sloučíme ona tvrzení uvedená výše?
ff:UISK uni:head ff:Papik
msmt:UK_FF_UISK msmt:director empl:Papik
Úkol: sloučit informace ze zdrojů obsahující tyto
trojice.
Návrh (AAA!):
ff:Papik rdf:type foaf:Person
empl:Papik rdf:type empl:Employee
empl:Employee rdfs:subClassOf foaf:Person
závěr: empl:Papik rdf:type foaf:Person! - kudy dál?
31. 04/29/09 31
Sémantický web – RDFS a OWL
RDFS umožňuje mluvit o třídách věcí a jejich
hierarchii a o vlastnostech věcí a jejich hierarchii
OWL jde mnohem dál: definuje řadu slov, jejichž
užití tvoří ontologii
Ontologie: formální reprezentace množiny
konceptů – jednoduše systém, který definuje co “je”
a co se o tom dá “říct”.
32. 04/29/09 32
Sémantický web – OWL a ontologie
Prostředky tvorby ontologií.
owl:Restriction – třída věcí, které mají nějaké
vlastnosti
příslušnost věci do třídy již není výsledkem prostého
konstatování, ale důsledkem toho, že věc má nějakou
vlasnost
uni:Faculty owl:equivalentClass [ a owl:Restriction;
owl:onProperty uni:head; owl:allValuesFrom uni:Dean ].
říkáme: fakulta je taková věc, jíž šéfuje děkan
33. 04/29/09 33
Sémantický web – OWL a ontologie
Prostředky tvorby ontologií.
vyjádření stejnosti: owl:equivalentClass,
owl:equivalentProperty, owl:sameAs
v našem příkladě můžeme říci: msmt:UK_FF_UISK
owl:sameAs ff:UISK. Lepší je ovšem toto usoudit z
vlastností tříd a členů těchto tříd než to explicitně
prohlásit.
vlastnosti vlastností: owl:TransitiveProperty (a<b,
b<c, pak a<c), owl:FunctionalProperty,
owl:SymmetricProperty apod.
34. 04/29/09 34
Sémantický web – OWL a ontologie
Kontradikce. Uzavření světa.
OWL umožňuje částečně uzavřít svět, například
tímto tvrzením:
uni:Department rdfs:subClassOf [ a owl:Restriction;
owl:onProperty uni:head; owl:maxCardinality 1 ]
katedra je podtřída věcí, které mají právě jednoho šéfa
potom můžeme z těchto tvrzení:
ff:UISK uni:head ff:Papik
ff:UISK uni:head ff:Richard_Papik
vydedukovat, že
ff:Papik owl:sameAs ff:Richard_Papik
35. 04/29/09 35
Sémantický web – OWL a ontologie
V předchozím příkladu jsme uzavřeli svět: již nikdo
nemůže přijít s novým šéfem UISKu. V případě že
se tak stane, musíme usoudit, že je to jen jiné
jméno pro toho samého.
FOAF definuje Person jako stejnou, jestliže má
stejný hash emailové adresy (identifikátor). Jestliže
ovšem z FOAF plyne, že
ff:Papik owl:differentFrom ff:Richard_Papik
pak jsme narazili na kontradikci. Model v ontologii není
splnitelný. Někdo musí některé tvrzení odstranit.
36. 04/29/09 36
Sémantický web – OWL a ontologie
Tvorba ontologií je komplexním procesem
identifikace, modelování světa a programování
Ontologie má být jednoduchá – příliš složitá
ontologie omezuje užití a vede ke kontradikcím
Ontologie má řešit svůj obor zájmů a nepouštět se
do přílišných obecností (my:MovableThing
rdfs:subClassOf
my:ThingRepresentedByShapedMass)
37. 04/29/09 37
Sémantický web – aplikace, užití
Existuje několik obecně známých ontologií:
FOAF – řeší lidi, identifikaci, kontakty, sociální sítě
SKOS – ontologie pro stavbu znalostních systémů
a sjednocování thesaurů (core:narrower,
core:related, core:Concept, skos:prefLabel apod.)
Dublin Core – sada ontologií pro popis publikací,
muzejních exponátů apod.
38. 04/29/09 38
Sémantický web – aplikace, užití
RDF trojice lze serializovat do obyčejného HTML:
RDFa (RDF in Attributes) – publikace, kontaktní
informace na webu lze udržovat ve FOAF a Dublin
Core: tyto informace budou strojově
zpracovávatelné
pomocí dalších ontologií (hCalendar) lze na webu
distribuovat události atd. atp.
39. 04/29/09 39
Sémantický web – aplikace, užití
Pokročilé aplikace
DBPedia – ontologie + data z Wikipedie převedená
do RDF trojic
němečtí spisovatelé narození mezi lety 1840 a 1860?
SPARQL dotaz. Porovnejte s klasickou Wikipedií.
NEPOMUK – social semantic desktop – sada
ontologií a API pro sémantické technologie na
desktopu. Někdy jsme přemýšleli o tom, proč si váš
počítač nepamatuje s jakým emailem vám jako
příloha přišel nějaký dokument?
40. 04/29/09 40
Sémantický web – alternativy kritika
K RDF existuje historická alternativa, tzv.
mikroformáty.
serializace do class atributů definovaných v HTML
omezené ontologie, nelze rozšiřovat
de facto ad hoc hack (sic) nad něčím, co bylo
určeno k jiným účelům (class atribut – CSS)
V komunitě sémantického webu zastánci RDF i
mikroformátů – svaté války
41. 04/29/09 41
Sémantický web – alternativy kritika
Projekt sémantického webu bývá osočován z
akademismu a odtrženosti od praxe
OWL má kořeny v Description Logic
technologie vycházejí z akademického prostředí a ne
korporátního
mnohé korporace mají vlastní zájmy – například google
investoval kvanta peněz do analýzy dat, sémantický
web by mu mohl narušovat byznys (skupina WhatWG
tvořící pod dohledem zaměstnance Google HTML5 do
něj odmítá začlenit prostředky pro možné užití RDFa)
42. 04/29/09 42
Sémantický web – alternativy kritika
Budoucnost Sémantického webu
více a více webů zařazuje do svých stránek
sémantické informace (serializované trojice –
whitehouse.gov užívá, bbc uvažuje, atd.)
záleží na postoji specifikátorů HTML
vznikají aplikace typu twine.com pro social
bookmarking postaveném na RDF a ontologiích –
doporučování na základě podobností a podobné
social web standardnosti
Nicméně budoucnost je nejistá, nástup je pomalý