Class TrackRepository
java.lang.Object
de.uni_mannheim.informatik.dws.melt.matching_data.TrackRepository
Track repository which lists all different tracks in possibly multiple versions.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Anatomy track.static class
Biodiv track.static class
Bio-ML: A ML-friendly Biomedical track for Equivalence and Subsumption Matching.
This track presents an unified evaluation framework suitable for both ML-based and non-ML-based OM systems.static class
This track evaluates the ability of matching systems to map the schema (classes) of large common knowledge graphs such as DBpedia, YAGO and NELL.static class
Complex track.static class
Conference track.static class
Doremus track.static class
Food Nutritional Composition track.static class
IIMB track.static class
Instance Matchingstatic class
Knowledgegraph track.static class
Laboratory Analytics Domain track.static class
Large Biomedical Ontologies.static class
HOBBIT Link Discovery.static class
ML Datasetsstatic class
Material Sciences and Engineering track.static class
Multifarm track.static class
static class
Disease and Phenotype track.static class
Process Matching Track (last run in 2017) For more info see Process Matching Track Websitestatic class
HOBBIT Spimbench The goal of this track is to determine when two OWL instances describe the same Creative Work.static class
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final org.slf4j.Logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic TestCase
generateTestCaseWithSampledReferenceAlignment
(TestCase tc, double fraction) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.static TestCase
generateTestCaseWithSampledReferenceAlignment
(TestCase tc, double fraction, long randomSeed) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.static TestCase
generateTestCaseWithSampledReferenceAlignment
(TestCase tc, double fraction, long randomSeed, boolean removeSamplesFromReference) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.private static TestCase
generateTestCaseWithSampledReferenceAlignment
(TestCase tc, double fraction, Random randomSeed, boolean removeSamplesFromReference) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(Track track, double fraction) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(Track track, double fraction, long randomSeed) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(Track track, double fraction, long randomSeed, boolean removeSamplesFromReference) Generates test cases where the input alignment of the test cases is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(List<TestCase> testCases, double fraction) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(List<TestCase> testCases, double fraction, long randomSeed) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(List<TestCase> testCases, double fraction, long randomSeed, boolean removeSamplesFromReference) Generates test cases where the input alignment of the test cases is filled with a fraction of the reference alignment.generateTrackWithSampledReferenceAlignment
(List<TestCase> testCases, double fraction, Random randomSeed, boolean removeSamplesFromReference) Generates test cases where the input alignment of the test cases is filled with a fraction of the reference alignment.This method returns all tracks defined in TrackRepository with java reflections.Return a map between track name and version and the track object.retrieveDefinedTrackList
(Class<?>... initialClasses) retrieveDefinedTracks
(Class<?>... initialClasses) This method retrieves all tracks defined in the provided classes or any subclass of it.static void
setCacheFolder
(File directory) Folder where the tracks and the corresponding test cases shall be cached.
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
definedTracks
-
trackNameAndVersionToTrack
-
-
Constructor Details
-
TrackRepository
public TrackRepository()
-
-
Method Details
-
setCacheFolder
Folder where the tracks and the corresponding test cases shall be cached. This is just a forward call to Track.setCacheFolder but in TrackRepository, this function also makes sense.- Parameters:
directory
- caching directory.
-
getDefinedTracks
This method returns all tracks defined in TrackRepository with java reflections. It uses all public static fields (of type Track or Collection of Track) in all nested classes. This method further caches the tracks and do not execute the reflection each and every time.- Returns:
- a set of Tracks defined in this class.
-
getMapFromTrackNameAndVersionToTrack
Return a map between track name and version and the track object. This is used to find tracks when loading from file.- Returns:
- map between track name, version and the track object
-
retrieveDefinedTracks
This method retrieves all tracks defined in the provided classes or any subclass of it. It searches for fields which are defined as public static and has the type track or any collection of type track.- Parameters:
initialClasses
- the initial class to search defined tracks in it.- Returns:
- a set of tracks which are defined in
-
retrieveDefinedTrackList
-
generateTestCaseWithSampledReferenceAlignment
private static TestCase generateTestCaseWithSampledReferenceAlignment(TestCase tc, double fraction, Random randomSeed, boolean removeSamplesFromReference) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.- Parameters:
tc
- the base test case to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed object. If it is always in the same state e.g. always providing a fresh instance with the same seed like new Random(1234) or setting the seed of one random instance always to the same value, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).removeSamplesFromReference
- if true, the reference (for evaluation) will only contain the correspondences which are not in the input alignment. If false, all correspondences will be evaluated (also those which are in the input alignment). This means that the eval will also check if the matcher remembers the input alignment.- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTestCaseWithSampledReferenceAlignment
public static TestCase generateTestCaseWithSampledReferenceAlignment(TestCase tc, double fraction, long randomSeed, boolean removeSamplesFromReference) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment.- Parameters:
tc
- the base test case to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).removeSamplesFromReference
- if true, the reference (for evaluation) will only contain the correspondences which are not in the input alignment. If false, all correspondences will be evaluated (also those which are in the input alignment). This means that the eval will also check if the matcher remembers the input alignment.- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTestCaseWithSampledReferenceAlignment
public static TestCase generateTestCaseWithSampledReferenceAlignment(TestCase tc, double fraction, long randomSeed) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment. The other fraction is used as the new reference alignment. This means it will be only evaluated what is not in the input alignment. If you want to evaluate on the whole reference alignment (inclusive the input alignment) callgenerateTestCaseWithSampledReferenceAlignment(TestCase, double, java.util.Random, boolean)
with the last parameter to be false.- Parameters:
tc
- the base test case to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTestCaseWithSampledReferenceAlignment
Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment. The other fraction is used as the new reference alignment. This means it will be only evaluated what is not in the input alignment. If you want to evaluate on the whole reference alignment (inclusive the input alignment) callgenerateTestCaseWithSampledReferenceAlignment(TestCase, double, java.util.Random, boolean)
with the last parameter to be false. The seed for randomness will be generated and the reference alignment contains only correspondences which are not in the input alignment.- Parameters:
tc
- the base test case to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
private static List<TestCase> generateTrackWithSampledReferenceAlignment(List<TestCase> testCases, double fraction, Random randomSeed, boolean removeSamplesFromReference) Generates test cases where the input alignment of the test cases is filled with a fraction of the reference alignment.- Parameters:
testCases
- the testcases to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).removeSamplesFromReference
- if true, the reference (for evaluation) will only contain the correspondences which are not in the input alignment. If false, all correspondences will be evaluated (also those which are in the input alignment). This means that the eval will also check if the matcher remembers the input alignment.- Returns:
- the test cases with same parameters as the base test cases but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
public static List<TestCase> generateTrackWithSampledReferenceAlignment(List<TestCase> testCases, double fraction, long randomSeed, boolean removeSamplesFromReference) Generates test cases where the input alignment of the test cases is filled with a fraction of the reference alignment.- Parameters:
testCases
- the testcases to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).removeSamplesFromReference
- if true, the reference (for evaluation) will only contain the correspondences which are not in the input alignment. If false, all correspondences will be evaluated (also those which are in the input alignment). This means that the eval will also check if the matcher remembers the input alignment.- Returns:
- the test cases with same parameters as the base test cases but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
public static List<TestCase> generateTrackWithSampledReferenceAlignment(List<TestCase> testCases, double fraction, long randomSeed) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment. The other fraction is used as the new reference alignment. This means it will be only evaluated what is not in the input alignment. If you want to evaluate on the whole reference alignment (inclusive the input alignment) callgenerateTestCaseWithSampledReferenceAlignment(TestCase, double, java.util.Random, boolean)
with the last parameter to be false.- Parameters:
testCases
- the base test case to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
public static List<TestCase> generateTrackWithSampledReferenceAlignment(List<TestCase> testCases, double fraction) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment. The other fraction is used as the new reference alignment. This means it will be only evaluated what is not in the input alignment. If you want to evaluate on the whole reference alignment (inclusive the input alignment) callgenerateTestCaseWithSampledReferenceAlignment(TestCase, double, java.util.Random, boolean)
with the last parameter to be false. The seed for randomness will be generated.- Parameters:
testCases
- the base test case to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
public static List<TestCase> generateTrackWithSampledReferenceAlignment(Track track, double fraction, long randomSeed, boolean removeSamplesFromReference) Generates test cases where the input alignment of the test cases is filled with a fraction of the reference alignment.- Parameters:
track
- the track to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).removeSamplesFromReference
- if true, the reference (for evaluation) will only contain the correspondences which are not in the input alignment. If false, all correspondences will be evaluated (also those which are in the input alignment). This means that the eval will also check if the matcher remembers the input alignment.- Returns:
- the test cases with same parameters as the base test cases but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
public static List<TestCase> generateTrackWithSampledReferenceAlignment(Track track, double fraction, long randomSeed) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment. The other fraction is used as the new reference alignment. This means it will be only evaluated what is not in the input alignment. If you want to evaluate on the whole reference alignment (inclusive the input alignment) callgenerateTestCaseWithSampledReferenceAlignment(TestCase, double, java.util.Random, boolean)
with the last parameter to be false.- Parameters:
track
- the track to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.randomSeed
- the random seed number. If it is the same number, then a smaller subset (sample with 10 percent) will be contained in the larger subset (sample with 20 percent).- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-
generateTrackWithSampledReferenceAlignment
public static List<TestCase> generateTrackWithSampledReferenceAlignment(Track track, double fraction) Generates a test case where the input alignment of the test case is filled with a fraction of the reference alignment. The other fraction is used as the new reference alignment. This means it will be only evaluated what is not in the input alignment. If you want to evaluate on the whole reference alignment (inclusive the input alignment) callgenerateTestCaseWithSampledReferenceAlignment(TestCase, double, java.util.Random, boolean)
with the last parameter to be false. The seed for randomness will be generated.- Parameters:
track
- the track to use.fraction
- the fraction of the reference alignment ( a value between zero and one) which is provided as inputAlignment.- Returns:
- the testcase with same parameters as the base test case but with a generated input alignment.
-