/** * Save entity. * * @param entity the entity * @return the DB object */ private Document saveEntity(final Entity entity) { return new Document() .append("text", entity.getCoveredText()) .append("type", entity.getTypeName()); } }
@Override protected String print(Entity t) { final StringBuilder sb = new StringBuilder(); writeLine(sb, "Value", t.getValue()); writeLine(sb, "Type", t.getTypeName()); writeLine(sb, "Span", String.format("%d -> %d", t.getBegin(), t.getEnd())); return sb.toString(); } }
@Test public void testFilterToSingle() { final Map<ReferenceTarget, Entity> map = ReferentUtils.filterToSingle(referentMap, l -> l.iterator().next()); // NB: HashMultimap doesn't preserve the order of elements, so testing for exact elements may // fail. // Instead, we'll just check the type here. assertEquals(chris.getTypeName(), map.get(chrisRT).getTypeName()); assertEquals(london.getTypeName(), map.get(londonRT).getTypeName()); }
@Test public void test2() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 1); // H person.addToIndexes(); Money money = new Money(jCas, 59, 71); // $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Relation.class).size()); Relation r1 = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("reckons", r1.getValue()); assertEquals(person, r1.getSource()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r1.getTarget().getTypeName()); assertEquals("the current account deficit", r1.getTarget().getCoveredText()); Relation r2 = JCasUtil.selectByIndex(jCas, Relation.class, 1); assertEquals("will narrow to", r2.getValue()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r2.getSource().getTypeName()); assertEquals("the current account deficit", r2.getSource().getCoveredText()); assertEquals(money, r2.getTarget()); }
@Test public void test1() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 2); // He person.addToIndexes(); Money money = new Money(jCas, 59, 71); // $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Relation.class).size()); Relation r1 = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("reckons", r1.getValue()); assertEquals(person, r1.getSource()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r1.getTarget().getTypeName()); assertEquals("the current account deficit", r1.getTarget().getCoveredText()); Relation r2 = JCasUtil.selectByIndex(jCas, Relation.class, 1); assertEquals("will narrow to", r2.getValue()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r2.getSource().getTypeName()); assertEquals("the current account deficit", r2.getSource().getCoveredText()); assertEquals(money, r2.getTarget()); }
@Test public void test3() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 2); // He person.addToIndexes(); Money money = new Money(jCas, 54, 71); // only $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Relation.class).size()); Relation r1 = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("reckons", r1.getValue()); assertEquals(person, r1.getSource()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r1.getTarget().getTypeName()); assertEquals("the current account deficit", r1.getTarget().getCoveredText()); Relation r2 = JCasUtil.selectByIndex(jCas, Relation.class, 1); assertEquals("will narrow to", r2.getValue()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r2.getSource().getTypeName()); assertEquals("the current account deficit", r2.getSource().getCoveredText()); assertEquals(money, r2.getTarget()); }