Ontológie v prostredí sémantického webu
RDF Schéma a jazyk OWL

Bc. Michal Biščo

Slovenská technická univerzita, Fakulta informatiky a informačných technológií
Ilkovičova 3, 831 02 Bratislava, Slovenská republika
mb99061 at decef.elf.stuba.sk

Spracované podľa:

  1. Manola, F., Miller, E., McBride, B.: RDF Primer
    http://www.w3.org/TR/rdf-primer/
  2. World Wide Web Consortium: Web Ontology Language (OWL)
    http://www.w3.org/2004/OWL/

Abstrakt:
Resource Description Framework (RDF) je jazyk na reprezentáciu informácií o zdrojoch v prostredí World Wide Web. Tento článok je zameraný na to, aby čitateľovi poskytol prehľad možností jazyka a základné znalosti potrebné na jeho efektívne použitie. Predstavuje základné koncepty RDF a opisuje jeho XML syntax. Druhá polovica článku je venovaná jazyku pre tvorbu webových ontológií – OWL. OWL je určené pre aplikácie, ktoré sa okrem prezentácie informácií používateľovi zameriavajú aj na ich spracovanie. OWL disponuje silnejšími prostriedkami v oblasti reprezentácie údajov a ich spracovania oproti XML, RDF a RDFS – využíva dodatočné slovníky a formálnu sémantiku. Tento dokument je určený pre čitateľov, ktorý majú záujem získať prehľad možností tohto jazyka. Poskytuje úvod do OWL prostredníctvom opisu jeho základných čŕt.

Abstract:
The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web. This article is designed to provide the reader with the basic knowledge required to use RDF effectively. It introduces the basic concepts of RDF and describes its XML syntax. The second half of the article is dedicated to the OWL – a web ontology language. OWL is designed for use by applications that need to process the content of information instead of just presenting information to humans. OWL facilitates greater machine interpretability of Web content than that supported by XML, RDF, and RDF Schema (RDF-S) by providing additional vocabulary along with a formal semantics. This document is written for readers who want a first impression of the capabilities of OWL. It provides an introduction to OWL by informally describing its basic features.

Obsah

1 Úvod

V poslednom čase narastá záujem informatickej verejnosti o výskum a vývoj v oblasti sémantického webu – webu ďalšej generácie. Zatiaľ čo väčšina foriem súčasného webového obsahu je učená na prezentáciu ľuďom, a strojovo je len ťažko spracovateľná, obsah sémantického webu by mal byť štruktúrovaný takým spôsobom, ktorý by zostal jednoducho čitateľný pre ľudí a zároveň by ho bolo možné spracúvať počítačmi (či už prostredníctvom prenosných zariadení, špecializovaných aplikácií alebo softvérovými agentmi). Medzi problémy, s ktorými sa potýka a nevie riešiť web v súčasnej podobe patrí:

Efektívnym riešením spomínaných ťažkostí by mal byť práve spomínaný sémantický web. Slovo „sémantický“ je v danom spojení použité v zmysle „spracovateľný strojom“ – nemá súvis so sémantikou prirodzeného jazyka. Cieľom sémantického webu je zmeniť aktuálny stav a obohatiť publikované informácie a dokumenty o význam, ktorému by boli spracovateľné počítačmi, resp. sotfvérovými aplikáciami. Technológie RDF a OWL ponúkajú možnosti ako tento cieľ dosiahnuť - a to ako z pohľadu reprezentácie informácií, tak aj z pohľadu ich spracovania. Tento dokument poskytuje prehľad čŕt oboch spomenutých jazykov.

2 Čo sú to ontológie

