package uk.ac.rhul.cs.cl1.merging; import uk.ac.rhul.cs.cl1.NodeSet; import uk.ac.rhul.cs.cl1.similarity.SimilarityFunction; import uk.ac.rhul.cs.cl1.ValuedNodeSetList; /** * Common interface for algorithms that merge highly overlapping nodesets * in a {@link uk.ac.rhul.cs.cl1.ValuedNodeSetList}. * * @author tamas * */ public interface NodeSetMerger { /** * Merges highly overlapping nodesets in the given {@link uk.ac.rhul.cs.cl1.ValuedNodeSetList}. * * @param nodeSets the list of nodesets to merge * @param similarityFunc a function to measure the similarity between pairs * of {@link uk.ac.rhul.cs.cl1.NodeSet} instances. * @param threshold similarity threshold above which two nodesets are * considered to be similar. * @return the merged nodeset. */ public ValuedNodeSetList mergeOverlapping( ValuedNodeSetList nodeSets, SimilarityFunction<NodeSet> similarityFunc, double threshold ); }