Přejít k navigační liště

Zdroják » Webdesign » Úvod do Sémantického Webu

Úvod do Sémantického Webu

Články Webdesign

Idea Sémantického Webu je stará už dost přes deset let, avšak je stále málo rozšířena, i když to vypadá, že se situace poslední dobou mění. Co tedy Sémantický Web je, z čeho se skládá a k čemu by mohl být užitečný? Co znamenají přesně výrazy jako RDF či SPARQL a jak spolu souvisí? Odpovědi naleznete v článku.

Ve světě, kde jsou informace na internetu publikovány technologiemi Sémantického Webu, nemusíte např. hledat pomocí různých vyhledávačů webové stránky svého zubaře, abyste zjistili otvírací dobu, ale váš inteligentní kalendář zjistí, u kterého zubaře jste registrováni, porovná otvírací dobu jeho ordinace s vaším rozvrhem času, zajistí ideální dopravní spojení, a předloží vám možné varianty. Tohle je samozřejmě velmi idealistická vize, avšak možná.

V dalším textu se úmyslně vyhýbám obecně užívanému výrazu „sémantický web“ a používám raději „Sémantický Web“ coby termín, který označuje využití RDF jako hlavního modelu reprezentace informací. – pozn.aut.

Sémantický Web je označení pro skupinu technologií, které umožňují informace na internetu formulovat tak, aby byly srozumitelné nejen pro lidí, ale i pro stroje, tedy hlavně software na nich běžící. U zrodu nestál nikdo jiný než Tim Berners-Lee a konsorcium W3C, které je dodnes hlavním tahounem vývoje v této oblasti. Sémantický Web není konkurencí současného webu, nýbrž jeho doplňkem, zlepšujícím využití potenciálu, který sítě typu internetu mají. HTML popisuje dokumenty a vztahy mezi nimi, účelem technologií Sémantického Webu je popis jakýchkoliv věcí (lidé, věci, služby, události, role…) a vztahů mezi nimi. Takováhle síť se nazývá Sémantický Web, Web of Data, Giant Global Graph, nebo i Web 3.0.

Základní technologie Sémantického Webu jsou: RDF, RDFS, OWL a SPARQL.

RDF, RDFS, SPARQL a další

RDF (Turtle verze) definuje model vyjadřování informací, které jsou formulovány trojicí „podmět přísudek objekt“, kde přísudek určuje vztah mezi podmětem a objektem. Identifikátory, neboli „slova“ tvořící tyto „věty“, jsou URI. Množina trojic tvoří RDF graf. RDF samotné je pouze model, který pro textovou reprezentaci má mnoho serializací – jako nejstarší RDF/XML, potom máme RDFa pro integraci RDF v HTML, dobře čitelnou Turtle, primitivní N-Triples, a další…

Abychom RDF mohli smysluplně využít, tak potřebujeme nějak přiřadit našim „slovům“ význam. Právě k tomu jsou ontologie, RDF slovníky, neboli RDF schémata, např. FOAF (specifikace), SIOC (specifikace), GoodRelations (specifikace)… Ty jsou definovány pomocí RDFS a složitější OWL, které samotné jsou ontologiemi.

SPARQL je jazyk, vycházející z SQL, určený k manipulaci (primárně dotazování) s RDF databázemi (tzv triplestore).

Mikroformáty jsou příbuzné technologiím Sémantického Webu a dají se z nich lehce extrahovat data do RDF pomocí GRDDL, avšak nejsou natolik flexibilní jako RDFa.

Linked data je název pro několika principů, které se snaží zajistit určitou úroveň užitečnosti informací (tvoří podmnožinu Sémantického Webu). Komunitní projekt Linking Open Data publikuje otevřené databáze jako Linked Data, jako nejlepší příklad je DBpedia obsahující data, extrahovaná z Wikipedie.

Linked Data
Ekosystém Linked Data – obrázek pochází z http://www4.wiwiss.fu-berlin.de/…9-03-05.html

Mezi některými oblastmi průmyslu jako například medicína a těžařství jsou tyto technologie rozšířené kvůli potřebě sdílení informací jasné definovanými termíny a automatické dedukce dalších informací.

Implicitní decentralizovanost technologií Sémantického Webu se používá k bourání zdi mezi sociálními sítěmi jako Facebook, Myspace etc., pomoci RDF dat používajících ontologii FOAF, kdy může každý server fungovat jako hosting FOAF profilů, tvořící jednu velkou, otevřenou, decentralizovanou sociální síť.

