24.07. 2010
Zveřejníme akademické projekty, samozřejmě sémanticky
Sémantický web, RDF a další příbuzné technologie nemusí být jen hračkou pro akademiky a nástrojem pro pokročilé analyzování informací. Vyvíjím webovou prezentaci pro Knowledge Engineering Group, uskupení výzkumníků při VŠE Praha, kteří se zajímají o znalostí inženýrství. Vsadil jsem na PHP jako framework, na RDF jako datový model a vidím v tom výhody. Aktuálně dokončuji seznam akademických projektů, na kterých se tato skupina podílí a proto následujícím tutoriálem předvedu, jak lehce lze s RDF pracovat využít jej jako interní datový model ve webové aplikaci. Chcete–li před čtením toto článku absolvovat lehký úvod do sémantických webových technologií, přečtěte si Parsování FOAF s PHP, překlad tutoriálu pro jeden z RDF frameworků, které je možné využít ve skriptovacím jazyce PHP. Pro náš aktuální příklad ale budeme pracovat s jiným — ARC2.
27.03. 2010
Ontologie AIISO Roles pro pozice lidí
Na KEGwebu máme seznam lidí, kteří ve skupině aktuálně působí. Chtěl jsem je roztřídit podle pracovního zařazení a – stejně jako vždy předtím – použít již hotovou a používanou ontologii namísto vytváření nové. Na posledním konferenčním hovoru jsme se shodli, že použijeme AIISO Roles, ale nepůjde to ukamžitě. Nemohl jsem včera uvěřit, že nejsou schopní za 2 roky opravit překlep v názvech vlastnosti z RDF Schema a ani nedoplní popisky s názvy rolí. Tak, místo, abych ji jen načetl do databáze a napsal UI k přiřazování rolí k lidem, sháním tvůrce, aby ji opravili… Zaujal mě ale samotný vocab.org, který je freewarovým úložištěm pro ontologie a provozuje jej Ian Davis.
16.02. 2010
Ontologie pro relace mezi lidmi aktualizována
V současnoti existují 3 různé ontologie pro popis osob, resp. kontaktů – FOAF, RDF/vCard a W3C kontakty. Všechny tři jsem stručně představil před pár dny, když byla aktualizována ontologie pro vCard. Nejvíce jsou používané právě první dvě jmenované, kdy někteří autoři jejich doménu – osoby vs. kontakty – volně zaměňují a jiní naoapak striktně odlišují. Pro spojení osoby/organizace s její vizitkou jsem navrhl přidat do FOAFu vlastnost foaf:businessCard, ale její design je zatím ve stádiu diskusí na projektové wiki a netuším, zdali a kdy se do specifikace dostane.
Dnes prodělala změnu ontologie, která dlouhou dobu rozšiřuje možnosti vyjádření vztahu mezi osobami. Zatímco FOAF nabízí pouze oboustranný vztah „někdo zná někoho“, ontologie Relationship nabízí nejen obdobnou obecnou vlastnost, která ale nabízí jednostranný vztah, ale i další přesnější typy vztahu. „Přítel někoho“, „zaměstnán někým“, ale třeba i „chtěl by ho poznat“, to vše se nachází v jejím pojmovém aparátu. Podle diskusí se ale ukázalo, že zatímco lidský popis vlastností byl správný, vlastní návrh ontologie obsahoval chyby.
Vlastnost rel:knowsOf byla původně vlastností odvozenou od foaf:know. Nyní je tomu naopak. Už jen proto, že foaf:knows implikoval oboustranný vztah. Dále některé vlastnosti definují vztah osob, kdy se fakticky znát nemusí, např. „chtěl by znát“, ale přitom tyto vlastnosti byly odvozené od vlastnosti, která vynucovala fakt, že se osoby již znají. Nyní je tedy design ontologie očištěn a můžeme jen doufat v její širší použití. Ian Davis udělal dobrou práci!
Alternativa ze světa mikroformátů
Kromě FOAF lze ale kombinovat nejen s ontologií Relationship, ale i s další, nazvanou XFN, která má svůj původ v mikroformátech. Na blogu jsem ji používal již před několika lety a dokonce jsem přeložil generátor takových metadat do češtiny. Nyní se dočkal i tento mikroformát své ontologie. Všechny z vlastností jsou odvozené od foaf:knows. Protože jsou však v XFN jako relace používány hypertextové odkazy mezi stránkami, slouží tyto stránky jako „proxy“ identifikující jednotlivé osoby. V tom je tato technologie trochu krkolomná a uvidíme, jestli najde nějaké širší uplatnění.
10.02. 2010
Sjednocení zápisu vCard v RDF
Formát vCard je asi většině známý. Slouží pro zápis osobních vizitek a výměnu kontaktů. Čte ho vše od Microsoft Outlook po AddressBook.app na Mac OS X. Chcete–li mít svou vizitku čitelnou pro aplikace sémantického webu, musíte mít k dispozici ontologii pro popis takových dat. Mapování vCard do RDF bylo definováno už před devíti roky. Poznánka W3C Representing vCard Objects in RDF/XML načrtla první koncept, jak by se daly tyto data transformovat do RDF trojic. Pět let na to, s využitím doporučení pro správnou tvorbu schémat a ontologií, byla navržena podmnožina z vCardu, která se snáze používá. Členský návrh W3C An Ontology for vCards shrnuje dostupné a doporučené elementy, stejně jako na ukázkách demonstruje, jak zapsat jednotlivé dílčí informace. Děvět let bez dvou dnů po zveřejnění prvně zmíněné poznámky vychází aktualizovaná verze, kdy Representing vCard Objects in RDF zohledňuje doporučení, které se vývoj a praxí se sémantickým vCard získaly. Součástí dokumentu je také ještě více příkladů a stručný souhrn obsahu ontologie.
vCard ale není jedinou ontologií pro popis osob, která existuje. Přímou alternativou pro popis kontaktů je také W3C ontologie pro kontakty vyvinutá v rámci projektu SWAP. Ta popisuje osoby také jako kontakty s e–maily, telefonními čísly, atd. Třetí a nejméně důležitou je ontologie FOAF. Ta je z těchto tří asi nejvíce populární na sémantickém Webu. Popisuje osoby, základní informace o nich a také vztahy mezi nimi. I když poskytuje pouze jediný vztah foaf:knows, stala se díky tomu populární, ba přímo must–have pro sociální aplikace na sémantickém Webu.
Chtete–li propojit vCard a FOAF, řešení existuje. Na projektu OpenVocab byla vytvořena vlastnost ov:businessCard, která dovoluje připojit k objektu vizitku – ať už k osobě, skupině nebo organizaci. Její definice je ale označná jako nestabilní. Nabízí se tedy možnost, aby se taková vlastnost zařadila přímo do FOAFu. Téma mixování vCardu a FOAFu jsem také trochu (nechtěně) nakousl na mailing–listu foaf-dev, kde se nakonec konsensus nenašel. Podle všeho ale foaf:Person (osoba) a vc:VCard (vizitka) nemůžou být to samé.
V současné době také vzniká přehled, co mají ontologie vCard, PIM a FOAF společného a jak je mapovat na sebe.
04.02. 2010
Skriptování webových aplikací s RDF a SPARQL
Znalosti 2010 — 9. ročník série česko–slovenské konference o získávání, zpracování, zpřístupňování a správy znalostí se letos koná v Jindřichově Hradci. Zatímco v roce 2008 v Bratislavě jsem prezentoval tehdejší práci na distribuovaném dotazování více databází pomocí Sesame 2, letos nabízím téma bližší programování dynamických webových stránek. Základem je velmi stručně představit, že lze programovat webové stránky pomocí RDF frameworku a dotazovacího jazyka SPARQL, který dotazuje informace v databázi. Pro prezentaci informací pak volím XHTML+RDFa. Přesně tak programuju KEGweb — komunitní stránky výzkumné skupiny na Katedře informačního a znalostního inženýrství VŠE Praha. Jádrem všeho je databáze a knihovna ARC2, se kterou se pracuje velmi dobře. Myslím, že bude stát za to představit, jak se s RDF/SPARQL dá programovat a jak s tímto „stackem“ psát webovou aplikaci. Prozatím přikládám mnou publikované materiály — konferenční poster Case Study on Linked Data and SPARQL Usage for Web Application Development ve spoluautorství s Aristem a Vojtou Svátkem ze skupiny KEG.
Ke stažení: text článku (PDF), plakát (PDF)
Vzkazy z konference najdete na Twitteru pod tagem #znalosti2010.
18.12. 2009
FOAF a jeho aktualizace 0.96 – první zásadní změny
Schéma FOAF a jeho specifikace byla po dva roky téměř beze změny. Téměř jedinou úpravnou bylo přidání vlastnosti foaf:openid pro přiřazení OpenID identifikátoru k agentovi (zejména osobě). 15. 12. 2009 byla zveřejněna aktualizace 0.96 Amsterdam Edition, která vyjma editorských úprav obsahuje také zásadnějí revize některých pojmů ve schématu. Některé z vlastností, které jsou málo používané nebo špatně specifikované, jsou označeny za archaické. U třech bylo z důvodu nedodržení jmenné konvence navrženo nové znění a současné taktéž označeno za zavržené. Navíc, jak uvedla Libby Miller v oznámení, další větší aktualizace bude brzy následovat.
16.12. 2008
JSON notace pro RDF
RDF, jako klíčová technologie sémantického Webu, umožňuje zápis informací a jejich výměnu. Data jsou zapisována jako trojice (předmět, predikát a objekt) a dohromady pak tvoří graf. Výhodou pak je, že existuje mnoho notací, jak graf zapsat. Nejznámější je určitě RDF/XML nebo třeba Notation 3. Mezi ty méně známé pak jistě patří RDF/JSON vytvářený skupinou Talis. Nabízí se srovnání se dvěma jmenovanými – „výřečností“ může konkurovat XML notaci, ba ji i předčit, ale někdy se může podpora v JSONu hodit. Krátká ukázka N3 a RDF/JSON pro porovnání:
<http://example.org/about>
<http://purl.org/dc/elements/1.1/title>
"About page" .
{
"http://example.org/about":
{
"http://purl.org/dc/elements/1.1/title":
[
{
"type": "literal",
"value": "About page"
}
]
}
}
I tuto notaci používá dříve zmiňovaný projekt OpenVocab pro management ontologií.
08.12. 2008
Projekt OpenVocab pro sémantický Web
Na informace o projektu OpenVocab jsem narazil nedávno a už představení jeho současných i plánovaných funkcí mne zaujalo. O co jde? Sémantický Web je založen zejména na strojově čitelných datech a jejich výměně. Ty musí být kódovaný použitím nějakého schématu (RDFS) či lépe ontologie (OWL). Existuje mnoho „standardů“ jako FOAF, DOAP, Dublin Core… V některých případech ale potřebujete vytvořit vlastní koncepty (třídy) či atributy. Pak máte na výběr buď vytvořit jejich popis v některé z notací RDF (obvykle RDF/XML), přemýšlet nad tvarem URIref jednotlivých konceptů a následně vše publikovat, a nebo je zde právě OpenVocab.
Ve zkratce se jedná o kolaborativní hosting a tvorbu pojmů z ontologií, kdy data lze tvořit, sdílet a upravovat v rámci otevřeného systému. Ten pak poskytuje unifikovaný tvar adres, koncepty jsou zpřístupněny jako Linked Data a také v rozličných formátech – RDF, XHTML, JSON, Turtle. Linked Data znamená, že každá URIref (URL adresa) označující termín vrací na požadavky hlavičku HTTP 303 See Other a přesměrování na jinou prezentační verzi s informacemi o tomto konceptu. A to podle preferencí agenta (obvykle RDF pro stroje a XHTML pro prohlížeče).
Technicky, data jsou uložena v RDF úložišti Talis Platform a jsou přístupná přes SPARQL. Zdrojové kódy a dokumentaci projektu najdete na Google Code. Projekt navazuje na původní vocab.org, který pouze poskytoval prostor a neměnnou doménu pro různé ontologie, ale posunuje celou ideu dál. Zajímalo by mne, jestli autor bude ontologie publikované na vocab.org migrovat do nového systému.
26.11. 2008
Sémantický Web - perspektivy, aplikace, technologie (překlad)
Máte–li zájem si přečíst pár zajímavých textů o sémantickém Webu v češtině, nabízím odkaz na tři články, které přeložil během posledních pár nocí Aristo. Originál vyšel v časopise IEEE Intelligent Systems (PDF, 705 kB). (Pozn. ještě tomu chybí korektury.)
18.11. 2008
Je libo demonstraci aplikací sémantického Webu?
Tento týden si Aristo a HoNem na katedrálním semináři připravili demonstraci některých již fungujících aplikací, které využívají technologie sémanticého Webu. Pro některé by to mohl snad být důkaz, že S.W. není jen hračkou pro vědce a teoretiky, ale dá se i prakticky někde uplatnit. Máte–li o téma zájem, určitě se stavte. Anotace přednášky:
Semantic Web Technologies Applied – Demonstrations and Discussion
Speakers: Jan Nemrava, KIZI, VŠE Praha and Jan Zemánek, KIZI VŠE Praha
We are going to showcase a couple of real world Semantic Web applications most of them presented during this year's Semantic Web Challenge [1] at ISWC in Karlsruhe [2]. Afterwards we will discuss in which areas the Semantic Web technologies brings us actual benefits over conventional technologies/approaches and which are those.
[1] http://challenge.semanticweb.org/
[2] http://iswc2008.semanticweb.org/