The Alignement API package name is org.semanticweb.owl.align. This package name is used for historical reasons. In fact, the API itself is fully independent from OWL or the OWL API.
The API is essentially made of three interfaces. We present here, under the term "features", the information that the API implementation must provide. For each feature, there are the usual reader and writer accessors.
Concrete implementation of the API is described in the implementation page. RDF/XML rendering is presented in the format and EDOAL pages.
The Alignment interface describes a particular alignment. It contains a specification of the alignment and a list of cells. Its features are the following:
In addition, the interface specifies operations:
The Cell interface describes a particular correspondence between entities. It provides the following features:
Note: In a further version the strength will not be restricted to double but abstracted so that it is possible to define properly a composition algebra.
The Relation interface does not mandate any particular feature.
To these three main interfaces, implementing the format, are added a couple of other interfaces and classes.
The AlignmentProcess interface extends the Alignment interface by providing an align method. This interface must be implemented for each matching algorithm.
The Evaluator interface describes the comparison of two alignments (the first one could serve as a reference). Its features are the following:
The AlignmentException class specifies the kind of exceptions that are raised by matching algorithms and can be used by alignment implementations.
The AlignmentVisitor interface specifies a way to traverse alignment structire. It is used, in particular for rendering alignments.
In addition, matching and evaluation algorithms accept parameters in the form of java.lang.Properties. The parameters can be the various weights used by some algorithms, some intermediate thresholds or the tolerance of some iterative algorithms.