OWL 101
Introduction
OWL (or Web Ontology Language) is the ontology (think „schema“) language of the Semantic Web. It is one of the core Semantic Web standards you must be familiar with, along with RDF and SPARQL.
Its two primary uses are:
- Fast and flexible data modeling
- Efficient automated reasoning
This lesson gives a high level introduction to OWL and is suitable for beginners. A more detailed nuts & bolts lesson on creating your first ontology will come next.
Objectives
After completing this lesson, you will know:
- The four main kinds of modern computing languages, a ke kterému druhu patří OWL
- Tři výhody OWL oproti jiným jazykům tohoto druhu
- Několik dostupných nástrojů pro tvorbu ontologií pomocí OWL
Předpoklady
- RDF 101
- Úvod do RDFS
Dnešní lekce
V současnosti se používají čtyři hlavní druhy počítačových jazyků.
- Imperativní jazyky, jako jsou C/C++, Java, Javascript, Lisp a Perl. Tyto jazyky jsou navrženy tak, aby umožňovaly snadno zadat posloupnost instrukcí, které počítači říkají, jak má něco udělat. Pomocí těchto jazyků lze například počítači sdělit, jak má vypočítat stou číslici PI, jak má na obrazovku nakreslit příšeru nebo jak má zpracovat online objednávku knihy.
- Dotazovací jazyky, jako jsou SQL a XQuery. Tyto jazyky předpokládají existenci nějaké databáze a používají se jednoduše k dotazování na konkrétní informace.
- Datové jazyky, jako jsou XML, HTML a JSON. Tyto jazyky nic nedělají a na nic se neptají. Jsou prostě standardním formátem pro předávání dat z jednoho stroje nebo od jedné osoby druhé.
- Modelovací jazyky, jako jsou XSD, UML a (svým způsobem) SQL. Tyto jazyky nemusí nutně nic dělat ani o nic žádat a ve skutečnosti nepředávají žádná skutečná data. Spíše o datech něco říkají.
Jazyk OWL spadá do poslední kategorie – je to modelovací jazyk.
Ačkoli je jazyk OWL modelovacím jazykem v klasickém slova smyslu, má oproti modelovacím jazykům, které přišly před ním, mnoho výhod.
Výhoda 1. Modelovací jazyky: OWL je expresivní
Legovací jazyky, jako jsou XSD, UML a SQL, jsou dostačující pro výpis řady tříd a vlastností a vytvoření některých jednoduchých hierarchických vztahů. Jazyk SQL například umožňuje sestavit novou tabulku pro každou třídu, přidat nový sloupec pro každou vlastnost a specifikovat některé základní vztahy pomocí cizích klíčů.
Ještěže jazyk SQL neumožňuje snadno reprezentovat vztahy podtříd (např. „všechny elektronické účetní objednávky jsou druhem finanční transakce“).
Vyjadřovací jazyky, jako je UML, umožňují snadno reprezentovat statické podtřídy, ale ani ony nedokážou snadno reprezentovat dynamické vztahy (např, „všechny finanční transakce nižší než 1000 dolarů jsou transakce osvobozené od daně“).
Jednou z charakteristických vlastností jazyka OWL je, že jej lze použít k vyjádření extrémně složitých a jemných představ o datech.
Výhoda 2: Jazyk OWL je flexibilní
V současné době je většina technologií, které využívají jazyky pro modelování dat, navržena s využitím rigidního myšlení „Vytvořte model, pak model použijte“.
Předpokládejme například, že chcete změnit vlastnost v relační databázi. Dříve jste si mysleli, že tato vlastnost je jednohodnotová, ale nyní je třeba, aby byla vícehodnotová. Téměř u všech moderních relačních databází by tato změna vyžadovala odstranění celého sloupce pro danou vlastnost a následné vytvoření zcela nové tabulky, která by obsahovala všechny hodnoty této vlastnosti plus odkaz na cizí klíč.
To je nejen spousta práce, ale také to zneplatní všechny indexy, které se týkají původní tabulky. Zneplatní to také všechny související dotazy, které napsali vaši uživatelé. Stručně řečeno, provedení této jediné změny může být velmi obtížné a komplikované. Často jsou takové změny natolik problematické, že se prostě nikdy neprovedou.
Naproti tomu všechny příkazy pro modelování dat (spolu se vším ostatním) v jazyce OWL jsou trojicemi RDF, a proto jsou ze své podstaty inkrementální. Vylepšení nebo dodatečné úpravy datového modelu lze snadno provést úpravou příslušné trojice. Většina technologií založených na OWL využívá flexibilitu jazyka OWL tím, že podporuje takovéto jednoduché změny.
Výhoda 3: OWL je efektivní
OWL umožňuje používat datový model k podpoře mnoha různých druhů argumentačních úloh. Tato výkonná schopnost podpory zdůvodňování dat umožňuje vývojářům minimalizovat množství dat, která jsou explicitně uložena, a minimalizovat složitost dotazů potřebných k získání těchto dat.
Na dnešních počítačích lze však určité druhy zdůvodňování provádět mnohem rychleji než jiné druhy zdůvodňování. Jazyk OWL proto přichází s řadou vestavěných „profilů“, které umožňují vyměnit druhy uvažování, které chcete provádět, za individuální výkonnostní cíle.
Nástroje OWL
Pro vytváření ontologií pomocí jazyka OWL je nyní k dispozici mnoho softwarových balíků.
- Protégé ze Stanfordské univerzity, bezplatný editor ontologií s otevřeným zdrojovým kódem
- TopBraid Composer od společnosti TopQuadrant
- Jakýkoli textový editor, který vám někde leží
Na rozdíl od některých jiných jazyků, které vypadají vždy stejně, lze jazyk OWL ve skutečnosti „zapsat“ mnoha různými způsoby. OWL – stejně jako všechny RDF – lze vyjádřit v kanonickém formátu OWL/XML i ve formátu RDF/XML. Lze jej také vyjádřit v lidsky čitelnějších formátech, jako jsou TRIG, Manchester, Turtle a Functional-Style.
Podrobné informace o standardech syntaxe jazyka OWL i některé příklady dynamického přepínání mezi různými syntaxemi najdete na webu W3C.
Závěr
Výraznost, flexibilita a efektivita jazyka OWL z něj činí ideální modelovací jazyk pro vytváření webových ontologií, které představují mimořádně složité a propracované představy o datech. V příští lekci RDFS vs. OWL porovnáme RDFS a OWL a probereme, kdy byste měli použít jeden a kdy druhý.