uk.ac.ebi.microarray.zooma.eval
Interface OntologyMappingEvaluator

All Known Implementing Classes:
DefaultMappingEvaluator

public interface OntologyMappingEvaluator

Evaluates ontology mapping hypotheses and produces an outcome based on assessments performed. This is basically a facade interface that operates over the evaluation subsystem that utilises a mediator between hypotheses and a calculator to determine the suitability of each hypothesis.

Generally, an evaluator will use an OntologyMappingCalculator to perform individual comparisons, adding logic for the ordering of comparisons and discarding unrequired hypotheses. Whereas calculators should be stateless, evaluators may preserve state. This means that, depending on the implementation, applications that use asynchronous evaluation requests may need to use multiple evaluators.

Author:
Tony Burdett

Method Summary
 OntologyMappingOutcome evaluateOutcome(Value value, java.util.Collection<OntologyMappingHypothesis> hypotheses)
          Evaluates the ontology mapping outcome for a collection of mapping hypotheses.
 

Method Detail

evaluateOutcome

OntologyMappingOutcome evaluateOutcome(Value value,
                                       java.util.Collection<OntologyMappingHypothesis> hypotheses)
                                       throws BadOutcomeException
Evaluates the ontology mapping outcome for a collection of mapping hypotheses. Given null and possible alternative hypotheses, it is possible to use an OntologyMappingCalculator to test them. An ontology mapping outcome is returned, which may indicate a failure (if no mapping is possible) or "curation required" (if multiple mappings are possible).

This method takes a set of hypotheses as a parameter. However, often the logic of the order in which to compare hypotheses, how they rank, and how to discard those hypotheses which are redundant based on other similar comparisons can be too complex for a simple iterative processed. For this reason, hypotheses can be tracked using a mediator pattern (see HypothesisTracker). Therefore, some implementations may wish to use higher order logic to determine which hypotheses to assess and in this case are free to ignore the supplied parameter. This is not discouraged: in fact, doing so is usually more efficient.

Parameters:
value - the value that is being used to generate a mapping outcome
hypotheses - the collection of hypotheses that need to be assessed
Returns:
the ontology mapping outcome of this mapping process
Throws:
BadOutcomeException - if the outcome of the collection of hypotheses could not be determined due to an error


Copyright © 2010. All Rights Reserved.