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, en welke soort OWL is
  • Drie voordelen van OWL ten opzichte van andere talen in zijn soort
  • Een paar van de tools die beschikbaar zijn voor het maken van ontologieën met behulp van OWL

Voorwaarden

  • RDF 101
  • Inleiding tot RDFS

De les van vandaag

Er zijn tegenwoordig vier hoofdtypen computertalen in gebruik.

  1. Imperatieve talen, zoals C/C++, Java, Javascript, Lisp, en Perl. Deze talen zijn zo ontworpen dat je gemakkelijk een reeks instructies kunt geven die de computer vertellen hoe hij iets moet doen. Deze talen kunnen bijvoorbeeld worden gebruikt om een computer te vertellen hoe hij het 100e cijfer van PI moet berekenen, hoe hij een monster op het scherm moet tekenen, of hoe hij een online boekbestelling moet verwerken.
  2. Query-talen, zoals SQL en XQuery. Deze talen gaan uit van het bestaan van een of andere database en worden simpelweg gebruikt om een bepaald stukje informatie op te vragen.
  3. Datatalen, zoals XML, HTML, en JSON. Deze talen doen niets, en ze vragen nergens om. Ze zijn gewoon een standaardformaat voor het overbrengen van gegevens van de ene machine of persoon naar de andere.
  4. Modelleringstalen, zoals XSD, UML, en (in zekere zin) SQL. Deze talen doen niet noodzakelijkerwijs iets en vragen ook nergens om, en ze dragen ook niet echt gegevens over.

OWL valt in de laatste categorie – het is een modelleertaal.

Hoewel OWL een modelleertaal is in de klassieke zin, heeft het vele voordelen ten opzichte van de modelleertalen die er voor kwamen.

Voordelen 1: OWL is expressief

Modelleringstalen als XSD, UML en SQL zijn afdoende om een aantal klassen en eigenschappen op te sommen en wat eenvoudige hiërarchische relaties op te bouwen. Met SQL kun je bijvoorbeeld voor elke klasse een nieuwe tabel bouwen, voor elke eigenschap een nieuwe kolom toevoegen, en met behulp van foreign keys enkele basisrelaties specificeren.

Maar met SQL kun je niet gemakkelijk subklasse-relaties weergeven (bijv. “alle Elektronische Boekingsopdrachten zijn een soort Financiële Transactie”).

Met expressievere talen zoals UML kun je gemakkelijk statische subklassen maken, maar zelfs die kunnen niet gemakkelijk dynamische relaties weergeven (bijv, “Alle financiële transacties van minder dan $1000 zijn belastingvrije transacties”).

Een van de onderscheidende kenmerken van OWL is dat je er uiterst ingewikkelde en subtiele ideeën over je gegevens mee kunt uitdrukken.

Voordeel 2: OWL is Flexibel

De meeste technologieën die gebruik maken van datamodelleringstalen zijn momenteel ontworpen volgens een starre “Bouw het model, dan gebruik je het model”-mentaliteit.

Voorbeeld: stel dat je een eigenschap in een relationele database wilt wijzigen. Je had eerder gedacht dat de eigenschap van één waarde was, maar nu moet hij van meerdere waarden zijn. Voor bijna alle moderne relationele databases zou deze verandering vereisen dat u de hele kolom voor die eigenschap verwijdert en vervolgens een geheel nieuwe tabel aanmaakt die alle waarden van die eigenschap bevat plus een foreign key referentie.

Dit is niet alleen veel werk, maar het zal ook alle indices ongeldig maken die met de oorspronkelijke tabel te maken hebben. Het zal ook alle gerelateerde queries ongeldig maken die uw gebruikers hebben geschreven. Kortom, het doorvoeren van die ene wijziging kan erg moeilijk en ingewikkeld zijn. Vaak zijn zulke wijzigingen zo lastig, dat ze gewoon nooit worden doorgevoerd.

In OWL daarentegen zijn alle data modelleer verklaringen (samen met al het andere) RDF triples en zijn daarom van nature incrementeel. Het achteraf verbeteren of wijzigen van een data model kan eenvoudig worden bereikt door het wijzigen van de relevante triple. De meeste op OWL gebaseerde technologieën maken gebruik van de flexibiliteit van OWL door dergelijke eenvoudige wijzigingen te ondersteunen.

Voordeel 3: OWL is efficiënt

OWL stelt je in staat om je data model te gebruiken om veel verschillende soorten redeneertaken te ondersteunen. Dit krachtige vermogen om redeneringen te ondersteunen stelt ontwikkelaars in staat om de gegevens die expliciet worden opgeslagen te minimaliseren en de complexiteit van de queries die nodig zijn om die gegevens op te halen te minimaliseren.

Op de computers van vandaag kunnen bepaalde soorten redeneringen echter veel sneller worden uitgevoerd dan andere soorten redeneringen. OWL wordt daarom geleverd met een aantal ingebouwde “profielen” waarmee je het soort redeneringen dat je wilt doen kunt afwegen tegen je individuele prestatiedoelen.

OWL Tools

Er zijn nu veel softwarepakketten beschikbaar voor het maken van ontologieën met behulp van OWL.

  • Protégé van Stanford University, een gratis, open-source ontologie-editor
  • TopBraid Composer van TopQuadrant
  • Elke tekst-editor die je hebt liggen

In tegenstelling tot sommige andere talen, die er altijd hetzelfde uitzien, kan OWL in feite op veel verschillende manieren worden “opgeschreven”. OWL – net als alle RDF – kan worden uitgedrukt in een canoniek OWL/XML formaat, maar ook in RDF/XML formaat. Het kan ook worden uitgedrukt in meer menselijk leesbare formaten, zoals TRIG, Manchester, Turtle en Functional-Style.

Details over de OWL syntax standaarden en enkele voorbeelden van hoe dynamisch te switchen tussen de verschillende syntaxen zijn te vinden op de W3C website.

Conclusie

OWL’s expressiviteit, flexibiliteit en efficiëntie maken het een ideale modelleertaal voor het maken van web ontologieën die uitzonderlijk complexe en verfijnde ideeën over data representeren. In de volgende les, RDFS vs. OWL, vergelijken we RDFS en OWL en bespreken we wanneer je de een moet gebruiken vs. de ander.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *