Hlavní navigace

Akta X: Sběr informací s GRDDL

Petr Cimprich

Současný web obsahuje ohromné množství informací, ale jejich automatické využití není vůbec snadné. Čtenář si je umí zařadit do správného kontextu, ale stroje zatím ne. Mikroformát GRDDL nabízí možnost převádět obrovské množství informací, které jsou již dnes na webu k dispozici, do RDF, a tím je zapojit do konceptu sémantického webu.

Specifikace GRDDL (Gleaning Resource Descriptions from Dialects of Languages), jejíž první pracovní verze byla zveřejněna koncem října, definuje mechanismus, jak z běžného dokumentu XHTML či XML získat významově jednoznačné informace v podobě použitelné pro sémantický web.

Současný web obsahuje ohromné množství informací, ale jejich automatické využití není vůbec snadné. Drtivá většina informací na webu je určena živému čtenáři, který si dokáže informace zařadit do správného kontextu. To zatím stroje neumí. Algoritmy vyhledávačů dnes dokáží posoudit kvalitu informace a její relevanci vzhledem k zadanému výrazu, ale o samotném významu si „nic nemyslí”. S tím si stále zatím musí poradit člověk. O automatické vyhodnocení významu se už dlouho snaží sémantický web s využitím jednoznačně definovaných entit a formátu RDF, avšak informace dostupné v tomto formátu jsou zatím jen kapkou ve webovém moři.

Formát GRDDL nabízí možnost jednoduchým způsobem k dokumentu XML připojit algoritmus, který informace obsažené v dokumentu převádí do RDF. Rozsahem GRDDL patří mezi mikroformáty. Typicky stačí do dokumentu XML přidat jediný atribut ze zvláštního jmenného prostoru s odkazem na transformační algoritmus. Ten pravděpodobně bude ve většině případů vyjádřen transformací XSLT, ale mohl by to být například také libovolný skript.

<root-element xmlns:grddl="http://www.w3.org/2003/g/data-view#"
  grddl:transformation="http://example.com/grddl/xslt/something2RDF.xsl">
  ...

V případě validního dokumentu XHTML, kde není možné přidávat vlastní atributy, lze použít alternativní způsob připojení transformace GRDDL.

<link rel="transformation"
  href="http://example.com/grddl/xslt/something2RDF.xsl" />

Pomocí GRDDL bude možné existující webový obsah v různých formátech jako XHTML, Atom nebo RSS využít pro potřeby sémantického webu. Výchozí informace může mít různou podobu, ale musí být dostatečně jasně vyjádřena. GRDDL může do RDF převést i nestrukturovanou informaci, například prostou větu, ale v takovém případě by bylo třeba ušít transformaci na míru jednomu konkrétnímu dokumentu a doplnit v této transformaci jednoznačnou identifikaci všech entit. Daleko běžnější asi v praxi bude příklad, kdy informace už bude strukturovaná a jednoznačná, pouze v jiném formátu než RDF. Příkladem může být tato hlavička dokumentu XHTML:

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Transforming XML</title>

    <meta name="keywords" content="XML, XSLT, XQuery" />
    ...

S využitím standardního popisu metadat Dublin Core můžeme tuto informaci přeformulovat do RDF:

<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="">

    <dc:title>Transforming XML</dc:title>
    <dc:subject>XML, XSLT, XQuery</dc:subject>
  </rdf:Description>
</rdf:RDF>

S tímto převodem si XSLT snadno poradí a dobře napsanou transformaci můžeme uplatnit na všechny validní dokumenty XHTML. Pokud bychom v našem dokumentu měli ještě informaci o autorovi, například v této podobě

<p><b>author:</b>Jan Novák</p>

nebo dokonce takto

<p>Jan Novák is the author of this document.</p>

převod do RDF by vyžadoval znalost obsahu konkrétního dokumentu, byl by málo spolehlivý a nepoužitelný pro další dokumenty XHTML. V tomto případě by se vyplatilo přidat informaci o autorovi do hlavičky:

<meta name="DC.Creator" content="Jan Novák" />

Pak by převod do RDF byl stejně snadný a obecný jako v předešlých případech.

<rdf:Description rdf:about="">
  <dc:creator>Jan Novák</dc:creator>

</rdf:Description>

Kromě XHTML se na webu vyskytuje ještě několik dalších jazyků XML, u nichž má smysl uvažovat o překladu do RDF, přinejmenším u metadat. Sem patří například Atom, RSS 2.0, DocBook, ODF či TEI. Smysl může mít i spojení GRDDL s jazyky W3C XML Schema a Relax NG. Pomocí GRDDL by se mohlo podařit začít využívat značné množství existujících informací nástroji určenými pro sémantický web, pro který by podstatné rozšíření datové základny mělo znamenat významný impulz pro další rozvoj.

Našli jste v článku chybu?