Ontológia je ucelená množina informácií o určitej oblasti činnosti, resp. záujmu. Bežné typy ontológií používaných v prostredí webu obsahujú určitú taxonómiu a množinu odvodzovacích pravidiel. Pomocou odvodzovacích pravidiel je možné zo známych faktov odvodiť nové skutočnosti (ide v podstate o produkčný systém). Ontológie zohrávajú dôležitú úlohu v mnohých oblastiach a aplikáciách, ako napríklad agentové systémy, znalostné systémy a e-commerce platformy. Prostredníctvom ontológií je možné vytvárať spojenia v prirodzenom jazyku, vykonávať inteligentnú analýzu údajov a ich sprístupňovanie, a sprostredkovať výhody webu obohateného o sémantiku.

3 Sémantický web a ontológie

S nástupom sémantického webu sa ponúka množstvo nových aplikácií založených na ontológiách. V posledných rokoch vzniklo niekoľko ontologických jazykov (ontology languages), ktoré si určite nájdu uplatnenie aj v prostredí sémantického webu. Niektoré z týchto jazykov sú postavené na XML, ako napr. Ontology Exchange Language (XOL), SHOE (ktoré bolo donedávna založené na HTML) a Ontology Markup Language (OML). Jazyky RDF a RDF Schema boli vyvinuté konzorciom W3C. Posledné dva jazyky, ktoré sú budované na základe RDF(S) , sú Ontology Interference Layer (OIL) a DARPA Agent Markup Language (DAML). Doplnením jazyka DAML o niektoré konštrukcie jazyka OIL vznikol jazyk DAML+OIL, z ktorého sa neskôr vyvinul jazyk OWL (Ontology Web Language). Vzájomné postavenie jazykov je znázornené na obr. 3.1.

Vzájomná pozícia ontologických jazykov

Obr. 3.1: Vzájomná pozícia ontologických jazykov

Pozornosť bude ďalej venovaná jazykom OIL a DAML a najmä OWL, pretože sa javia ako najperspektívnejšie pre použitie v prostredí sémantického webu. Jazyk OIL, vyvíjaný v rámci projektu OntoKnowledge, zabezpečuje sémantickú interoperabilitu medzi webovými zdrojmi. Predstavuje prostriedok opisujúci reprezentáciu ontológií určenú pre web a poskytujúci odvodzovacie nástroje. Je kompatibilný s RDFS a zahŕňa presnú sémantiku určenú na opis významu výrazov. OIL je zložený zo štyroch vrstiev:

Vznik jazyka DAML bol motivovaný potrebou vytvárať sofistikovanejšie definície tried než poskytovala RDFS. Na rozdiel od OIL, ktorý bol vyvíjaný pod záštitou Európskej únie, DAML vznikal za podpory vlády Spojených štátov amerických. Úsilie skupín DAML a OIL sa neskôr spojilo a výsledkom bol jazyk DAML+OIL.

3.1 Resource Description Framework (RDF)

RDF je jazyk, pomocou ktorého je možné publikovať informácie o rôznych zdrojoch v prostredí World Wide Web. Je určený najmä na poskytovanie metainformácií (napr. titul, autor a dátum modifikácie webstránky, informácie týkajúce sa licenčných podmienok a autorstva webových dokumentov, ap.) o webových zdrojoch. RDF je ale použiteľné aj na poskytovanie informácií o objektoch, ktoré sú na webe nejakým spôsobom identifikovateľné, ale nie sú prostredníctvom webu priamo prístupné (napr. parametre, cena a dostupnosť tovaru).

Informácie o zdroji sú vyjadrené trojicou subjekt – predikát – objekt. V RDF sú tieto trojice známe ako výroky (tvrdenia). Vezmime si ako príklad tvrdenie:

Autor stránok http://www.nieco.sk/ je Michal Biščo.

Dôležité časti tohto tvrdenia sú zvýraznené – ide o tom, že aby sme boli schopní vysloviť nejaké tvrdenie, je potrebné mať k dispozícii prostriedok identifikácie určitých vecí (entít, objektov). V tomto tvrdení je možné identifikovať objekt, ktorý dané tvrdenie opisuje (v tomto prípade web stránka), vlastnosť objektu (v tomto prípade autorstvo) a hodnotu vlastnosti (v tomto prípade autor). Stránky sú v tomto prípade identifikované prostredníctvom URL, vlastnosť slovom „autor“ a samotná osoba, ktorá je autorom, menom „Michal Biščo“.

