Learn OWL and RDFS

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:

  1. Fast and flexible data modeling
  2. 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, és hogy az OWL melyik fajta
  • Három előnye az OWL-nek más hasonló nyelvekkel szemben
  • Néhány eszköz az ontológiák OWL használatával történő létrehozásához

Előfeltételek

  • RDF 101
  • Bevezetés az RDFS-be

A mai lecke

A számítógépes nyelvek négy fő típusa van ma használatban.

  1. Imperatív nyelvek, mint például a C/C++, a Java, a Javascript, a Lisp és a Perl. Ezeket a nyelveket úgy tervezték, hogy könnyen meg lehessen adni egy utasítássorozatot, amely megmondja a számítógépnek, hogyan tegyen valamit. Ezeket a nyelveket például arra használhatjuk, hogy megmondjuk a számítógépnek, hogyan számítsa ki a PI 100. számjegyét, hogyan rajzoljon egy szörnyet a képernyőre, vagy hogyan dolgozzon fel egy online könyvrendelést.
  2. Lekérdező nyelvek, például az SQL és az XQuery. Ezek a nyelvek valamilyen adatbázis meglétét feltételezik, és egyszerűen egy adott információ lekérdezésére szolgálnak.
  3. Adatnyelvek, mint például az XML, a HTML és a JSON. Ezek a nyelvek nem csinálnak semmit, és nem kérnek semmit. Egyszerűen csak egy szabványos formátumot jelentenek az adatok egyik géptől vagy személytől a másikig történő továbbítására.
  4. Modellező nyelvek, mint például az XSD, az UML és (bizonyos értelemben) az SQL. Ezek a nyelvek nem feltétlenül csinálnak vagy kérnek semmit, és nem igazán közvetítenek tényleges adatokat. Inkább mondanak valamit az adatokról.

Az OWL az utolsó kategóriába tartozik – ez egy modellező nyelv.

Bár az OWL a klasszikus értelemben vett modellező nyelv, számos előnye van az előtte lévő modellező nyelvekhez képest.

1. előny: Az OWL kifejező

A modellező nyelvek, mint például az XSD, az UML és az SQL, elegendőek számos osztály és tulajdonság felsorolására és néhány egyszerű hierarchikus kapcsolat felépítésére. Az SQL például lehetővé teszi, hogy minden osztályhoz új táblázatot hozzunk létre, minden tulajdonsághoz új oszlopot adjunk, és idegen kulcsok segítségével megadjunk néhány alapvető kapcsolatot.

Az SQL azonban nem teszi könnyen lehetővé az alosztályok közötti kapcsolatok ábrázolását (pl. “minden elektronikus könyvelési megbízás egyfajta pénzügyi tranzakció”).

A kifejezőbb nyelvek, mint az UML, megkönnyítik a statikus alosztályok létrehozását, de még ezek sem tudják könnyen ábrázolni a dinamikus kapcsolatokat (pl., “Minden 1000 dollárnál kisebb összegű pénzügyi tranzakció adómentes tranzakció”).

Az OWL egyik megkülönböztető jellemzője, hogy rendkívül bonyolult és finom elképzelések kifejezésére használható az adatokkal kapcsolatban.

2. előny: Az OWL rugalmas

Az adatmodellező nyelveket alkalmazó technológiák többsége jelenleg az “Építsd meg a modellt, majd használd a modellt” merev gondolkodásmóddal készül.

Tegyük fel például, hogy egy relációs adatbázisban szeretnénk megváltoztatni egy tulajdonságot. Korábban úgy gondolta, hogy a tulajdonság egyértékű, de most már többértékűnek kell lennie. Szinte minden modern relációs adatbázis esetében ez a változtatás azt igényelné, hogy törölje az adott tulajdonság teljes oszlopát, majd hozzon létre egy teljesen új táblát, amely tartalmazza az összes tulajdonságértéket és egy idegenkulcs-hivatkozást.

Ez nem csak sok munkát jelent, de érvényteleníti az eredeti táblával kapcsolatos indexeket is. Továbbá érvényteleníti a felhasználók által írt kapcsolódó lekérdezéseket is. Röviden, ennek az egy módosításnak a végrehajtása nagyon nehéz és bonyolult lehet. Gyakran az ilyen változtatások annyira zavaróak, hogy egyszerűen nem is végzik el őket.

Ezzel szemben az OWL-ben minden adatmodellezési utasítás (minden mással együtt) RDF-hármasok, és ezért természetüknél fogva inkrementálisak. Egy adatmodell utólagos bővítése vagy módosítása könnyen elvégezhető a vonatkozó hármasok módosításával. A legtöbb OWL-alapú technológia kihasználja az OWL rugalmasságát azáltal, hogy támogatja az ilyen egyszerű módosításokat.

3. előny: Az OWL hatékony

Az OWL lehetővé teszi, hogy az adatmodellt sokféle következtetési feladat támogatására használjuk. Ez az erőteljes képesség az adatok érvelésének támogatására lehetővé teszi a fejlesztők számára, hogy minimalizálják az explicit módon tárolt adatokat, és minimalizálják az ezen adatok lekérdezéséhez szükséges lekérdezések összetettségét.

A mai számítógépeken azonban bizonyos típusú érvelések sokkal gyorsabban végezhetők el, mint más típusú érvelések. Az OWL ezért számos beépített “profillal” rendelkezik, amelyek lehetővé teszik, hogy a kívánt érvelés fajtáit az egyéni teljesítménycélokkal összevessük.

OWL-eszközök

Már számos szoftvercsomag áll rendelkezésre az ontológiák OWL használatával történő létrehozásához.

  • A Stanford Egyetem Protégéje, egy ingyenes, nyílt forráskódú ontológiaszerkesztő
  • TopBraid Composer a TopQuadrant-tól
  • Minden olyan szövegszerkesztő, ami éppen nálad van

Eltérően néhány más nyelvtől, amelyek mindig ugyanúgy néznek ki, az OWL-t valójában sokféleképpen lehet “leírni”. Az OWL – mint minden RDF – kifejezhető kanonikus OWL/XML formátumban és RDF/XML formátumban is. Kifejezhető emberszabásúbb formátumokban is, mint például TRIG, Manchester, Turtle és Functional-Style.

A W3C honlapján megtalálhatóak az OWL szintaxis szabványainak részletei, valamint néhány példa a különböző szintaxisok közötti dinamikus váltásra.

Következtetés

Az OWL kifejezőereje, rugalmassága és hatékonysága ideális modellező nyelvvé teszi az adatokról szóló rendkívül összetett és kifinomult elképzeléseket reprezentáló webontológiák létrehozására. A következő, RDFS vs. OWL című leckében összehasonlítjuk az RDFS-t és az OWL-t, és megvitatjuk, hogy mikor érdemes az egyiket és mikor a másikat használni.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük