Abstract: Ontology-based data access (OBDA) is one
possible approach to data management. In OBDA, the data
is stored in external sources, such as the databases or files.
The end-user view of the data is realized though ontologies,
and queried as such. In the case of relational data sources,
ontologies abstract away the technical details relating to the
relational data model, and provide end-user with a more
intuitive, object-oriented view of the data. The data layer of
such systems may use many heterogenous data storage
mechanisms. Relational databases are the most common,
but other data storage mechanisms such as NoSQL
databases, structured and semi-structured files may be used
as well. The view layer of OBDA system is usually
implemented though OWL ontologies, queried via SPARQL
language. OWL ontologies in OBDA systems only serve to
provide the conceptual view of the data stored in the
database. Therefore the ontology only contains concept
definitions, and not the data itself. This separation of the
data (in the database) and its descriptions (in the ontology)
imposes some challenges in the development of OBDA
systems. For example, mappings need to be created that will
connect data definitions in the data sources to the elements
of the ontology. Also, using these mappings to accurately
and efficiently answer end-user queries is an intricate task
in itself. In this work, we present an automated system for
bootstrapping a generic OBDA architecture, based on the
ontop tool. Our system is able to generate the ontology that
will serve as a conceptual view of the provided data sources,
and map the data in the data sources to the elements of the
generated ontology. An open-source tool ontop is used to
subsequently provide a SPARQL endpoint for quering the
data over the generated ontology. We put emphasis on
generating an ontology that will describe the underlying
data in a best possible way, by using database constraints to
refine concept descriptions. Also, we provide a web-based
front-end application, to aid in understanding and verifying
the generated ontology by the end-user.