V ponímaní tohto tvrdenia v RDF je subjekt naviazaný na http://www.nieco.sk/, predikát predstavuje slovo „autor“ a objekt je naviazaný na meno „Michal Biščo“. Prirodzený jazyk je síce vhodný na komunikáciu medzi ľuďmi, ale nie je vhodný na spracovanie počítačmi. RDF sa zaoberá práve prepisom tvrdení v prirodzenom jazyku do formy spracovateľnej počítačmi. Aby bolo možné horeuvedené tvrdenie pretransformovať do takejto formy je potrebné zaviesť:

  • systém jednoznačných identifikátorov pre subjekt, predikát a objekt, ktoré by bolo možné spracovávať automatizovane
  • strojovo-spracovateľný jazyk vhodný na zápis tvrdení a vzájomnú výmenu medzi počítačmi

Prvý problém rieši koncepcia zavedenia URI (podobne ako je použité URL na identifikáciu webového zdroja http://www.nieco.sk/), druhý problém je predmetom koncepcie RDF.

RDF identifikuje jednotlivé objekty na webe pomocou URI a prisudzuje im jednoduché vlastnosti a ich zodpovedajúce hodnoty. RDF je založené na syntaxi XML (nazýva sa RDF/XML).

Dokumenty, resp. ostatné identifikovateľné objekty na webe sú v RDF terminológii označované ako zdroje. Za zdroj je možné považovať všetko identifikovateľné na webe, pričom sa môže jednať napr. o špecifické časti určitého dokumentu, ale aj osoby alebo firmy. Samotné RDF neobsahuje vopred definované slovníky určené na definovanie metaúdajov.

3.2 RDF Model

Tvrdenia je možné reprezentovať pomocou syntakticky nezávislého RDF údajového modelu. Model obsahuje tvrdenia o zdroji, ktoré sú vyjadrené trojicou subjekt – predikát – objekt (alebo subjekt – atribút – hodnota). Opis môže byť naviazaný len na jediný objekt (napr. katalógová karta v knižnici) – v tomto prípade sa hodnoty atribútu zdroja nazývajú vlastnosti. Opisy sa tiež môžu týkať viacerých zdrojov – hodnoty vlastností sa môžu odkazovať na ďalšie zdroje. Takto je možné popísať ľubovoľné vzťahy medzi viacerými zdrojmi.

Ľubovoľná skupina trojíc sa nazýva RDF graf. Trojicu je možné zobraziť (Obr. 3.2) ako dva uzly (zdroj, hodnota vlastnosti) prepojené pomenovanou orientovanou hranou (vlastnosť).

Štruktúra RDF tvrdenia

Obr. 3.2: Štruktúra RDF tvrdenia

Základný RDF údajový model teda pozostáva z troch základných objektov:

  • Zdroj predstavuje ľubovoľnú entitu či už prístupnú online alebo nie (napr. web stránka, elektronický dokument, osoba, predmet...), podmienkou je, že musí byť jednoznačne identifikovateľná prostredníctvom URI. Zdroj v tomto prípade predstavuje subjekt RDF tvrdenia.
  • Vlastnosť reprezentuje špecifickú charakteristiku, vlastnosť, črtu, atribút alebo vzťah spojený so zdrojom.
  • Hodnota danej vlastnosti daného zdroja. Hodnota predstavuje objekt tvrdenia.

Keby sme tvrdenie

Stránky http://www.nieco.sk/ majú autora s menom Michal Biščo.

prepísali do RDF reprezentácie s využitím URI, spomenuté objekty by sa naviazali nasledujúcim spôsobom:

  • zdroj by sa dal zapísať ako http://www.nieco.sk/
  • vlastnosť (autor) by sa dala zapísať ako http://purl.org/dc/elements/1.1/creator
  • hodnota by sa dala zapísať ako http://www.nieco.sk/osoby/99061

Reprezentácia uvedeného tvrdenia grafom by mala nasledujúcu podobu (Obr. 3.3):

Jednoduché RDF tvrdenie

Obr. 3.3: Jednoduché RDF tvrdenie

Skupiny tvrdení sú reprezentované príslušnými skupinami uzlov a hrán. V prípade, že by sme o danom zdroji chceli vysloviť aj nasledujúce tvrdenia,

Viac tvrdení o tom istom zdroji

Obr. 3.4: Viac tvrdení o tom istom zdroji

na grafe by sa to prejavilo pridaním nových uzlov a hrán (Obr. 3.4). Na identifikáciu vlastností „dátum vytvorenia“ a „jazyk“ boli použité zodpovedajúce URI.

Na identifikáciu jazyka bol použitý štandardizovaný dvojpísmenový literál „sk“, ktorý predstavuje slovenčinu (podľa RFC3066).

Poznámka k notácii:
V grafoch sú uzly identifikované pomocou URI zobrazené ako elipsy. Uzly reprezentujúce literály sú zobrazené ako štvorce. Literály nesmú v RDF tvrdeniach vystupovať v pozícii subjektu alebo predikátu.

Niekedy nie je vhodné zapisovať tvrdenia vo forme grafu. Existuje alternatíva ich zápisu pomocou trojíc (triples). V tejto notácii je každé tvrdenie zapísané ako jednoduchá trojica subjektu, predikátu a objektu (v tomto poradí). Napríklad tvrdenia zobrazené na Obr. 3.4 je možné zapísať ako trojice (ukončené bodkou) nasledovne:

<http://www.nieco.sk/> <http://purl.org/dc/elements/1.1/creator> <http://www.nieco.sk/osoby/99061>.
<http://www.nieco.sk/> <http://purl.org/dc/elements/1.1/date> “2004-05-17”.
<http://www.nieco.sk/> <http://purl.org/dc/elements/1.1/language> “en”.

Každá trojica predstavuje jednu hranu v grafe spolu s jej koncovými uzlami. Notácia trojíc (triple notation) však predstavuje spôsob, ktorý je pomerne náročný na priestor na stránke. V RDF existuje spôsob zápisu trojíc s využitím skratiek – XML qualified name (QName). QName obsahuje sa skladá z prefixu, ktorý je pridelený určitému URI menného priestoru (namespace URI), dvojbodky a lokálneho názvu.

Napríklad, ak QName prefix s názvom foo je pridelený k URI menného priestoru http://example.org/somewhere/, potom QName v tvare foo:bar zodpovedá (je skratka pre) URI http://example.org/somewhere/bar.

Existuje viacero štandardných a známych (well-known) QName prefixov, ktoré sú definované týmto spôsobom:

Prefix Zodpovedajúce URI priestoru mien
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs: http://www.w3.org/2000/01/rdf-schema#
dc: http://purl.org/dc/elements/1.1/
owl: http://www.w3.org/2002/07/owl#
xsd: http://www.w3.org/2001/XMLSchema#

V prípade, že by sme definovali nové prefixy nasledujúcim spôsobom

  • nc: by zodpovedalo http://ww.nieco.sk/
  • osoby: by zodpovedalo http://www.nieco.sk/osoby/

bolo by možné zapísať predošlú množinu trojíc takto:

nc: dc:creator osoby:99061 .
nc: dc:date “2004-05-17” .
nc: dc:language “en” .

Keďže RDF používa namiesto mien objektov ich URI, v ponímaní RDF sa množina URI referencií (najmä určená špecifický účel) nazýva slovník. URI referencie sú v daných slovníkoch organizované a môžu byť reprezentované ako množina QName entít so spoločným prefixom (napr. dc:). URI referencie v danom slovníku vzniknú pripojením lokálneho názvu k prefixu (napr. dc:language). Príkladom slovníka je Dublin Core s prefixom dc: a URI http://purl.org/dc/elements/1.1/ – bližšie je informácie je možné nájsť na stránke Dublin Core Metadata Initiative. Jednotlivé URI z rôznych slovníkov je možné voľne kombinovať.

V prípade prvého tvrdenia sme s výhodou použili jeho identifikáciu pomocou URI (konkrétne osoby:99061) namiesto toho, aby sme použili reťazec „Michal Biščo“. Výhodou tohto prístupu je precíznejšie identifikácia. Čiže autorom nie je reťazec „Michal Biščo“ ani nikto iný s daným menom, ale konkrétny Michal Biščo asociovaný s daným URI. Táto URI referencia predstavuje plnohodnotný zdroj, o ktorom je možné zaznamenať dodatočné informácie, napr. meno a vek (Obr. 3.5).

Dodatočné informácie o autorovi

Obr. 3.5: Dodatočné informácie o autorovi

RDF/XML serializácia tvrdení zobrazených na Obr. 3.5 by mala nasledovnú podobu:

<?xml version="1.0"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:osudaje="http://www.nieco.sk/osudaje/"
 <rdf:Description rdf:about="http://www.nieco.sk/osoby/99061">
  <osudaje:meno>Michal Biščo</osudaje:meno>
  <osudaje:vek>22</osudaje:vek>
 </rdf:Description>
 <rdf:Description rdf:about="http://www.nieco.sk/">
  <dc:creator>http://www.nieco.sk/osoby/99061</dc:creator>
 </rdf:Description>
</rdf:RDF>

RDF tvrdenia sú podobné s niektorými inými formátmi zápisu údajov (ako sú napr. riadky v relačnej databáze, alebo jednoduché výroky vo formálnej logike) a naopak, na údaje v týchto formátoch je možné sa pozerať ako na tvrdenia v RDF. To umožňuje integráciu údajov z rôznych zdrojov práve prostredníctvom RDF.

RDF poskytuje, okrem už spomenutých možností, ďalšie špecializované funkcie. V niektorých prípadoch je potrebné opísať skupinu objektov (napr. jeden dokument na viacerých autorov). RDF to rieši zavedením balíkov (containers) – k dispozícii sú tri preddefinované typy balíkov:

  • rdf:Bag
  • rdf:Seq
  • rdf:Alt

Entity združené v balíku sa nazývajú členovia (members). V prípade, že nezáleží na poradí členov, použije sa balík Bag (rdf:Bag); v prípade, že poradie je dôležité (napr. abecedné poradie), použije sa balík Seq (rdf:Seq). Balík Alternative (rdf:Alt) reprezentuje skupinu členov, ktorí predstavujú alternatívy (napr. zoznam alternatívnych URL, na ktorých je možné nájsť opisovaný zdroj).

Obmedzením balíkov je, že nie sú uzavreté (tj. nie je povedané, či balík obsahuje všetkých členov, alebo existujú ešte iní potenciálni členovia, ktorí v ňom nie sú zahnutí). RDF umožňuje opísať uzatvorenú skupinu špecifikovaných členov prostredníctvom súborov (collections). Slovník pre súbor obsahuje vopred definované vlastnosti rdf:first a rdf:rest a atribút rdf:nil.

3.3 RDF Schéma

RDF poskytuje spôsob zápisu jednoduchých tvrdení o zdrojoch pomocou pomenovaných vlastností a ich hodnôt. Používatelia však potrebujú nástroj na definovanie nových slovníkov (vocabularies), ktoré by bolo možné v daných tvrdeniach využiť. Dôvod používania slovníkov je, aby vytvorené tvrdenia v špecifickej oblasti mali rovnaký základ a boli jednoznačné. V slovníku budú špecifikované jednotlivé zdroje, triedy zdrojov a ich vlastnosti.

V praxi existuje celkom prirodzená požiadavka mať k dispozícii pojmový aparát (terminológiu) zahŕňajúci slová, termíny a slovné spojenia, ktoré sa v danej oblasti činnosti vyskytujú a používajú. Napríklad pri opise bibliografických zdrojov sa používajú slová ako „kniha“, „článok“ a rôzne atribúty, ktoré ich opisujú ako je „titul“, „autor“, ap. V tomto prípade by bolo vhodné zaradiť do slovníka triedy pr:Kniha, pr:Clanok a použiť vlastnosti ako napr. pr:titul, pr:autor.

Samotné RDF neposkytuje prostriedky na definíciu takýchto tried a vlastností. Na tento účel vzniklo rozšírenie RDF s názvom RDF Vocabulary Description Language, alebo ináč, RDF Schéma (RDFS). Menný priestor RDFS Schémy je jednoznačne identifikovaný URI referenciou vo forme http://www.w3.org/2000/01/rdf-schema# a používa prefix http://www.w3.org/TR/rdf-schema/rdfs:.

RDFS neposkytuje aplikačne-špecifické slovníky, ale prostredníctvom nej je možné popísať príslušné triedy a vlastnosti a ich vzájomný vzťah (napr. vlastnosť pr:titul sa používa s súvislosti s triedou pr:Kniha, ap.). Ináč povedané RDFS predstavuje systém zápisu typov pre RDF (paralela by sa dala nájsť v triedach a atribútoch používaných v objektovo-orientovaných programovacích jazykoch). Príklad zápisu triedy spolu so zápisom podtriedy v RDFS (nc: zastupuje referenciu www.nieco.sk/schemy/vozidla) môže vyzerať takto :

pr:Vozidlo rdf:type rdfs:Class .
pr:Autobus rdfs:subClassOf pr:Vozidlo .

Podobne ako v RDF údajovom modeli je možné tvrdenia v RDFS zobraziť prostredníctvom grafu. Okrem opisu tried RDFS poskytuje nástroj na opis vlastností, ktoré dané triedy charakterizujú – na tieto účely sa využíva RDF trieda rdf:Property a RDFS vlastnosti rdfs:domain, rdfs:range a rdfs:subPropertyOf. Všetky vlastnosti v RDF predstavujú inštancie triedy rdf:Property, takže napr. nová vlastnosť pr:pocetKolies sa zapíše nasledovným spôsobom:

pr:pocetKolies rdf:type rdf:Property .

RDFS ponúka samozrejme prostriedok, pomocou ktorého je možné určiť vzťah jednotlivých tried a vlastností (na to sa využívajú konštrukcie rdfs:domain a rdfs:range). Element rdfs:range indikuje, že hodnoty danej vlastnosti sú inštanciami špecifikovanej triedy, napr:

pr:Osoba rdf:type rdfs:Class .
pr:autor rdf:type rdf:Property .
pr:autor rdfs:range pr:Osoba .

Element rdfs:domain indikuje, že daná vlastnosť prislúcha k špecifikovanej triede, napr:

pr:Dokument rdf:type rdfs:Class .
pr:autor rdf:type rdf:Property .
pr:autor rdfs:domain pr:Dokument .

4 Jazyk OWL

Jazyk OWL je značkovací jazyk navrhnutý pre vytváranie ontológií. Rozširuje slovník RDFS o ďalšie elementy súvisiace s triedami a ich vlastnosťami. Predchodcom jazyka OWL bol jazyk DAML+OIL. Vytváraním tried, definovaním vzťahov medzi nimi a opisom vlastností prvkov týchto tried je možné v jazyku OWL modelovať určitý systém znalostí o vybranej oblasti záujmu.

Ontológia v jazyku OWL je zapísaná v dokumente, na začiatku ktorého je uvedený zoznam slovníkov (priestorov mien). Tie jednoznačne popisujú značky používané v celom dokumente. Deklarácia priestorov mien je uzavretá v rámci tagu <rdf:RDF>, napr:

<rdf:RDF  xmlns:nc = "http://www.nieco.sk/#"
 xmlns:osoby = "http://www.nieco.sk/osoby#"
 xmlns:owl ="http://www.w3.org/2002/07/owl#"
 xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:xsd ="http://www.w3.org/2001/XMLSchema#">

Ukončovací tag </rdf:RDF> bude uvedený na konci dokumentu za definíciou ontológie. Za deklaráciou priestoru mien sa nachádza hlavička ontológie:

<owl:Ontology rdf:about="">
 <rdfs:comment>Príklad OWL ontológie</rdfs:comment>
 <owl:priorVersion rdf:resource="http://www.nieco.sk/ovocie"/>
 <owl:imports rdf:resource="http://www.nieco.sk/jedlo"/>
 <rdfs:label>Ovocná ontológia</rdfs:label>
</owl:Ontology>

Atribút rdf:about označuje zdroj, ktorý je v dokumente popísaný. V prípade, že je jeho hodnota prázdny reťazec “”, zdroj je predstavovaný aktuálnym dokumentom (tj. dokument popisujúci danú ontológiu). Atribút owl:comment poskytuje možnosť zadefinovať k danej ontológii poznámku. Prostredníctvom atribútu owl:priorVersion je poskytnutá informácia o ontológii, ktorá prechádzala aktuálne definovanej ontológii (informáciu o aktuálnej verzii je možné zadať prostredníctvom atribútu owl:versionInfo). Viac informácií o mechanizme tvorby a záznamu verzií OWL ontológií je možné nájsť na www.w3.org/TR/2004/REC-owl-guide-20040210/#OntologyVersioning. Atribút owl:imports vkladá do dokumentu inú, už existujúcu, ontológiu. Rozdiel medzi použitím tohto atribútu a deklaráciou menných priestorov je, že deklarácia menných priestorov iba jednoznačne definuje použiteľné značky, zatiaľ čo owl:imports vnáša do dokumentu už existujúce štruktúry a vzťahy.

4.1 Triedy

Základom každej ontológie sú triedy. Inštancie triedy sa v jazyku OWL nazývajú indivíduá (individuals). V OWL existujú dve preddefinované triedy: owl:Thing a owl:Nothing. Element owl:Thing predstavuje množinu všetkých inštancií, ktoré sa v ontológii vyskytujú (každá trieda definovanej ontológie je podtriedou owl:Thing). Element owl:Nothing reprezentuje prázdnu množinu (tzn. je podtriedou každej triedy v danej ontológii). Novú triedu je možné zadefinovať nasledujúcim zápisom:

<owl:Class rdf:ID="Ovocie"/>

Jediné, čo táto definícia hovorí je, že existuje trieda s daným identifikátorom – nehovorí nič o jej vlastnostiach a vzťahu k iným triedam. Triedy je možné definovať aj iným spôsobom prostredníctvom identifikátora, napr. vymenovaním jej prvkov, zjednotením, prienikom, atď. Vymenovanie prvkov triedy sa realizuje prostredníctvom použitia elementu owl:oneOf a je možné ju zapísať napríklad takýmto spôsobom (trieda svetadielov):

<owl:Class>
 <owl:oneOf rdf:parseType="Collection">
  <owl:Thing rdf:about="#Europa"/>
  <owl:Thing rdf:about="#Azia"/>
  <owl:Thing rdf:about="#Afrika"/>
  <owl:Thing rdf:about="#Amerika"/>
  <owl:Thing rdf:about="#Australia"/>
  <owl:Thing rdf:about="#Antarktida"/>
 </owl:oneOf>
</owl:Class>

Definícia triedy danej prienikom iných tried je založená na použití elementu owl:intersectionOf a môže vyzerať napríklad takto:

<owl:Class>
 <owl:intersectionOf rdf:parseType="Collection">
  <owl:Class>
   <owl:oneOf rdf:parseType="Collection">
    <owl:Thing rdf:about="#Slovensko" />
    <owl:Thing rdf:about="#Nemecko" />
   </owl:oneOf>
  </owl:Class>
  <owl:Class>
   <owl:oneOf rdf:parseType="Collection">
    <owl:Thing rdf:about="#Slovensko" />
    <owl:Thing rdf:about="#Polsko" />
   </owl:oneOf>
  </owl:Class>
 </owl:intersectionOf>
</owl:Class>

Definícia zjednotením (element owl:unionOf) a pomocou doplnku (element owl:complementOf) sa zapisuje analogickým spôsobom.

Prostredníctvom konštrukcie rdfs:subClassOf je možné definovať podtriedy existujúcej triedy:

<owl:Class rdf:ID="Jablko">
  <rdfs:subClassOf rdf:resource="Ovocie"/>
  <rdfs:label xml:lang="en">apple</rdfs:label>
  <rdfs:label xml:lang="de">Apfel</rdfs:label>
</owl:Class>

Element rdfs:label poskytuje používateľsky zrozumiteľnejší názov špecifikovanej triedy. Prostredníctvom atribútu lang je možné evidovať názov vo viacerých jazykoch. OWL poskytuje na opis vzájomných vzťahov medzi triedami ďalšie dva elementy: owl:equivalentClass a owl:disjointWith. Viac informácií ich použití je možné nájsť na http://www.w3c.org/TR/owl-ref/#ClassAxioms.

4.2 Vlastnosti

Kým triedy a indivíduá vytvárajú akúsi štruktúru ontológie, vlastnosti vnášajú do celej koncepcie isté tvrdenia o triedach a ich prvkoch. Vlastnosti predstavujú v OWL binárne relácie buď medzi dvoma objektmi alebo medzi objektom a hodnotou údajového typu. Nové vlastnosti sa definujú podobne ako triedy, s tým rozdielom, že je použitý element ObjectProperty:

<owl:ObjectProperty ID="Vlastnost"/>

Element owl:ObjectProperty sa používa na definovanie takzvaných. objektových vlastností. V OWL existuje ešte iný druh vlastností - "dátovotypové" (používa sa element owl:DataTypeProperty). Práca s nimi je analogická a v tomto dokumente sa ďalej v príkladoch budú objavovať iba objektové vlastnosti.

Definičný obor špecifikovanej vlastnosti a jej obor hodnôt je možné určiť pomocou konštrukcie rdfs:domain, resp. rdfs:range (ich použitie bolo uvedené vyššie v texte). Element rdfs:subPropertyOf definuje, že vlastnosť je podmnožinou inej vlastnosti. Presnejšie povedané, množina prvkov spĺňajúcich danú vlastnosť je podmnožinou množiny prvkov spĺňajúcich vlastnosť inú.

Ekvivalenciu a inverziu medzi dvoma vlastnosťami je možné vyjadriť pomocou elementov owl:equivalentProperty, resp. owl:inverseOf. V OWL je tiež možné nastaviť globálne obmedzenia kardinality vlastností a tiež vzájomné logické charakteristiky medzi vlastnosťami ako sú tranzitívnosť a symetria.

5 Záver

Z predošlýc kapitol je vidieť, že OWL obsahuje pomerne širokú množinu elementov, prostredníctvom ktorých je možné vytvárať ontológie od najjednoduchších až po sofistikované konštrukcie postavené na neobmedzenom využití RDF konštrukcií. Postupným zavedením týchto technológií v príslušných oblastiach a využitím výhod, ktoré poskytujú, bude možné v plnej miere ťažiť z možností, ktoré ponúka vízia sémantického webu.

Použitá literatúra

  1. Manola, F., Miller, E., McBride, B.: RDF Primer
    http://www.w3.org/TR/rdf-primer/
  2. World Wide Web Consortium: Web Ontology Language (OWL)
    http://www.w3.org/2004/OWL/
  3. W3C: RDF Vocabulary Description Language 1.0: RDF Schema
    http://www.w3.org/TR/rdf-schema/
  4. Dublin Core Metadata Initiative
    http://dublincore.org
  5. OntoKnowledge project
    http://www.ontoknowledge.org/oil

Znalostné systémy
Zimný semester 2004/2005

W3CXHMTL 1.0 W3CCSS 2