The goal of our work at this time is to create a website supporting the integration and the query of archaeological databases. There are at least two focuses: one is to satisfy the basic query demand from the user, and the other is to find a good way to display the conflicts generated in the integration of different databases and ask the user to give solutions through interactions.
So it's composed of two phases corresponding to the two focuses: the basic phase and the conflict-resolving phase.
- Basic phase: At the point of a user, s/he makes a series of selections for the query, and then gets the result with some kind of format (e.g., txt, excel files etc.). Standing on the side of the system (or web application), it displays the necessary information about the query to the user (such as the datasets) with a friendly way, and outputs the results according to the user's requirements.
- Conflict-resolving phase: when a new dataset is integrated into the existing database, some conflicts may happen for the different definitions used by the different reseachers. While a query is processed, it's the user who should provide its resolutions to the concerned conflicts in order to produce the right result. It's an interactive procedure.
Honestly, I don't believe there is a clear-cut boundary between these two phases. When displaying integrated database to the user, some conflicts must be resolved first. The processing of the query should be the kernel of the project, including the ontologies extraction, the dataset integration, and the query processing etc. But the demo just visualizes the idea of our project/proposal. It's enough to put the emphasis on the visualiztion and interaction.
In the implementation, we use classical client-server architecture. The basic idea is as the following: the archaeological datasets are stored in the serve. We use MySql database to store all of data for the moment. The ontological information about the datasets is organized with an XML format, in owl or xml files. When the user logs the website and starts to select, the client on the user's side will fetch relevant information from the server (one possible way is to read data from the XML or mysql database, generate suitable html pages and send them back to the client browers) .