uk.ac.ebi.microarray.zooma.formulate
Class ContextSensitiveMappingFormulator

java.lang.Object
  extended by uk.ac.ebi.microarray.zooma.formulate.AbstractFormulator
      extended by uk.ac.ebi.microarray.zooma.formulate.ContextSensitiveMappingFormulator
All Implemented Interfaces:
OntologyMappingFormulator

public class ContextSensitiveMappingFormulator
extends AbstractFormulator
implements OntologyMappingFormulator

An OntologyMappingFormulator that generates the most specific hypotheses possible and does basic filtering based on context.

This formulator generates hypotheses (using the supplied factory) by retrieving all possible matches to a given Value. Once a set of results are acquired, it compares contexts for equality and merges hypotheses that are asserted in the same context. If we have two hypotheses in context "foo", one that asserts text value 'v' maps to term 't1' and one that asserts text value 'v' maps to term 't2', this formulator will combine them into a single hypothesis that suggests the 'v' maps to both 't1' and 't2'. The original hypotheses are then discarded.

Each alternative hypothesis is generated on the basis of equal contexts. So, every pairing of Value to a collection of OntologyTerms made in the same context is assumed to be a single alternative hypothesis.

Author:
Tony Burdett

Constructor Summary
ContextSensitiveMappingFormulator()
           
 
Method Summary
 java.util.Collection<OntologyMappingHypothesis> formulateHypotheses(Value value)
          Formulate a set of hypotheses that describe the possible mappings that might be made about the given value.
 OntologyMappingHypothesisFactory getOntologyMappingHypothesisFactory()
           
 OntologyTermRetriever getOntologyTermRetriever()
           
 void setOntologyMappingHypothesisFactory(OntologyMappingHypothesisFactory factory)
           
 void setOntologyTermRetriever(OntologyTermRetriever retriever)
           
 
Methods inherited from class uk.ac.ebi.microarray.zooma.formulate.AbstractFormulator
addRetriever, clearRetrievers, getLog, getRetriever, removeRetriever, setRetriever
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContextSensitiveMappingFormulator

public ContextSensitiveMappingFormulator()
Method Detail

setOntologyMappingHypothesisFactory

public void setOntologyMappingHypothesisFactory(OntologyMappingHypothesisFactory factory)

getOntologyMappingHypothesisFactory

public OntologyMappingHypothesisFactory getOntologyMappingHypothesisFactory()

setOntologyTermRetriever

public void setOntologyTermRetriever(OntologyTermRetriever retriever)

getOntologyTermRetriever

public OntologyTermRetriever getOntologyTermRetriever()

formulateHypotheses

public java.util.Collection<OntologyMappingHypothesis> formulateHypotheses(Value value)
                                                                    throws HypothesisFormulationException
Description copied from interface: OntologyMappingFormulator
Formulate a set of hypotheses that describe the possible mappings that might be made about the given value. It is possible to use this method to formulate any hypothesis, whether this is the null or alternative hypothesis.

Implementations may use a specific strategy to fetch mappings that may, for example, spread across multiple sources. Such implementations should not usually be suitable for formulating the null hypothesis - normally the null hypothesis will prefer a mapping from a dedicated source or it will assert that no mapping is possible.

Implementations should retrieve, or construct, context information for each hypothesis formulated. Some implementations may wish to formulate hypotheses from the same source with different levels of sensitivity, for example: in some cases, species information may be required whereas in others it may be irrelevant.

Generally, formulators act as a facade over the OntologyTermRetriever and OntologyMappingHypothesisFactory interfaces to retrieve then generate hypotheses. However, most implementations will also describe some higher logic to consider only those hypotheses from relevant or interesting contexts.

Specified by:
formulateHypotheses in interface OntologyMappingFormulator
Parameters:
value - the description to hypothesise about
Returns:
the collections of mapping hypotheses that were formulated
Throws:
HypothesisFormulationException - if any hypotheses could not be generated, due to invalid data or a failure of retrieval


Copyright © 2010. All Rights Reserved.