uk.ac.ebi.microarray.zooma.formulate
Class ContextSensitiveMappingFormulator
java.lang.Object
uk.ac.ebi.microarray.zooma.formulate.AbstractFormulator
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 OntologyTerm
s made in the same context is assumed to be a
single alternative hypothesis.
- Author:
- Tony Burdett
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ContextSensitiveMappingFormulator
public ContextSensitiveMappingFormulator()
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.