The alignment API is an API and implementation for expressing and sharing ontology alignments [David2011a].
Using ontologies is the priviledged way to achieve interoperability among heterogeneous systems within the semantic web. However, as ontologies underlying two systems are not necessarily compatible, they may in turn need to be reconcilied. This also applies to agent systems. Ontology reconciliation requires most of the time to find the correspondences between entities, e.g., classes, objects, properties, occuring in the ontologies. We call a set of such correspondences an alignment.
We have designed a format for expressing alignments in a uniform way [Euzenat 2004f]. 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 matching algorithms to be used in many different tasks. The 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 format and API have been extended into an expressive alignment language, called EDOAL [Euzenat2005h] supporting the description of coumpound entities within correspondences as well as the integration of transformation of entity values. It also supports the expression of link keys.
The Alignment API itself is a Java description of tools for accessing the common format. It defines five main interfaces (OntologyNetwork, Alignment, Cell, Relation and Evaluator) and proposes the following services:
We provide a reference 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:
To instanciate this 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 [Euzenat2007d]. The Alignment server can be accessed through HTML, web service (SOAP and REST) and agent communication interfaces. It is developed as an extensible platform which allows for pluging new interfaces in.
The Alignment server is accessible from two plug-ins for the NeOn toolkit and the WebContent platform. It is also integrated with the Cupboard ontology management service [D'Aquin2009a]. It has been embedded in the Mondeca ITM software and is used for publishing the alignments of the Ready4SmartCities project.
The alignment API is used in the Ontology Alignment Evaluation Initiative data and result processing. It is also used by more than 30 independent systems worldwide (with published papers).
Align API development and download site (and https://gitlab.inria.fr/moex/alignapi/.
The Align API is distributed for free, under the LGPL License, since December 2003.