Apri il menu principale

Web Ontology Language

linguaggio di programmazione

Il Web Ontology Language (OWL) è un linguaggio di markup per rappresentare esplicitamente significato e semantica di termini con vocabolari e relazioni tra gli stessi. Esistono varie versioni del linguaggio, che differiscono molto tra di loro.

Lo scopo di OWL è descrivere delle basi di conoscenze, effettuare delle deduzioni su di esse e integrarle con i contenuti delle pagine Web. OWL intende rendere possibile, ad esempio:

  • ricerche nel Web che superino i problemi di omonimia e ambiguità presenti nelle normali ricerche testuali;
  • applicazioni che effettuino delle deduzioni sui dati.

La rappresentazione dei termini e delle relative relazioni è chiamata ontologia.

Insieme a RDF, di cui è un'estensione,[1] OWL fa parte del progetto del web semantico.

SemanticaModifica

Il linguaggio OWL è costituito da una semantica formale costruita dal consorzio W3C sulla base dello standard XML chiamato RDF. I due maggiori rilasci di specifiche di tale semantica sono chiamate OWL[2] (detto anche OWL1, 2004) e OWL2[3] (2009). OWL2 è completamente compatibile con OWL1[4].

DecidibilitàModifica

Uno dei problemi maggiori delle ontologie è la scelta della potenza espressiva. La logica del primo ordine è infatti molto potente ma non è decidibile, ossia non è possibile costruire un algoritmo che, dati uno o più assiomi, dica in tempo finito se un'affermazione segue o non segue logicamente da tali assiomi. Ovviamente questo è sconveniente dal punto di vista dell'utilizzo pratico, perché si vorrebbe avere una base di conoscenza che risponda in maniera prevedibile alle richieste, e non dia informazioni in base alle deduzioni fatte fino a quel momento. Gli approcci al problema sono dunque:

  • selezionare una logica meno potente della logica del primo ordine che abbia meno poter espressivo ma sia decidibile;
  • rinunciare alla decidibilità operando in un contesto di affidabilità parziale della base di dati.

Alcune versioni di OWL, quelle più usate, sono basate sul primo approccio.

LogicheModifica

Per scegliere un sottoinsieme della logica del prim'ordine che sia decidibile si è utilizzata la logica proposizionale aumentandone la potenza aggiungendo delle logiche rappresentate per convenzione con delle sigle:

Lettera o sigla della logica Descrizione
AL Inclusione e equivalenza tra classi, definizione di classi atomiche, classe universo, intersezione tra classi, definizioni di classi formate da elementi che prendono parte a relazioni o hanno una relazione di un certo tipo solo con elementi di una certa classe, operatore di congruenza tra individui e appartenenza di un individuo a una classe
ALC aggiunge ad AL la classe vuota, le classi complemento, l'unione di classi e le classi di elementi che sono in una certa relazione con elementi di una certa classe
S Aggiunge ad ALC la definizione della transitività di una relazione
H Inclusione e equivalenza tra relazioni
R disgiunzione di proprietà, riflessività, asimmetria, irriflessività, relazioni composte da altre relazioni, definizione di non-relazione tra due individui
O (One of) creazione di classi tramite elenco di tutti e soli gli individui contenuti
I (Inverse) definizione di proprietà inversa
F (Functionality) definizione di proprietà funzionali
N (Number) restrizione di cardinalità: numero di elementi che partecipano a una certa relazione minore, maggiore o uguale di un valore n
Q (Qualified) come N, ma la relazione può essere qualificata
Dn (Numerable Domain) definizione di domini (tipi di dato) a cui può portare una relazione (es. "Mario ha n anni")

VersioniModifica

Esistono diverse versioni di OWL, molto diverse tra di loro.

OWL DLModifica

Utilizza SHOIN(Dn), è decidibile e ha procedure di deduzione con complessità ben conosciute.

OWL LiteModifica

Utilizza SHIF(Dn), è semplice da implementare ma ha basso potere espressivo

OWL FullModifica

Utilizza la logica del primo ordine, addirittura espandendola con altri predicati. È quindi molto espressivo ma indecidibile.

OWL 2Modifica

Raccomandato dal W3C dal 2009, è basato su SROIQ(Dn)

NoteModifica

  1. ^ (EN) OWL Web Ontology Language Reference, su w3.org, World Wide Web Consortium, 10 febbraio 2004. URL consultato il 31 marzo 2017 (archiviato il 31 marzo 2017).
  2. ^ (EN) OWL Web Ontology Language Reference, su www.w3.org. URL consultato il 15 agosto 2018.
  3. ^ (EN) OWL 2 Web Ontology Language Document Overview (Second Edition), su www.w3.org. URL consultato il 15 agosto 2018.
  4. ^ (EN) OWL 2 Web Ontology Language Document Overview (Second Edition) - Relationship to OWL1, su www.w3.org. URL consultato il 15 agosto 2018.

Collegamenti esterniModifica

Controllo di autoritàLCCN (ENsh2018001881 · GND (DE4396527-1
  Portale Internet: accedi alle voci di Wikipedia che trattano di internet