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, e quale tipo è OWL
- Tre vantaggi di OWL rispetto ad altri linguaggi del suo genere
- Alcuni strumenti disponibili per creare ontologie usando OWL
Prequisiti
- RDF 101
- Introduzione a RDFS
Lezione di oggi
Oggi sono in uso quattro tipi principali di linguaggi informatici.
- Linguaggi imperativi, come C/C++, Java, Javascript, Lisp e Perl. Questi linguaggi sono progettati per permettere di fornire facilmente una sequenza di istruzioni che dicono al computer come fare qualcosa. Per esempio, questi linguaggi potrebbero essere usati per dire ad un computer come calcolare la centesima cifra di PI, come disegnare un mostro sullo schermo, o come elaborare un ordine di libri online.
- Linguaggi di interrogazione, come SQL e XQuery. Questi linguaggi presuppongono l’esistenza di un database di qualche tipo e sono semplicemente usati per chiedere una specifica informazione.
- Linguaggi di dati, come XML, HTML e JSON. Questi linguaggi non fanno nulla e non chiedono nulla. Sono semplicemente un formato standard per trasmettere dati da una macchina o persona ad un’altra.
- Linguaggi di modellazione, come XSD, UML, e (in un certo senso) SQL. Questi linguaggi non fanno necessariamente qualcosa o chiedono qualcosa, e non trasmettono alcun dato reale. Piuttosto, dicono qualcosa sui dati.
OWL rientra nell’ultima categoria – è un linguaggio di modellazione.
Anche se OWL è un linguaggio di modellazione nel senso classico, ha molti vantaggi rispetto ai linguaggi di modellazione che lo hanno preceduto.
Vantaggio 1: OWL è espressivo
I linguaggi di modellazione come XSD, UML e SQL sono adeguati per elencare un certo numero di classi e proprietà e costruire alcune semplici relazioni gerarchiche. Per esempio, SQL permette di costruire una nuova tabella per ogni classe, aggiungere una nuova colonna per ogni proprietà, e specificare alcune relazioni di base usando chiavi esterne.
Tuttavia, SQL non permette facilmente di rappresentare relazioni tra sottoclassi (per esempio, “tutti gli ordini di libri elettronici sono un tipo di transazione finanziaria”).
Linguaggi più espressivi come UML rendono facili le sottoclassi statiche, ma nemmeno loro possono facilmente rappresentare relazioni dinamiche (per esempio, “Tutte le transazioni finanziarie di meno di 1000 dollari sono transazioni esenti da tasse”).
Una delle caratteristiche distintive di OWL è che può essere usato per esprimere idee estremamente complicate e sottili sui dati.
Avantaggio 2: OWL è flessibile
Attualmente, la maggior parte delle tecnologie che impiegano linguaggi di modellazione dei dati sono progettate usando una rigida mentalità “Costruisci il modello, poi usa il modello”.
Per esempio, supponiamo che tu voglia cambiare una proprietà in un database relazionale. Prima pensavate che la proprietà fosse a valore singolo, ma ora deve essere a valore multiplo. Per quasi tutti i moderni database relazionali, questo cambiamento richiederebbe di cancellare l’intera colonna per quella proprietà e poi creare una tabella completamente nuova che contenga tutti quei valori di proprietà più un riferimento a una chiave esterna.
Questo non è solo un sacco di lavoro, ma invaliderà anche qualsiasi indice che abbia a che fare con la tabella originale. Invaliderà anche tutte le query correlate che i vostri utenti hanno scritto. In breve, fare quell’unico cambiamento può essere molto difficile e complicato. Spesso, tali modifiche sono così fastidiose che semplicemente non vengono mai fatte.
Al contrario, tutte le dichiarazioni di modellazione dei dati (insieme a tutto il resto) in OWL sono triple RDF e sono quindi incrementali, per loro stessa natura. Migliorare o modificare un modello di dati dopo il fatto può essere facilmente realizzato modificando la relativa tripla. La maggior parte delle tecnologie basate su OWL si avvantaggiano della flessibilità di OWL supportando tali cambiamenti diretti.
Avantaggio 3: OWL è efficiente
OWL permette di usare il proprio modello di dati per supportare molti tipi diversi di compiti di ragionamento. Questa potente capacità di supportare il ragionamento sui dati permette agli sviluppatori di minimizzare i dati che sono esplicitamente memorizzati e di minimizzare la complessità delle query necessarie per recuperare quei dati.
Tuttavia, sui computer di oggi, certi tipi di ragionamento possono essere eseguiti molto più velocemente di altri tipi di ragionamento. OWL è quindi dotato di un certo numero di “profili” incorporati che permettono di bilanciare i tipi di ragionamento che si vorrebbero fare con i propri obiettivi individuali di performance.
StrumentiOWL
Molti pacchetti software sono ora disponibili per creare ontologie usando OWL.
- Protégé della Stanford University, un editor di ontologie gratuito e open-source
- TopBraid Composer di TopQuadrant
- Qualunque editor di testo abbiate in giro
A differenza di alcuni altri linguaggi, che hanno sempre lo stesso aspetto, OWL può essere effettivamente “scritto” in molti modi diversi. OWL – come tutti gli RDF – può essere espresso in un formato canonico OWL/XML così come nel formato RDF/XML. Può anche essere espresso in formati più leggibili dall’uomo come TRIG, Manchester, Turtle, e Functional-Style.
Dettagli sugli standard di sintassi OWL così come alcuni esempi di come passare dinamicamente tra le varie sintassi possono essere trovati sul sito del W3C.
Conclusione
L’espressività, flessibilità ed efficienza di OWL lo rendono un linguaggio di modellazione ideale per creare ontologie web che rappresentano idee eccezionalmente complesse e raffinate sui dati. Nella prossima lezione, RDFS vs. OWL confronteremo RDFS e OWL e discuteremo quando si dovrebbe usare l’uno o l’altro.