Protože ne všechny informace jsou určené pro širokou veřejnost, vznikl systém WebAccessControl, který využívá autentizační protokol FOAF+SSL. Tento protokol je rychlejší a jednodušší než OpenID, a ve většině případů i uživatelsky přívětivější (nepotřebujete si pamatovat jméno/id ani heslo, stačí jen mít svůj certifikát).

FOAF

Jak to vypadá v praxi?

Yahoo a Google využívají RDF data ke zlepšení výsledků vyhledávání. (Viz Yahoo embraces the semantic web, Google introducing rich snippets)

Existují projekty sémantického desktopu na linuxu ze stáje KDE (Nepomuk Social Semantic Desktop) i Gnome (Semantic Desktop).

Drupal 7 bude v RDF publikovat svá interní data.

Sémantický Web mezi lidmi nikdy širokého povědomí nedosáhne. Ani by neměl, protože se jedná o vnitřní reprezentaci informací. RDF vzniklo jako odpověď na poptávku po jednotném modelu pro výměnu informací v decentralizované heterogenní sítí systémů. Pokud vyvíjíte aplikaci a chcete umožnit, aby informace byly sdíleny a využívány jinými aplikacemi, publikujte tyto informace v RDF.

Historie a budoucnost

Vývoj Sémantického Webu má tři hlavní odvětví:

  1. Vývoj technologií
  2. Publikování informací pomocí těchto technologií
  3. Vývoj aplikaci a automatických agentů pracující s těmito informacemi

První fáze, kdy se vývoj soustředil především na první odvětví, pominula, teď je třeba rozvíjet druhé odvětví, protože bez něj je nemyslitelný rozkvět odvětví třetího, a přitom právě ono je naším cílem, protože přináší zjednodušení našeho každodenního života.

Pokud máte zájem o další články z této oblasti, například práci s RDF a FOAF prakticky, vyjádřete se v diskusi.

Komentáře

Subscribe
Upozornit na
guest
45 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Jakub Galgonek

Nejsem si jist, nakolik již první fáze pominula. Například co se týče dotazovacích jazyků, tak mám dojem, že situace ještě není zcela ideální. Například zmiňovaný SPARQL snad patří mezi ty nejhloupější dotazovací jazyky, které lze na Sémantickém Webu použít.

Mezi jeho nevýhody jistě patří:
* Není uzavřený (výstup jednoho dotazu nelze použít jako vstup dalšího).
* Pracuje vnitřně v podstatě s tabulkami, místo s RDF daty.
* Je velmi slabý, není schopen z dat vytáhnout ani kolekci (a to je její struktura definována už při RDFS).
* Jeho schopnost nové trojce vytvářet je také velmi špatná (hlavně co se týče blank nodes).

Radek

Prosím prosím, prozraďte aspoň jména nějakých lepších jazyků. Nejlépe již v něčem implementovaných, aby se s tím dalo hrát.

Jiří Kosek

Vzhledem k tomu kolik a jakých dat dnes v RDF je mi pořád přijde praktičtější mít data v nějakém pěkném XML formátu pro to, co potřebujete, a dotazy psát v XQuery nebo XSLT 2.0.

Ale časem se třeba ujme něco lepšího, třeba XSPARQL http://xsparql.deri.org/…e-cases.html

Jakub Galgonek

Už jsem to nějaký ten pátek neviděl, ale:

Sesame používá jazyk SeRQL, opět ideově vychází z SQL (což je dle mého špatně), ale obsahuje už například vnořování dotazů (byť bych si ho netroufl označit za uzavřený).

Jena používá SPARQL, ale mají i nějaká rozšíření. Třeba si hráli s Property Paths, což vám v podstatě umožní popsat cestu grafem pomocí regulárního výrazu. Pak už není problém vytáhnout z dat třeba tu kolekci.

Pěkný je jazyk TRIPLE, jenž je založený na Hornově logice a moc pěkně se v něm popisuje třeba vyvozování.

Těm, kterým se líbí Lisp, by se mohl líbit jazyk Versa. Mně osobně přišel hodně ulítlý.

Celkem těžkotonážní je jazyk Xcerpt, který ale není určen přímo na RDF.

Já sám jsem si kdysi hrál s jazykem Tequila, který používal pojmenované vzory, což umožnilo relativně snadno popsat data s rekurzivní strukturou (což je třeba ta již zmiňovaná kolekce). Ale k němu se asi jen tak nedostanete.

Jezovec

Pokud by vás zajímalo trochu té archeologie za účelem porozumění dnešku, tak je tu třeba dotazovací jazyk v RDF-Core

RDF-Core dodnes používá jedna platforma co pracuje s mobilními telefony (UAProf je v RDF) a pokud si dobře pamatuji z mailového listu, tak s tím někdo dělal něco v NASA… taky je to zahrnuto v „Practical RDF“ od O’Reillyho.

Jakub Galgonek

Kdo probůh tvrdí, že SPARQL je zatím to nejlepší, co je? Kterým lidem vyhovuje dotazovací jazyk, kterým se ani nemůžou zaptat na tak jednoduchou strukturu, jako je ta již zmíněná kolekce, což je přeci pouhý seznam.

Franta

Mam dojem, ze na to koukate moc akademicky. Jedna vec je, koukat na to z pohledu matematika a druha vec z pohledu praktickeho uziti. SPARQL, ac neni idealni, je v soucasnosti uzivan k vseobecne spokojenosti. Neni zkratka pravda, ze to, co je nejmocnejsi, nejuplnejsi, nejortogalneni navrzene je vzdy nejlepsi pro normalni uziti.

Jakub Galgonek

Každý z nás si asi představuje praktické užití jinak. Prostě jazyk, který mi neumožňuje najít všechny instance dané třídy (podle RDFS), zjistit si všechny vlastnosti dané třídy, zacházet se seznamy, rozumně vytvářet nové RDF grafy, mi nepříjde kdoví jak praktický a vhodný pro normální použití.

Franta

Nevim, jestli mi rozumite. Ja omezeni SPARQLu chapu. Moje otazka zni: u kolika praktickych aplikaci (rekneme napr. webu s navstevnosti aspon 1000 UIP) vam tato omezeni vadila?

Jakub Galgonek

Jen aby to nebyl důsledek nějakého začarovaného kruhu. Neboť je jazyk SPARQL velmi omezený, používají se jen jednoduché aplikace. A protože na tyto jednoduché aplikace SPARQL stačí, není důvod vymýšlet nic silnějšího.

Ale abych se přiznal, já to nikdy moc prakticky nepoužíval.

F123

Muzete prosim rozvest tyto body, idealne doplnit konkretni priklad, ktery sparql nezvladne? Pripadne bych byl vdecny za nejaky clanek s kritikou sparql. Me vadi nejvic ze neumi tranzitivni uzaver. Zlatej Lorel.

„* Pracuje vnitřně v podstatě s tabulkami, místo s RDF daty
* Je velmi slabý, není schopen z dat vytáhnout ani kolekci (a to je její struktura definována už při RDFS).
* Jeho schopnost nové trojce vytvářet je také velmi špatná (hlavně co se týče blank nodes).“

btw jak tady nekdo psal o utapeni penez, tak to docela sedi, NEPOMUK platila EU a stal 11.5 milionu euro

Jakub Galgonek

Původně jsem myslel, že se rozepíšu, ale nakonec jsem se rozhodl hodit tu jen link: http://siret.ms.mff.cuni.cz/…s/thesis.pdf

F123

Diky, diplomka by mela stacit ;)

OT: nemate na matfyzu prochazeni diplomek jako je na cvut (https://dip.felk.cvut.cz/)? clovek by tam urcite nasel cas od casu neco zajimavyho

Jakub Galgonek

Diplomky jdou najít přes katalog knihovny (http://ckis.cuni.cz), ale s jejich elektronickou podobou to bude horší.

campula

Asi jsem po ránu nějaký pomalejší. Co je to sémantický ani Sémantický web jsem netušil před přečtením článku a netuším ani po přečtení.

Jiří Kosek

<přísně-tajné>
Sémantický web je způsob, jak pomocí grantů platit obrovské masy akademických výzkumníků a zabránit tak válce a sociálním nepokojům. Aneb, kdo dělá sémantický web, ten nezlobí ;-)
</přísně-tajné>

jehovista

Jeste jsem to nikdy neslysel rict takhle na plnou hubu :)

mm

