Salta al contenuto principale
In caricamento...

Cos'è Mastro?

Mastro è un reasoner, o ragionatore, per OBDA, in quanto è in grado di ragionare automaticamente su ontologie formalizzate attraverso le logiche della famiglia DL-Lite. Le sorgenti di dati in Mastro sono interpretate come un unico database relazionale, anche nel caso in cui i dati sono distribuiti su molteplici sorgenti, relazionali o meno, nel qual caso si usa uno strumento di data federation per ricondurle ad un'unica sorgente. Infine, i mapping tra ontologie e sorgenti in Mastro sono costituiti da un insieme di asserzioni che associano i predicati dell'ontologie con interrogazioni sul database sottostante. Questa architettura permette a Mastro di effettuare interrogazioni (query) SPARQL sull'ontologia attraverso una tecnica che sfrutta un processo di riscrittura della query per ridurre questa operazione alla valutazione standard di una query SQL sul database relazionale. Mastro è sviluppato in JAVA.


Principali funzionalità

Il cuore del sistema Mastro è il ragionatore ontologico, che offre le seguenti principali funzionalità: classificazione dell'ontologia; verifica di consistenza della specifica OBDM, servizi di ragionamento intenzionale quale sussunzione e disgiunzione tra concetti, tra ruoli e tra attributi e verifica di soddisfacibilità di concetti, di ruoli, e di attributi; query answering. Di seguito descriviamo queste funzionalità in dettaglio.

Classificazione dell'Ontologia

La classificazione dell'ontologia è il servizio di ragionamento che computa tutte le relazioni di sussunzione inferite in una ontologia tra concetti, tra ruoli, e tra attributi definiti nell'alfabeto dell'ontologia. La classificazione in Mastro è implementata attraverso un algoritmo innovativo su misura per OWL 2 QL e DL-Lite, basato sull'idea di codificare il livello intenzionale dell'ontologia (la TBox) in un grafo orientato, e ridurre la porzione principale del ragionamento alla computazione della chiusura transitiva del grafo.

Verifica di consistenza

Una specifica OBDA è costituita da una ontologia, da uno schema sorgente di database relazionale, e da un mapping tra l'ontologia e lo schema sorgente. La verifica di consistenza consiste nel constatare se la specifica è soddisfacibile, ovvero, dato un database D istanza dello schema sorgente, stabilire se esiste almeno una interpretazione al primo ordine I che soddisfa sia tutti gli assiomi dell'ontologia (cioè I è un modello dell'ontologia) sia i mapping. Per soddisfare i mapping, I deve soddisfare tutte la asserzioni della ABox (cioè le istanze dell'ontologia) che possono essere costruite dal database sorgente D secondo le asserzioni definite nel mapping. Per questo scopo, Mastro produce un insieme di query di verifica di consistenza, ciascuna associata ad una asserzione dell'ontologia la cui contraddizione porta all'insoddisfacibilità della specifica OBDA. La verifica di consistenza viene eseguito rispondendo a ciascuna di queste query sulla specifica (dato un database istanza dello schema sorgente). Le asserzioni dell'ontologia considerate in questo passo sono le disgiunzioni, le funzionalità, i denial, le asserzioni di identificazione, e i vincoli EQL.

Servizi di ragionamento intenzionale

Mastro offre una suite di servizi di ragionamento intenzionale, essenzialmente implementati attraverso estensioni dell'algoritmo di classificazione dell'ontologia. Questo algoritmo permette anche di classificare espressioni positive in OWL 2 QL e DL-Lite, quindi offrendo un servizio più potente della classificazione tradizionale (limitata agli elementi dell'alfabeto dell'ontologia). Una variante di questa tecnica permette di ottenere la lista di tutte le disgiuntezze tra concetti, tra ruoli, e tra attributi che sono inferiti dall'ontologia, e, di conseguenza, la lista di concetti, ruoli, e attributi insoddisfacibili (se presenti), i.e., le entità aventi una interpretazione vuota in ogni modello dell'ontologia. Queste computazioni vengono effettuate a fronte di una qualsiasi modifica nella specifica OBDA, e i risultati ottenuti rimangono disponibili per richieste specifiche (oltre a essere sfruttati dall'algoritmo di query answering di Mastro).

Query Answering

Mastro è in grado di rispondere a unioni di query congiuntive (quindi query del tipo UNION-SELECT-PROJECT-JOIN)  su ontologie specificate in SPARQL. Queste query sono interpretate secondo la classica semantica del primo ordine per query congiuntive in presenza di informazione incompleta. Il processo di risposta alle query si divide in due passi: nel primo, la query utente sull'ontologia viene riformulata a seconda delle asserzioni di inclusione presenti nella TBox dell'ontologia. Durante questo passo Mastro utilizza un algoritmo ottimizzato chiamato Presto. La query così espansa viene poi riscritta secondo la specifica di mapping, e poi valutata attraverso il motore SQL del DBMS a cui è affidata la gestione delle sorgenti di dati. Oltre a unioni di query congiuntive, Mastro è anche in grado di rispondere a query EQL, i.e., query al primo ordine interpretate secondo una semantica basata sulla Logica Epistemica. In questo modo, seppur sotto un ragionevole regime di approssimazione, Mastro permette di valutare query del primo ordine su ontologie in DL-Lite o OWL 2 QL.


Architettura del sistema

Mastro interagisce con diversi linguaggi standard: OWL 2 QL per la specifica dell'ontologia, SPARQL per la specifica delle query, e R2RML per la specifica dei mapping. Mastro è inoltre in grado di gestire ontologie in DL-Lite arricchite con vincoli di identificazione, vincoli di negazione, e vincoli EQL, una forma particolare di vincoli del primo ordine interpretati sotto una semantica basata sulla Logica Epistemica. Di conseguenza, Mastro è in grado di gestire i linguaggi più espressivi della famiglia DL-Lite di logiche descrittive, e può addirittura andare oltre l'espressività di OWL 2 QL.

Il Data Source Manager permette interazione con i DBMS commerciali e non commerciali più utilizzati. Tra gli altri, offre supporto per Oracle, DB2, SQLServer, MySQL, e Postgres. Mastro può anche operare come un reasoner per ontologie stand-alone OWL 2 QL e DL-Lite, offrendo servizi di ragionamento intenzionale ed estenzionale, quali il controllo di consistenza e il query answering. In questa modalità, il livello estenzionale dell'ontologia è gestito dal DBMS relazionale. Ontologie DL-Lite o OWL 2 QL date in input a Mastro sono parsate attraverso le OWLAPI


Download e licenza

Scarica Mastro

Contattaci a info@obdasystems.com

Licenza

Contattaci a info@obdasystems.com