  In Ontology Based Data Access (OBDA) users pose SPARQL queries over an
ontology that lies on top of relational datasources. These queries are
translated on-the-fly into SQL queries by OBDA systems. Standard SPARQL-to-SQL
translation techniques in OBDA often produce SQL queries containing redundant
joins and unions, even after a number of semantic and structural optimizations.
These redundancies are detrimental to the performance of query answering,
especially in complex industrial OBDA scenarios with large enterprise
databases. To address this issue, we introduce two novel notions of OBDA
constraints and show how to exploit them for efficient query answering. We
conduct an extensive set of experiments on large datasets using real world data
and queries, showing that these techniques strongly improve the performance of
query answering up to orders of magnitude.
