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í.

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.

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.