  We address the issue of Ontology-Based Data Access, with ontologies
represented in the framework of existential rules, also known as Datalog+/-. A
well-known approach involves rewriting the query using ontological knowledge.
We focus here on the basic rewriting technique which consists of rewriting the
initial query into a union of conjunctive queries. First, we study a generic
breadth-first rewriting algorithm, which takes as input any rewriting operator,
and define properties of rewriting operators that ensure the correctness of the
algorithm. Then, we focus on piece-unifiers, which provide a rewriting operator
with the desired properties. Finally, we propose an implementation of this
framework and report some experiments.
