Abstract
When developing an Application Programming Interface (API), there is often a need to use other libraries to implement some of the functionality. However, using an external library will make the API dependent on it. There may be several libraries that implement the needed functionality. A problem arises if the user needs to use a different library than what the API supports. The user should be able to choose which underlying library the API will use. To achieve this, the API will have to be made in a generic way, so that it can work with any library that implements the needed functionality. This thesis discusses approaches that can make an API independent of its dependencies. We will see that a combination of several approaches are needed in order to achieve the best result. The approaches are tested on an R2RML mapping management API, written in Java. The API was made for the Optique project, led by the LogID group at the University of Oslo. The thesis will first give an introduction to Ontology Based Data Access (OBDA), with a focus on mappings. It will then discuss how to design an independent API. Towards the end, it will discuss the design and implementation of the R2RML API in detail.
When developing an Application Programming Interface (API), there is often a need to use other libraries to implement some of the functionality. However, using an external library will make the API dependent on it. There may be several libraries that implement the needed functionality. A problem arises if the user needs to use a different library than what the API supports. The user should be able to choose which underlying library the API will use. To achieve this, the API will have to be made in a generic way, so that it can work with any library that implements the needed functionality. This thesis discusses approaches that can make an API independent of its dependencies. We will see that a combination of several approaches are needed in order to achieve the best result. The approaches are tested on an R2RML mapping management API, written in Java. The API was made for the Optique project, led by the LogID group at the University of Oslo. The thesis will first give an introduction to Ontology Based Data Access (OBDA), with a focus on mappings. It will then discuss how to design an independent API. Towards the end, it will discuss the design and implementation of the R2RML API in detail.