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, i którym rodzajem jest OWL
  • Trzy przewagi OWL nad innymi językami tego rodzaju
  • Kilka narzędzi dostępnych do tworzenia ontologii przy użyciu OWL

Wstęp

  • RDF 101
  • Wprowadzenie do RDFS

Dzisiejsza lekcja

Dziś w użyciu są cztery główne rodzaje języków komputerowych.

  1. Języki imperatywne, takie jak C/C++, Java, Javascript, Lisp i Perl. Języki te zostały zaprojektowane tak, aby umożliwić łatwe dostarczanie sekwencji instrukcji, które mówią komputerowi, jak ma coś zrobić. Na przykład, języki te mogą być używane do informowania komputera, jak obliczyć setną cyfrę PI, jak narysować potwora na ekranie lub jak zrealizować zamówienie na książkę online.
  2. Języki zapytań, takie jak SQL i XQuery. Języki te zakładają istnienie jakiejś bazy danych i są po prostu używane do żądania konkretnych informacji.
  3. Języki danych, takie jak XML, HTML i JSON. Te języki niczego nie robią i o nic nie proszą. Są one po prostu standardowym formatem przekazywania danych z jednej maszyny lub osoby do drugiej.
  4. Języki modelowania, takie jak XSD, UML i (w pewnym sensie) SQL. Te języki niekoniecznie coś robią lub o coś proszą, i tak naprawdę nie przekazują żadnych rzeczywistych danych. Raczej mówią coś o danych.

OWL należy do ostatniej kategorii – jest językiem modelowania.

Mimo że OWL jest językiem modelowania w klasycznym sensie, ma wiele zalet w porównaniu z językami modelowania, które pojawiły się przed nim.

Zaleta 1: OWL jest ekspresyjny

Języki dziedziczenia, takie jak XSD, UML i SQL, są odpowiednie do wypisania pewnej liczby klas i właściwości oraz zbudowania kilku prostych relacji hierarchicznych. Na przykład SQL pozwala zbudować nową tabelę dla każdej klasy, dodać nową kolumnę dla każdej właściwości i określić pewne podstawowe relacje przy użyciu kluczy obcych.

Jednakże SQL nie pozwala łatwo reprezentować relacji podklas (np. „wszystkie Elektroniczne Zlecenia Książkowe są rodzajem Transakcji Finansowej”).

Języki bardziej ekspresyjne, takie jak UML, ułatwiają statyczne podklasy, ale nawet one nie mogą łatwo reprezentować dynamicznych relacji (np, „Wszystkie transakcje finansowe o wartości mniejszej niż 1000 dolarów są transakcjami wolnymi od podatku”).

Jedną z wyróżniających cech języka OWL jest to, że można go używać do wyrażania niezwykle skomplikowanych i subtelnych idei dotyczących danych.

Zaleta 2: OWL jest elastyczny

Obecnie, większość technologii, które wykorzystują języki modelowania danych, są projektowane przy użyciu sztywnego sposobu myślenia „Zbuduj model, a następnie użyj modelu”.

Na przykład, załóżmy, że chcesz zmienić właściwość w relacyjnej bazie danych. Wcześniej sądziłeś, że właściwość jest jednowartościowa, ale teraz musi być wielowartościowa. W przypadku prawie wszystkich nowoczesnych relacyjnych baz danych zmiana ta wymagałaby usunięcia całej kolumny dla tej właściwości, a następnie utworzenia całkowicie nowej tabeli, która przechowuje wszystkie wartości właściwości oraz odniesienie do klucza obcego.

Jest to nie tylko dużo pracy, ale również unieważni wszelkie indeksy, które dotyczą oryginalnej tabeli. Unieważni to również wszelkie powiązane zapytania, które napisali Twoi użytkownicy. Krótko mówiąc, dokonanie tej jednej zmiany może być bardzo trudne i skomplikowane. Często takie zmiany są tak kłopotliwe, że po prostu nigdy się ich nie dokonuje.

Przeciwnie, wszystkie deklaracje modelowania danych (wraz ze wszystkim innym) w OWL są trójkami RDF i dlatego są inkrementalne, z samej swojej natury. Ulepszanie lub modyfikowanie modelu danych po fakcie może być łatwo osiągnięte przez modyfikację odpowiedniej trójki. Większość technologii opartych na OWL korzysta z elastyczności OWL poprzez wspieranie takich prostych zmian.

Zaleta 3: OWL jest wydajny

OWL pozwala na użycie modelu danych do wsparcia wielu różnych rodzajów zadań rozumowania. Ta potężna zdolność do wspierania rozumowania danych pozwala programistom na minimalizację danych, które są jawnie przechowywane i minimalizację złożoności zapytań potrzebnych do pobrania tych danych.

Jednakże, na dzisiejszych komputerach, pewne rodzaje rozumowania mogą być wykonywane znacznie szybciej niż inne rodzaje rozumowania. Dlatego OWL posiada wiele wbudowanych „profili”, które pozwalają na dopasowanie rodzajów rozumowania do indywidualnych celów wydajnościowych.

Narzędzia OWL

Dostępnych jest wiele pakietów oprogramowania do tworzenia ontologii przy użyciu OWL.

  • Stanford University’s Protégé, darmowy, open-source’owy edytor ontologii
  • TopBraid Composer od TopQuadrant
  • Każdy edytor tekstu, który masz w pobliżu

W przeciwieństwie do niektórych innych języków, które zawsze wyglądają tak samo, OWL może być „zapisany” na wiele różnych sposobów. OWL – tak jak wszystkie RDF – może być wyrażony w kanonicznym formacie OWL/XML, jak również w formacie RDF/XML. Może być również wyrażony w formatach bardziej czytelnych dla człowieka, takich jak TRIG, Manchester, Turtle i Functional-Style.

Szczegóły dotyczące standardów składni OWL, jak również kilka przykładów dynamicznego przełączania się pomiędzy różnymi składniami można znaleźć na stronie W3C.

Wniosek

Wyrazistość, elastyczność i efektywność OWL czynią go idealnym językiem modelowania do tworzenia ontologii internetowych, które reprezentują wyjątkowo złożone i wyrafinowane idee dotyczące danych. W następnej lekcji, RDFS vs. OWL, porównamy RDFS i OWL oraz przedyskutujemy, kiedy należy używać jednego, a kiedy drugiego.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *