public void testRunMatching() throws XPathExpressionException, ParserConfigurationException, SAXException, IOException { DataSet<Movie> ds = new DataSet<>(); File sourceFile1 = new File("usecase/movie/input/actors.xml"); ds.loadFromXML(sourceFile1, new MovieFactory(), "/movies/movie"); DataSet<Movie> ds2 = new DataSet<>(); File sourceFile2 = new File("usecase/movie/input/academy_awards.xml"); ds2.loadFromXML(sourceFile2, new MovieFactory(), "/movies/movie"); LinearCombinationMatchingRule<Movie> rule = new LinearCombinationMatchingRule<>(0, 0); rule.addComparator(new MovieTitleComparator(), 0.5); rule.addComparator(new MovieDirectorComparatorLevenshtein(), 0.25); rule.addComparator(new MovieDateComparator(), 0.25); Blocker<Movie> blocker = new CrossProductBlocker<>(); MatchingEngine<Movie> engine = new MatchingEngine<>(rule, blocker); engine.runMatching(ds, ds2); }
public void testGenerateFeaturesForOptimisation() throws XPathExpressionException, ParserConfigurationException, SAXException, IOException { DataSet<Movie> ds = new DataSet<>(); File sourceFile1 = new File("usecase/movie/input/actors.xml"); ds.loadFromXML(sourceFile1, new MovieFactory(), "/movies/movie"); DataSet<Movie> ds2 = new DataSet<>(); File sourceFile2 = new File("usecase/movie/input/academy_awards.xml"); ds2.loadFromXML(sourceFile2, new MovieFactory(), "/movies/movie"); LinearCombinationMatchingRule<Movie> rule = new LinearCombinationMatchingRule<>(0, 0); rule.addComparator(new MovieTitleComparator(), 0.5); rule.addComparator(new MovieDirectorComparatorLevenshtein(), 0.25); rule.addComparator(new MovieDateComparator(), 0.25); Blocker<Movie> blocker = new CrossProductBlocker<>(); MatchingEngine<Movie> engine = new MatchingEngine<>(rule, blocker); GoldStandard gs = new GoldStandard(); gs.loadFromCSVFile(new File("usecase/movie/goldstandard/gs_academy_awards_2_actors.csv")); engine.generateTrainingDataForLearning(ds, ds2, gs); }