Class MaxWeightBipartiteExtractor
java.lang.Object
eu.sealsproject.platform.res.tool.impl.AbstractPlugin
de.uni_mannheim.informatik.dws.melt.matching_base.MatcherURL
de.uni_mannheim.informatik.dws.melt.matching_base.MatcherFile
de.uni_mannheim.informatik.dws.melt.matching_jena.MatcherYAAA
de.uni_mannheim.informatik.dws.melt.matching_jena.MatcherYAAAJena
de.uni_mannheim.informatik.dws.melt.matching_jena_matchers.filter.extraction.MaxWeightBipartiteExtractor
- All Implemented Interfaces:
Filter
,IMatcher<org.apache.jena.ontology.OntModel,
,Alignment, Properties> eu.sealsproject.platform.res.domain.omt.IOntologyMatchingToolBridge
,eu.sealsproject.platform.res.tool.api.IPlugin
,eu.sealsproject.platform.res.tool.api.IToolBridge
Faster implementation than
HungarianExtractor
for generating a one-to-one alignment.
The implementation is based on http://www.mpi-inf.mpg.de/~mehlhorn/Optimization/bipartite_weighted.ps (page 13-19).-
Field Summary
Modifier and TypeFieldDescriptionprivate static final int
private static final org.slf4j.Logger
Fields inherited from class de.uni_mannheim.informatik.dws.melt.matching_base.MatcherFile
FILE_PREFIX, FILE_SUFFIX
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate static void
augment
(MwbNode a, PriorityQueue<MwbNode> PQ) private static void
private static int
convertDoubleToInt
(double d, int multiplier) static Alignment
static Alignment
filter
(Alignment inputAlignment, MwbInitHeuristic heuristic) static Alignment
filter
(Alignment inputAlignment, MwbInitHeuristic heuristic, int multiplier) Filters the alignment by computing a maximal one to one alignment.match
(org.apache.jena.ontology.OntModel source, org.apache.jena.ontology.OntModel target, Alignment inputAlignment, Properties properties) Aligns two ontologies specified via a Jena OntModel, with an input alignment as Alignment object, and returns the mapping of the resulting alignment.private static void
relaxAllEdges
(MwbNode a1, Stack<MwbNode> RB, PriorityQueue<MwbNode> PQ) Methods inherited from class de.uni_mannheim.informatik.dws.melt.matching_jena.MatcherYAAAJena
getModelSpec, match, readOntology
Methods inherited from class de.uni_mannheim.informatik.dws.melt.matching_jena.MatcherYAAA
match
Methods inherited from class de.uni_mannheim.informatik.dws.melt.matching_base.MatcherFile
match
Methods inherited from class de.uni_mannheim.informatik.dws.melt.matching_base.MatcherURL
align, align, canExecute, getType
Methods inherited from class eu.sealsproject.platform.res.tool.impl.AbstractPlugin
getId, getVersion, setId, setVersion
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface eu.sealsproject.platform.res.tool.api.IPlugin
getId, getVersion
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
DEFAULT_MULTIPLIER
private static final int DEFAULT_MULTIPLIER- See Also:
-
-
Constructor Details
-
MaxWeightBipartiteExtractor
public MaxWeightBipartiteExtractor()
-
-
Method Details
-
match
public Alignment match(org.apache.jena.ontology.OntModel source, org.apache.jena.ontology.OntModel target, Alignment inputAlignment, Properties properties) throws Exception Description copied from class:MatcherYAAAJena
Aligns two ontologies specified via a Jena OntModel, with an input alignment as Alignment object, and returns the mapping of the resulting alignment. Note: This method might be called multiple times in a row when using the evaluation framework. Make sure to return a mapping which is specific to the given inputs.- Specified by:
match
in interfaceIMatcher<org.apache.jena.ontology.OntModel,
Alignment, Properties> - Specified by:
match
in classMatcherYAAAJena
- Parameters:
source
- This OntModel represents the source ontology.target
- This OntModel represents the target ontology.inputAlignment
- This mapping represents the input alignment.properties
- Additional properties.- Returns:
- The resulting alignment of the matching process.
- Throws:
Exception
- Any exception which occurs during matching.
-
filter
-
filter
-
filter
public static Alignment filter(Alignment inputAlignment, MwbInitHeuristic heuristic, int multiplier) Filters the alignment by computing a maximal one to one alignment. Unfortunately we need to convert the double confidences to integers (double are multiplied by multiplier). Default is to use 4 digits after decimal. For further reference see page 6 Arithmetic Demand at http://www.mpi-inf.mpg.de/~mehlhorn/Optimization/bipartite_weighted.ps.- Parameters:
inputAlignment
- the alignment to filter.heuristic
- the heuristic to use.multiplier
- the multiplier to use (how many digits of confidence are used.- Returns:
- the filtered alignment.
-
convertDoubleToInt
private static int convertDoubleToInt(double d, int multiplier) -
augment
-
augmentPathTo
-
relaxAllEdges
-