Skip to content
Guohui Xiao edited this page Sep 18, 2013 · 2 revisions

Table of Contents

DL-Lite query answering with databases

The objective of this project is to create a query answering system for DL-Lite ontologies.

Inputs: A DL-LiteA ontology O composed of a TBox T, and a ABox A A Union of Conjunctive Queries (UCQ) Q

Output: The certain answers to the Q

Input formats The ontology will be provided as a OWL 2.0 file. Use the OWLAPI to parse this input. The UCQ will be provided in Datalog notation.

Requirements

The query answering technique to be implemented is the one defined in the literature for DL-LiteA [1,2,3], i.e., a query reformulation based technique that relies on a relational database to store the ABox of the ontology. As such, the implemented system should construct this database at initialization time. In order to do this, the system developed in this project should create this ABox at the moment of parsing the input. The use of an in-memory database is recommended (e.g., H2, Derby).

With respect to the GUI, the authors are free to choose from a Swing based GUI (in the spirit of pgAdmin3, SQLDeveloper, etc) or a command line interface (in the spirit of the mysql or psql console interfaces) that allow you to a) initialize the system with an input ontology b) do query answering in an interactive way (use screens to show batches of answer tuples, allow for cancellation of query execution) and properly catch and handle errors during the query answering process.

Evaluation

Correctness of the implementation will be evaluated by comparing the results obtained with the implemented system with those provided by Quonto. The files required to carry out these comparisons will be provided at a later time.

These tests should be executable automatically (without the use of any GUI) using a module of the project built specifically for this purpose. This can be implemented as a JUnit test optionally.

Structure and deliverables

The API of the project should be properly modularized with components that handle each of the task involved in the system as independent operations (e.g., ontology parsing, ABox database initialization, query reformulation, query evaluation, etc.). Each of these modules should be properly documented using JavaDoc and inline comments.

The final package of the project should include

  • A executable JAR that allows to start the application
  • Means to build and pack the project from the sources. For this task, and to facilitate the management and definition of dependencies (e.g., Jars from libraries used for the project such as the OWLAPI, H2, etc) it is recommended that the project is setup to use Maven 2. A quick start guide for Maven 2 can be found here. If the project is developed using Eclipse it is recommended the use of the m2Eclipse plugin to facilitate development.

Deliverable stages

  • First deliverable. Document describing the architecture of the system. The functionality of each of the modules of the system as well as the concrete implementation choices for each of them.
  • Second deliverable. An initial overview of the status of the implementation detailing open issues.
  • Third and final deliverable. A final document including the updated architecture and system proposal to reflect the final stage of the development. A simple user manual for the application. The software package described above.

Bibliography

  • Tractable reasoning and efficient query answering in description logics: The DL-Lite family. Diego Calvanese, Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini, and Riccardo Rosati. J. of Automated Reasoning, 39(3):385-429, 2007. pdf
  • Ontologies and databases: The DL-Lite approach. Diego Calvanese, Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini, Antonella Poggi, Mariano Rodriguez-Muro, and Riccardo Rosati. In Sergio Tessaris and Enrico Franconi, editors, Semantic Technologies for Informations Systems - 5th Int. Reasoning Web Summer School (RW 2009), volume 5689 of Lecture Notes in Computer Science, pages 255-356. Springer, 2009.
  • Linking data to ontologies Antonella Poggi, Domenico Lembo, Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, and Riccardo Rosati. J. on Data Semantics, X:133-173, 2008. pdf
Clone this wiki locally