GECAD Ontology ALignment System

This work is partially supported by the Portuguese MCT-FCT project COALESCE (PTDC/EIA/74417/2006).

This work is being published in conferences, workshops and other knowledge disseminating events.

Copyright remains with the authors.

This information should not be copy-pasted without acknowledging its origins.
Please contact the
authors for information on how to use or reference this information.


Represent any kind of data structures that Components manipulate as input and/or output.

Currently, the system supports:

* ONTOLOGY which corresponds to one ontology specification;

* MATRIX which corresponds to a set of matches (or correspondences);

* ALIGNMENT which corresponds to a set of mappings, i.e.  a level 0, 1 or 2 Alignment.

Note: An level 0 Alignment might be represented as a MATRIX.


Also called actors, are objects that play one or more roles in the ontology matching process. According to that roles, most common components might be classified as:

* Loaders — are able to load a Data-Entity from a given location;

* Matchers — when implementing a given matching algorithm (e.g. String-Distance );

* Operators —  when implementing a specific Data-Entity operation (e.g. filtering one Matrix/Alignment using a threshold value or aggregate several Matrix/Alignment into just one through a given function);

* Alignment Extractors — are those that applying some technique are able to transform 1  or more Matrix into one Alignment;

* Alignment Evaluators — are able to compare one Alignment (generated by the system) with a provided reference Alignment  applying evaluation metrics (e.g. Precison, Recall);

* Adapters — are responsible to transform a Data-Entity in the common representation format to another (different) format that is expected by an (external) Component and vice-versa.

Each component explicitly defines what are the required input Data-Entities and which output Data-Entities are provided. Particularities of each component are configurable through a set of parameters.

Workflow specification

Is about choosing, from all available components, which ones will take part of the matching process, its parameters and how Data-Entities flow between components. Note that, output Data-Entities of one component might be used as input Data-Entities for others components. The result of a workflow specification is a new complex matcher; referred to as meta-matcher.

A workflow specification can be done (i) programmatically, (ii) by script through an XML file or (iii) using a GUI (which is not available yet).

Execution Engine

Is able to tackle an workflow specification (i.e. meta-matcher) and automatically execute/run it. Following steps are done:

* reads the list of components that are present in the workflow and creates one instance for each component  (respectively);

* each component instance is informed of what are the components responsible for providing required input data entities;

* particular parameters of each component instance are set up with the defined values during workflow specification phase;

* terminator  components are automatically identified and a ‘run’ command is sent to each one that must adopt a pull-strategy behavior to get their required inputs and further process those inputs in order to generate the intended outputs.

Core concepts