ja jsem asi taky pomalejsi i v poledne. Stejny dojem. Sucha teorie neceho, dalsi uzasny jazyk, dalsi tuna „standartu“…
Proc proboha nestaci XML, XSL, XPATH pro takoveto srandy?

Jakub Galgonek

Pro některá data se prostě více hodí popis pomocí (obecně nesouvislého) orientovaného grafu s pojmenovanými hranami (tj. RDF), než pomocí stromu (tedy souvislého graf bez cyklu) bez pojmenovaných hran (tj. XML).

Jiří Kosek

XML samo o sobě je sice strom, ale můžete do něj serializovat jakoukoliv datovou strukturu, konec konců primární serializace RDF je také XML.

Rozdíl je nekdě jinde. Jediná výhoda sémantického webu je v tom, že teoreticky lze spojovat data z různých zdrojů a najít tak zajímavé souvislosti a odvodit nová data. Aby tohle fungovalo je potřeba používat pro jednotlivé objekty stejné identifikátory, jinak spojení dat z různých zdrojů nebude fungovat. Myšlenka semwebu je pěkná, ale naráží na relativní nedostatek dosud publikovaných dat a problém s vytvořením jednotných identifikátorů.

Pak má RDF a semweb spoustu technických problémů, dneska by se to navrhlo asi jinak, ale už není síla to předělat. Ale ty technické problémy lze vždy nějak obejít.

Jakub Galgonek

Ovšem, že je možné RDF serializovat do XML. Stejně jako není žádný problém uložit RDF do relační databáze.

Jediné, co jsem svým předchozím příspěvkem chtěl říci, bylo to, že jiná reprezentace prostě přináší své výhody (asi bylo chybou, že jsem je explicitně nezmínil). Třeba ono spojování dat z různých zdrojů a vyjádření dat jako obecně nesouvislý graf spolu jistě hodně souvisí.

Jiří Kosek

Jinak proč nestačí holé XML se dočtete na straně 5 a dál následujícího PDFka http://www.europen.cz/…3/HLAVNI.pdf

campula

Děkuji za link. Díky tomu jsem pochopil, o čem ten článek vlastně je.

Jakub Galgonek

Hned první věta z RDF Primer říká: „The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web.“ Takže RDF mimochodem jazyk je ;-)

Me

Není to ani jazyk, ani systém, ale framework ;P

Jakub Galgonek

Koukněte se do té specifikace, když už jsem ji tu citoval …

Radek Burget

Oceňuji snahu trochu popularizovat sémantický web, ale navrhoval bych začít trochu méně zhurta. Praktickému čtenáři v tom článku asi chybí zejména:
* k čemu je to vůbec dobré, co to prakticky přináší oproti existujícím (a zavedenějším) technologiím
* má to v názvu web – jak to souvisí s existujícím webem
* co je to vůbec ta ontologie, o které se tam pořád píše a k čemu je dobrá
Tím by mohla vzniknout rozumná protiváha ke skeptickým reakcím pod článkem a pak by byli čtenáři snad ochotnější prokousávat se všemi těmi zkratkami.

Daniela B.

Suhlasim.
Clanok na mna posobi len ako zoznam odkazov. Ked som si precitala nadpis, tesila som sa na zaujimavy clanok, ale obsah ma sklamal.
Rozhodne by som brala aj nejaky mierne obsirnejsi serial o Semantickom Webe.

Pavel Ptáček

Osobně se přimlouvám za další články na toto téma, teoreticky by možná šlo vše implementovat do existujících CMS – link, který jste uvedl z google vypadá zajímavě.

Ekkys

Určitě bych byl také pro nějaké podrobnější rozebrání tématu. Takže prosím o další užitečné články o Sémantickém Webu :)

paranoiq

k čemu je to vůbec dobré a velmi velmi lehký úvod: http://www.ted.com/…ext_web.html

Inkvizitor

