Section: Software
Alignment API : manipulating ontology alignments
Participants : Jérôme Euzenat [ Contact ] , Chan Le Duc, Cássia Trojahn dos Santos.
We have designed a format for expressing alignments in a uniform way [1] . The goal of this format is to be able to share on the web the available alignments. It should help systems using alignments, e.g., mergers, translators, to take advantage of any alignment algorithm and it will help alignment algorithms to be used in many different tasks. This format is expressed in RDF , so it is freely extensible, and has been defined by a DTD (for RDF/XML ), an OWL ontology and an RDF Schema.
The API itself is a Java description of tools for accessing the common format. It defines four main interfaces (Alignment, Cell, Relation and Evaluator) and proposes the following services:
- Storing, finding, and sharing alignments;
- Piping matching algorithms (improving an existing alignment);
- Manipulating alignments (thresholding and hardening);
- Generating processing output (transformations, axioms, rules);
- Comparing alignments.
We have provided an implementation for this API which can be used for producing transformations, rules or bridge axioms independently from the algorithm which produced the alignment. The proposed implementation features:
- a base implementation of the interfaces with all useful facilities;
- a library of sample matchers;
- a library of renderers (XSLT, SWRL, OWL, C-OWL, SEKT mapping language);
- a library of evaluators (precision/recall, generalised precision/recall, precision/recall graphs and weighted Hamming distance);
- a library of wrapper for several ontology API ;
- a parser for the format.
To instanciate the API , it is sufficient to refine the base implementation by implementing the align() method. Doing so, the new implementation will benefit from all the services already implemented in the base implementation.
We have developed on top of the Alignment API an Alignment server that can be used by remote clients for matching ontologies and for storing and sharing alignments. It is developed as an extensible platform which allows to plug-in new interfaces. The Alignment server can be accessed through HTML, web service (SOAP and REST) and agent communication interfaces.
This year we have further developed the REST interface of the server and integrated it with the Cupboard ontology management service [6] . We have also worked on integrating fully within the system the expressive alignment language called EDOAL. We have also started developping an ontology network abstraction which has been used in our work on ontology distances and our work on distributed reasoning. Another important piece of work has been to separate the similarity and distance computation parts in the OntoSim library.
The Alignment API is used in the Ontology Alignment Evaluation Initiative data and result processing. It is also used as input or output by several alignment tools (among which OLA that we develop jointly with the Université du Québec à Montréal () or Aroma [7] ).
The Alignment API is freely available since december 2003 under the LGPL licence at http://alignapi.gforge.inria.fr