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, och vilken typ OWL är
- Tre fördelar med OWL jämfört med andra språk av samma typ
- Några av de verktyg som finns tillgängliga för att skapa ontologier med hjälp av OWL
Förutsättningar
- RDF 101
- Introduktion till RDFS
Dagens lektion
Fyra huvudtyper av datorspråk används idag.
- Imperativa språk, såsom C/C++, Java, Javascript, Lisp och Perl. Dessa språk är utformade för att du enkelt ska kunna tillhandahålla en sekvens av instruktioner som talar om för datorn hur den ska göra något. Dessa språk kan till exempel användas för att tala om för en dator hur den ska beräkna den 100:e siffran i PI, hur den ska rita ett monster på skärmen eller hur den ska behandla en bokbeställning online.
- Frågespråk, till exempel SQL och XQuery. Dessa språk förutsätter att det finns en databas av något slag och används helt enkelt för att fråga efter en viss information.
- Dataspråk, som XML, HTML och JSON. Dessa språk gör ingenting och frågar inte efter någonting. De är helt enkelt ett standardformat för att förmedla data från en maskin eller person till en annan.
- Modelleringsspråk, som XSD, UML och (på sätt och vis) SQL. Dessa språk gör inte nödvändigtvis något eller ber om något, och de förmedlar egentligen inga faktiska data. Snarare säger de något om data.
OWL hör till den sista kategorin – det är ett modelleringsspråk.
Och även om OWL är ett modelleringsspråk i klassisk bemärkelse har det många fördelar jämfört med de modelleringsspråk som kom före det.
Fördel 1: OWL är expressivt
Legacy-språk som XSD, UML och SQL är tillräckliga för att lista ett antal klasser och egenskaper och bygga upp några enkla hierarkiska relationer. SQL gör det till exempel möjligt att bygga en ny tabell för varje klass, lägga till en ny kolumn för varje egenskap och ange vissa grundläggande relationer med hjälp av främmande nycklar.
SQL gör det dock inte enkelt att representera underklassrelationer (t.ex. ”alla elektroniska bokorder är en typ av finansiell transaktion”).
Mer expressiva språk som UML gör statiska underklasser enkla, men även de kan inte enkelt representera dynamiska relationer (t.ex, ”Alla finansiella transaktioner på mindre än 1000 dollar är skattefria transaktioner”).
En av de utmärkande egenskaperna hos OWL är att det kan användas för att uttrycka extremt komplicerade och subtila idéer om dina data.
Fördel 2: OWL är flexibel
För närvarande är de flesta tekniker som använder datamodelleringsspråk utformade med hjälp av en rigid ”bygg modellen, använd sedan modellen”-tanke.
Trots detta kan du till exempel anta att du vill ändra en egenskap i en relationsdatabas. Tidigare trodde du att egenskapen var enkelvärdig, men nu måste den vara flervärdig. För nästan alla moderna relationsdatabaser skulle den här ändringen kräva att du tar bort hela kolumnen för den egenskapen och sedan skapar en helt ny tabell som innehåller alla dessa egenskapsvärden plus en referens till en främmande nyckel.
Det här är inte bara mycket arbete, utan det kommer också att ogiltigförklara alla index som handlar om den ursprungliga tabellen. Det kommer också att ogiltigförklara alla relaterade frågor som dina användare har skrivit. Kort sagt kan det vara mycket svårt och komplicerat att göra denna enda ändring. Ofta är sådana ändringar så besvärliga att de helt enkelt aldrig görs.
Däremot är alla datamodelleringsuttalanden (tillsammans med allt annat) i OWL RDF-triplar och är därför till sin natur inkrementella. Att förbättra eller ändra en datamodell i efterhand kan enkelt åstadkommas genom att ändra den relevanta trippeln. De flesta OWL-baserade tekniker drar nytta av OWL:s flexibilitet genom att stödja sådana enkla ändringar.
Fördel 3: OWL är effektiv
Med OWL kan du använda din datamodell för att stödja många olika typer av resonemangsuppgifter. Denna kraftfulla förmåga att stödja dataresonemang gör det möjligt för utvecklare att minimera de data som lagras explicit och att minimera komplexiteten hos de förfrågningar som behövs för att hämta dessa data.
På dagens datorer kan dock vissa typer av resonemang utföras mycket snabbare än andra typer av resonemang. OWL har därför ett antal inbyggda ”profiler” som gör det möjligt att avväga de typer av resonemang som du vill utföra mot dina individuella prestandamål.
OWL-verktyg
Flera programvarupaket finns nu tillgängliga för att skapa ontologier med hjälp av OWL.
- Stanford University’s Protégé, en gratis ontologieditor med öppen källkod
- TopBraid Composer från TopQuadrant
- Alla texteditorer du har liggande
Till skillnad från vissa andra språk, som alltid ser likadana ut, kan OWL faktiskt ”skrivas ner” på många olika sätt. OWL – liksom all RDF – kan uttryckas i ett kanoniskt OWL/XML-format såväl som i RDF/XML-format. Det kan också uttryckas i mer lättlästa format som TRIG, Manchester, Turtle och Functional-Style.
Detaljer om OWL-syntaxstandarderna samt några exempel på hur man dynamiskt växlar mellan olika syntaxer finns på W3C:s webbplats.
Slutsats
OWL:s uttrycksfullhet, flexibilitet och effektivitet gör det till ett idealiskt modelleringsspråk för att skapa webbarrangemang som representerar exceptionellt komplexa och förfinade idéer om data. I nästa lektion, RDFS vs. OWL, kommer vi att jämföra RDFS och OWL och diskutera när du bör använda det ena respektive det andra.