public LinkFileOracle(String testfile) throws IOException { this.linkdb = new InMemoryLinkDatabase(); linkdb.setDoInference(true); LinkDatabaseUtils.loadTestFile(testfile, linkdb); }
@Test public void testInferenceDifferent() { ((InMemoryLinkDatabase) linkdb).setDoInference(true); Link link1 = new Link("1", "2", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); linkdb.assertLink(link1); Link link2 = new Link("1", "3", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); linkdb.assertLink(link2); Collection<Link> links = linkdb.getAllLinks(); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); links = linkdb.getAllLinksFor("1"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); links = linkdb.getAllLinksFor("2"); assertEquals(1, links.size()); assertTrue(links.contains(link1)); links = linkdb.getAllLinksFor("3"); assertEquals(1, links.size()); assertTrue(links.contains(link2)); }
@Test public void testInferenceDifferent2() { ((InMemoryLinkDatabase) linkdb).setDoInference(true); Link link2 = new Link("1", "3", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); linkdb.assertLink(link2); Link link1 = new Link("1", "2", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); linkdb.assertLink(link1); // since 1==3, and 1!=2, it follows that 3!=2, too Link link3 = new Link("2", "3", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); Collection<Link> links = linkdb.getAllLinks(); assertEquals(3, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); assertTrue(links.contains(link3)); links = linkdb.getAllLinksFor("1"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); links = linkdb.getAllLinksFor("2"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link3)); links = linkdb.getAllLinksFor("3"); assertEquals(2, links.size()); assertTrue(links.contains(link2)); assertTrue(links.contains(link3)); }
@Test public void testInferenceDifferent2b() { ((InMemoryLinkDatabase) linkdb).setDoInference(true); Link link1 = new Link("1", "2", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); linkdb.assertLink(link1); Link link2 = new Link("1", "3", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); linkdb.assertLink(link2); // since 1==3, and 1!=2, it follows that 3!=2, too Link link3 = new Link("2", "3", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); Collection<Link> links = linkdb.getAllLinks(); assertEquals(3, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); assertTrue(links.contains(link3)); links = linkdb.getAllLinksFor("1"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); links = linkdb.getAllLinksFor("2"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link3)); links = linkdb.getAllLinksFor("3"); assertEquals(2, links.size()); assertTrue(links.contains(link2)); assertTrue(links.contains(link3)); }
@Test public void testInference() { ((InMemoryLinkDatabase) linkdb).setDoInference(true); Link link1 = new Link("1", "2", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); linkdb.assertLink(link1); Link link2 = new Link("1", "3", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); linkdb.assertLink(link2); Link link3 = new Link("2", "3", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); Collection<Link> links = linkdb.getAllLinks(); assertEquals(3, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); assertTrue(links.contains(link3)); links = linkdb.getAllLinksFor("1"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link2)); links = linkdb.getAllLinksFor("2"); assertEquals(2, links.size()); assertTrue(links.contains(link1)); assertTrue(links.contains(link3)); links = linkdb.getAllLinksFor("3"); assertEquals(2, links.size()); assertTrue(links.contains(link2)); assertTrue(links.contains(link3)); }
@Test public void testInference2() { ((InMemoryLinkDatabase) linkdb).setDoInference(true);
public LinkFileOracle(String testfile) throws IOException { this.linkdb = new InMemoryLinkDatabase(); linkdb.setDoInference(true); LinkDatabaseUtils.loadTestFile(testfile, linkdb); }
/** * Creates a test file listener. */ public TestFileListener(String testfile, Configuration config, boolean debug, Processor processor, boolean showmatches, boolean pretty) throws IOException { InMemoryLinkDatabase testdb = new InMemoryLinkDatabase(); testdb.setDoInference(true); LinkDatabaseUtils.loadTestFile(testfile, testdb); init(testdb, config, debug, processor, showmatches, pretty); }
@Test public void testInferenceDifferentBig() { ((InMemoryLinkDatabase) linkdb).setDoInference(true); // cluster 1 Link link1 = same("1", "3"); Link link2 = different("1", "2"); Link link3 = new Link("2", "3", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); // cluster 2 Link link4 = same("4", "6"); Link link5 = different("4", "5"); Link link6 = new Link("5", "6", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); // merge the two clusters Link link7 = same("3", "4"); Link link8 = new Link("2", "4", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); Link link9 = new Link("2", "6", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); Link link10 = new Link("1", "4", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); Link link11 = new Link("1", "6", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); Link link12 = new Link("3", "5", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); Link link13 = new Link("1", "5", LinkStatus.ASSERTED, LinkKind.DIFFERENT, 1.0); Link link14 = new Link("3", "6", LinkStatus.ASSERTED, LinkKind.SAME, 1.0); Collection<Link> links = linkdb.getAllLinks(); verifyContained(links, new Link[] {link1, link2, link3, link4, link5, link6, link7, link8, link9, link10, link11, link12, link13, link14}); }
private void init(LinkDatabase linkdb, Configuration config, boolean debug, Processor processor, boolean showmatches, boolean pretty) { this.golddb = linkdb; this.dukedb = new InMemoryLinkDatabase(); ((InMemoryLinkDatabase) this.dukedb).setDoInference(true); this.idprops = config.getIdentityProperties(); this.props = config.getProperties(); this.debug = debug; this.processor = processor; this.database = processor.getDatabase(); this.linkage = !config.isDeduplicationMode(); this.showmatches = showmatches; this.pretty = pretty; }
this.questions = 10; this.testdb = new InMemoryLinkDatabase(); testdb.setDoInference(true); this.scientific = scientific; this.threads = 1;