Podle mě sémantický web smysl i budoucnost má, o sémantickém webu (který byl pochopitelně zmíněn jenom okrajově) nemluvě. Nedávno jsem plánoval napsat něco malého na svůj blog na Rootu, ale vzhledem k tomu, že vyšel tento článek (a například na konferenci WebExpo byla hezká přednáška od Josefa Holého (http://webexpo.cz/…anticky-web/), už to nemá moc smysl. Sémantický web podle mě krásně vyplňuje mezeru mezi (dnes poněkud zastaralým a těžkopádným) systémem katalogů typu http://dmoz.org a nepříliš spolehlivým přístupem přes vyhledávače (podobně jako některé kvalitní účty na Twitteru a podobné záležitosti).

Používám například systém Google Alerts a jeho výsledky nejsou moc okozlující. Pokud se člověk zajímá o programovací jazyky (Haskell, Scala apod.), alerty přinášejí pár novinek k věci a spoustu balastu, protože člověk musí vytvořit buďto husté síto specifických alertů nebo pár obecných, které ale nedokáží poznat, co si pod daným slovem člověk představuje (homonyma). Alerty typu „haskell language“ ani „haskell programming“ prostě nefungují, jak by měly.

Tragédii představují textové reklamní systémy a „moderní design“, který kolem článku k věci nasekají tři lišty, které odkazují na informace z jiných článků, takže pokud se zajímá někdo například o řešení určitého problému v Linuxu, najde často článek o řešení ve Windows a vpravo na liště je odkaz na článek o nové distribuci Linuxu.

Pokud by se sémantický web ujal, byla by to veliká pomoc. J. Kosek na WebExpu zmínil problém relevance a spamu v sémantickém webu. To by ale vcelku snadno vyřešil nějaký komunitní certifikační program.

Pokračování bych uvítal (FOAF, RDFa, projekty typu Linked Data Cloud), stejně jako nějaký kvalitní článek o sémantickém desktopu (třeba na Rootu). Tolik k autorově výzvě.

Inkvizitor

V prvním odstavci mělo být „o sémantickém desktopu…nemluvě“.

Reypall

Semantic Web se česky píše, když už, Sémantický web, nebo ponechat anglický název jako u Linked Data, které se anglicky v češtině naopak nepíše Linked data, jde-li o technologii. Pěkný článeček.

Trm

ktere je v soucastnosti zneuzivano bandama lamplu, kteri zdimaji narodni a nadnarodni grantove agentury s tim, ze budou vytvaret ,,inteligentni web“, ale vsechno je to jen humbug. Nikdo z nich nedela nic rozumneho ani nic, co by melo nejakou pridanou hodnotu. Pouze aplikuji veci zname z 80. let a skutek utek.

Tvrdá pěst akademické třídy

Heh, zrovna sem běžím že napíšu to samé, pan Trm uvažuje podobně jako já.
Sémantický web je módní bulšit vhodný akorát pro ždímání grantů a výrobu publikací v „plzeňské“ kvalitě pod pláštíkem slibů o uspořádání všech dat na světě.

Chlapi, vy co v tom sémantickým webu děláte, přiznejte se: fakt tomu sémantickýmu webu věříte, anebo dobře víte k čemu to je a akorát přes to jedete granty a publikace?

Tvrdá pěst akademické třídy

Líbí se mi že banda kolem sémantickýho webu definuje pořád nový a nový popisy pro něco co je jenom graf. Když popis vymyslej tak pro to vymejšlej přiblblý dotazovací jazyky s XML syntaxí který ten graf nějak procházej.
(Obojí jsou to tisíckrát vyřešený problémy, ale v XML RDF blablabla je to holt super novej objev).
Ani se nedivím, za evropský milióny bych vymejšlel novou syntaxi každej den. Pak bych to vydal jako normu která se nedá implementovat (teď narážím na další k-hounu-dobrej-módní-shit jménem XQuery) a podal další grant na vylepšení původního návrhu.

Jakub Galgonek

Skoro to vypadá, jako byste věřil, že vše dobré, co mohlo být v oblasti uspořádávání dat vymyšleno, už vymyšleno bylo ;-)

Tvrdá pěst akademické třídy

To si nemyslím.
Nové postupy a algoritmy pro uspořádání dat ale přinese jedině výzkum základních principů a algoritmů. Vymýšlení nových třípísmených zkratek a XML diarrhea k tomu asi moc nepřispěje.

Jakub Galgonek

Řekl bych, že nemálo lidí kolem sémantického webu se věnuje výzkumu základních principů. Jenže od nich je do praxe vždy trochu delší cesta, tak se to tak nemusí zdát.

Jinak mně přišlo RDF jako celkem nový přístup. Dále bych rád řekl, že RDF rozhodně nestojí na XML.

Jitka Nekvindová

Já bych brala konkrétní příklady sémantizování, to by bylo fajn. Takto je to moc abstraktní.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.