The OBDM Engine
What is Mastro?
Mastro is the engine behind Ontology-based Data Management.
What can it do?
Mastro can perform SPARQL query answering over structured databases.
How does it work?
Mastro exploits ontology-to-database virtual mappings to extract the data.
Ontologies in Mastro are specified through OWL 2, the W3C standard ontology language, any of its profiles, or through Graphol, a visual language for OWL 2 ontologies.
The ontology is connected to external relational data management or data federation systems through a virtual mapping layer which establishes a semantic relation between SQL queries issued over the underlying data layer and the ontology entities.
To access data, users can formulate SPARQL queries over the ontology and exploit Mastro’s automatic reasoning capabilities to explore the ontology and the mapping and extract all the relevant data with respect to the user query.
Mastro’s Reasoning Capabilities
The heart of the Mastro system is the ontology reasoner, which provides the core access, integration, and consistency checking capabilities over the underlying data.
SPARQL Query Answering and Data Quality Checking
Mastro can answer queries over OWL 2 ontologies specified in SPARQL. The query answering process is performed in two steps: first, the user
query is reformulated according to the rules (or axioms) in the ontology. The expanded query is
then translated to SQL according to the virtual mappings, and evaluated by means of the SQL engine of the DBMS managing the data sources.
Data Quality (or Data Consistency) checking consists in verifying whether the data in the sources is consistent with respect to the business rules in the ontology. Given an ontology, Mastro is able to automatically identify these rules, translate them into queries, and providing, for each such query, the results, which are the violations of the ontology rule.
Ontology Classification and Intentional Reasoning Services
Mastro’s ontology classification service allows to reconstruct the hierarchical structure of the ontology entities by deducing all the relationships between these entities that are inferred by the ontology rules. The classification of the ontology is implemented through an algorithm which is based on the idea of encoding the ontology into a directed graph, and reducing reasoning to the computation of the transitive closure of the graph.
Mastro provides a set of additional reasoning
services over the ontology, essentially through extensions of the algorithm for ontology classification. In fact this algorithm provides more powerful reasoning capabilities than traditional ontology reasoners. These capabilities allow Mastro to infer all possible logical consequences of the axioms in the ontology, in order to identify and highlight possible inconsistencies and logical anomalies in the ontology.
Support for W3C Standards
- Ontology language: OWL 2, OWl 2 profiles, Graphol
- Mapping language: proprietary SQL-based language, R2RML
- Query language: SPARQL 1.1
Mastro’s Data Source Manager allows connections to the most popular commercial and non-commercial SQL-based data management systems, including open source SQL databases, proprietary SQL databases, and data federation or virtualization systems, to integrate non-SQL data as well.
Mastro Web Services
Mastro Web Services is the REST API interface through which Mastro can be hooked up to Monolith, to custom interfaces, or set up as a standard SPARQL endpoint.