Web Ontology Language
IlWeb Ontology Language(OWL) è unlinguaggio di markupper rappresentare esplicitamente significato esemanticadi termini con vocabolari e relazioni tra gli stessi. Esistono varie versioni del linguaggio, che differiscono molto tra di loro.
Lo scopo di OWL è descrivere dellebasi di conoscenze,effettuare delle deduzioni su di esse e integrarle con i contenuti delle pagineWeb.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 è chiamataontologia.
Insieme aRDF,di cui è un'estensione,[1]OWL fa parte del progetto delweb semantico.
Semantica
[modifica|modifica wikitesto]Il linguaggio OWL è costituito da unasemantica formalecostruita dal consorzioW3Csulla base dello standardXMLchiamatoRDF.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|modifica wikitesto]Uno dei problemi maggiori delle ontologie è la scelta della potenza espressiva. Lalogica 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 unabase di conoscenzache 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.
Logiche
[modifica|modifica wikitesto]Per scegliere un sottoinsieme della logica del prim'ordine che sia decidibile si è utilizzata lalogica proposizionaleaumentandone la potenza aggiungendo delle logiche rappresentate per convenzione con delle sigle:
Lettera o sigla della logica | Descrizione |
---|---|
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 | |
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 | |
Aggiunge ad ALC la definizione della transitività di una relazione | |
Inclusione e equivalenza tra relazioni | |
disgiunzione di proprietà, riflessività, asimmetria, irriflessività, relazioni composte da altre relazioni, definizione di non-relazione tra due individui | |
(One of) | creazione di classi tramite elenco di tutti e soli gli individui contenuti |
(Inverse) | definizione di proprietà inversa |
(Functionality) | definizione di proprietà funzionali |
(Number) | restrizione di cardinalità: numero di elementi che partecipano a una certa relazione minore, maggiore o uguale di un valore n |
(Qualified) | come N, ma la relazione può essere qualificata |
(Numerable Domain) | definizione di domini (tipi di dato) a cui può portare una relazione (es. "Mario ha n anni" ) |
Versioni
[modifica|modifica wikitesto]Esistono diverse versioni di OWL, molto diverse tra di loro.
OWL DL
[modifica|modifica wikitesto]Utilizza SHOIN(Dn), è decidibile e ha procedure di deduzione con complessità ben conosciute.
OWL Lite
[modifica|modifica wikitesto]Utilizza SHIF(Dn), è semplice da implementare ma ha basso potere espressivo
OWL Full
[modifica|modifica wikitesto]Utilizza la logica del primo ordine, addirittura espandendola con altri predicati. È quindi molto espressivo ma indecidibile.
OWL 2
[modifica|modifica wikitesto]Raccomandato dalW3Cdal 2009, è basato su SROIQ(Dn)
Sintassi
[modifica|modifica wikitesto]La famiglia di linguaggi OWL supporta una varietà di sintassi. È utile distinguere sintassi dialto livellofinalizzate alla specifica da sintassi discambiopiù adatte all'uso generale.
Alto livello
[modifica|modifica wikitesto]Questi sono vicini alla struttura ontologica dei linguaggi nella famiglia OWL.
Sintassi astratta OWL
[modifica|modifica wikitesto]La sintassi di alto livello viene utilizzata per specificare la struttura e la semantica dell'ontologia OWL[5].
La sintassi astratta OWL presenta un'ontologia come una sequenza diannotazioni,assiomiefatti.Le annotazioni contengonometadatiorientati alla macchina e all'uomo. Le informazioni sulle classi, proprietà e individui che compongono l'ontologia sono contenute solo in assiomi e fatti. Ogni classe, proprietà e individuo èanonimoo identificato da un riferimento URI. I fatti indicano dati su un individuo o su una coppia di identificatori individuali (che gli oggetti identificati sono distinti o uguali). Gli assiomi specificano le caratteristiche delle classi e delle proprietà. Questo stile è simile ai linguaggi dei frame e abbastanza dissimile dalle ben note sintassi per DL e Resource Description Framework (RDF)[5].
Sean Bechhofer,et al.sostengono che sebbene questa sintassi sia difficile da analizzare, è abbastanza concreta. Concludono che lasintassi astrattadel nome può essere fuorviante.
Sintassi funzionale OWL2
[modifica|modifica wikitesto]Questa sintassi segue da vicino la struttura di un'ontologia OWL2. Viene utilizzato da OWL2 per specificare semantiche, mappature per scambiare sintassi e profili[6].
Sintassi di Exchange
[modifica|modifica wikitesto]Sintassi RDF
[modifica|modifica wikitesto]Le mappature sintattiche in RDF sono specificate[5][7]per i linguaggi nella famiglia OWL. Sono stati ideati diversi formati di serializzazione RDF. Ciascuno porta a una sintassi per le lingue della famiglia OWL attraverso questa mappatura. RDF/XML è normativo[5][7].
Sintassi XML OWL2
[modifica|modifica wikitesto]OWL2 specifica una serializzazione XML che modella da vicino la struttura di un'ontologia OWL2[8].
Sintassi di Manchester
[modifica|modifica wikitesto]La sintassi di Manchester è una sintassi compatta e leggibile dall'uomo con uno stile vicino ai linguaggi dei frame. Sono disponibili variazioni per OWL e OWL2. Non tutte le ontologie OWL e OWL2 possono essere espresse in questa sintassi[9].
Esempi
[modifica|modifica wikitesto]IlW3C OWL 2 Web Ontology Languagefornisce esempi di sintassi[10].
Ontologia del tè
[modifica|modifica wikitesto]Si consideri un'ontologia per il tè basata su una classe di tè. Innanzitutto, è necessario un identificatore di ontologia. Ogni ontologia OWL deve essere identificata da un URI (http://www.example.org/tea.owlper esempio). Questo esempio fornisce un senso della sintassi.
- Sintassi funzionale OWL2
Ontology(<http://example.org/tea.owl> Declaration(Class(:Tea)) )
- Sintassi XML OWL2
<OntologyontologyIRI="http://example.org/tea.owl"...> <Prefixname="owl"IRI="http://www.w3.org/2002/07/owl#"/> <Declaration> <ClassIRI="Tea"/> </Declaration> </Ontology>
- Sintassi di Manchester
Ontology:<http://example.org/tea.owl> Class:Tea
- Sintassi RDF / XML
<rdf:RDF...> <owl:Ontologyrdf:about=""/> <owl:Classrdf:about="#Tea"/> </rdf:RDF>
- RDF/Turtle
<http://example.org/tea.owl>rdf:typeowl:Ontology. :Teardf:typeowl:Class.
Terminologia
[modifica|modifica wikitesto]I linguaggi della famiglia OWL sono in grado di creare classi, proprietà, definire istanze e le sue operazioni.
Istanze
[modifica|modifica wikitesto]Un esempio è un oggetto. Corrisponde ad una descrizione logicaindividuale.
Classi
[modifica|modifica wikitesto]Unaclasseè una raccolta di oggetti. Una classe può contenere individui,istanzedella classe. Una classe può avere un numero qualsiasi di istanze. Un'istanza può appartenere a nessuno, a una o più classi.
Una classe può essere unasottoclassedi un'altra, ereditando le caratteristiche dalla suasuperclasse genitrice.Ciò corrisponde alla sussunzione logica e all'inclusione del concetto DL annotata.
Tutte le classi sono sottoclassi di owl:Thing (DLTop typenotato), la classeradice.
La classe e i suoi membri possono essere definiti in OWL sia per estensione che per intensione. A un individuo può essere esplicitamente assegnata una classe daun'asserzione di Classe,ad esempio possiamo aggiungere un'affermazioneLa Regina Elisabetta è una (un'istanza di)umana,o da un'espressione di classe con dichiarazioni ClassExpressionogni istanza della classeumanache ha un valorefemminilealla proprietà delsessoè un'istanza della classe delledonne.
Esempio
[modifica|modifica wikitesto]Chiamiamoumanola classe di tutti gli umani nel mondo è una sottoclasse diowl:Thing
.La classe di tutte le donne (quindidonna) nel mondo è una sottoclasse diumani.Quindi abbiamo:
Si può notare l'appartenenza di qualche individuo a una classe
ClassAssertion (umano George_Washington)
e inclusione di classe
SubClassOf (donna umano)
Il primo significa "George Washington è un umano" e il secondo "ogni donna è umana".
Proprietà
[modifica|modifica wikitesto]Una proprietà è una caratteristica di una classe: una relazione binaria diretta che specifica un attributo vero per le istanze di quella classe. Le proprietà a volte agiscono come valori di dati o collegamenti ad altre istanze. Le proprietà possono mostrare caratteristiche logiche, ad esempio, essendo transitive, simmetriche, inverse e funzionali. Le proprietà possono anche avere domini e intervalli.
Proprietà del tipo di dati
[modifica|modifica wikitesto]Le proprietà dei tipi di dati sono relazioni tra istanze di classi e valori letterali RDF o tipi di dati dello schema XML. Ad esempio, modelName (di tipostringa) è la proprietà della classe Manufacturer. Sono formulati usando il carattereowl:DatatypeProperty.
Proprietà degli oggetti
[modifica|modifica wikitesto]Le proprietà degli oggetti sono relazioni tra istanze di due classi. Ad esempio, OwnedBy può essere una proprietà del tipo di oggetto della classe Vehicle e può avere un intervallo che è la classe Person. Sono formulati usandoowl:ObjectProperty.
Operatori
[modifica|modifica wikitesto]Le lingue nella famiglia OWL supportano varie operazioni su classi come unione, intersezione e complemento. Consentono inoltre l'enumerazione delle classi, la cardinalità, la disgiunzione e l'equivalenza.
Metaclassi
[modifica|modifica wikitesto]Le metaclassi sono classi di classi. Sono consentiti in OWL completo o con una funzionalità chiamata giochi di parole di classe / istanza.
Note
[modifica|modifica wikitesto]- ^(EN)OWL Web Ontology Language Reference,suw3.org,World Wide Web Consortium,10 febbraio 2004.URL consultato il 31 marzo 2017(archiviatoil 31 marzo 2017).
- ^(EN)OWL Web Ontology Language Reference,suw3.org.URL consultato il 15 agosto 2018.
- ^(EN)OWL 2 Web Ontology Language Document Overview (Second Edition),suw3.org.URL consultato il 15 agosto 2018.
- ^(EN)OWL 2 Web Ontology Language Document Overview (Second Edition) - Relationship to OWL1,suw3.org.URL consultato il 15 agosto 2018.
- ^abcdPeter F. Patel-Schneider, Ian Horrocks eHayes Patrick J.,OWL Web Ontology Language Semantics and Abstract Syntax,suw3.org,World Wide Web Consortium, 10 febbraio 2004.URL consultato il 18 aprile 2010.
- ^Sean Bechhofer,Peter F. Patel-Schneider eDaniele Turi,OWL Web Ontology Language Concrete Abstract Syntax,suowl.man.ac.uk,University of Manchester,10 dicembre 2003.URL consultato il 18 aprile 2010.
- ^abPeter F. Patel-Schneider e Boris Motik,OWL 2 Web Ontology Language Mapping to RDF Graphs,inOWL 2 Web Ontology Language,World Wide Web Consortium, 27 ottobre 2009.URL consultato il 18 aprile 2010.
- ^Boris Motik, Bijan Parsia e Peter F. Patel-Schneider,OWL 2 Web Ontology Language XML Serialization,inOWL 2 Web Ontology Language,World Wide Web Consortium, 27 ottobre 2009.URL consultato il 18 aprile 2010.
- ^Matthew Horridgee Peter F. Patel-Schneider,OWL 2 Web Ontology Language Manchester Syntax,inW3C OWL 2 Web Ontology Language,World Wide Web Consortium, 27 ottobre 2009.URL consultato il 18 aprile 2010.
- ^Pascal Hitzler,Markus Krötzsch,Bijan Parsia, Peter F. Patel-Schneider eSebastian Rudolph,OWL 2 Web Ontology Language Primer,inOWL 2 Web Ontology Language,World Wide Web Consortium, 27 ottobre 2009.URL consultato il 15 ottobre 2013.
Voci correlate
[modifica|modifica wikitesto]- Ontologia (informatica)
- Web semantico
- Resource Description Framework
- Teoria del primo ordine
- Logica descrittiva
Collegamenti esterni
[modifica|modifica wikitesto]- Sito ufficiale,suw3.org.
- Web ontology language,inLessico del XXI secolo,Istituto dell'Enciclopedia Italiana,2012-2013.
- OWL 2 - New Features and Rationalenuove funzioni di OWL 2 rispetto a OWL 1
- OWL Web Ontology Languagedefinito dal W3C
- OWL Web Ontology Language,guida del W3C
Controllo di autorità | LCCN(EN)sh2018001881·GND(DE)4396527-1·J9U(EN,HE)987012403567505171 |
---|