The overall QA processing is illustrated in the Figure.

[PowerAqua components diagram]

In a first step, the linguistic component [3] analyzes the NL query and translates it into its linguistic triple form. E.g a query "What are the cities of Spain?" has the linguistic triple (<what-is, cities, Spain>)

In a second step the Ontology Discovery sub module of PowerMap, identifies the set of ontologies likely to provide the information requested by the user. To do so, it searches for approximate syntactic matches within the ontology indexes, using not just the linguistic triple terms, but also lexically related words obtained from WordNet and from the ontologies, used as background knowledge sources. E.g the term cities match with the concepts city, metropolis, etc. Once the set of possible syntactic mappings have been identified, the PowerMap Semantic Filtering sub module checks its validity using a WordNet-based filtering methodology. In other words, WordNet based methods are used to elicit the sense of candidate concepts by looking at the ontology hierarchy, and to check the semantic validity of those syntactic mappings, which originate from distinct ontologies, with respect the user's query terms. After this process, PowerMap generates a set of Entity Mapping Tables where each table links a query term with a set of concepts mapped in the different domain ontologies.

In a third step the Triple Similarity Service module takes as input the previously retrieved Entity Mapping Tables and the initial Linguistic triples and extract, by analyzing the ontology relationships, a small set of ontologies that jointly covers the user query. The output of this module is a set of Triple Mapping Tables where each table relates a linguistic triple with all the equivalent ontological triples. Using these triples the information of the Knowledge Bases is analysed to generate the final answer.

Finally, because each resultant OT only leads to partial answers, they need to be combined into one complete answer. The goal of the fourth component is to merge and rank the various interpretations that different ontologies may produce.