br.setSubType(relation.getRelationSubType()); br.setValue(relation.getValue()); br.setBegin(relation.getBegin()); br.setEnd(relation.getEnd());
assertEquals(HEADING.length() + 2, first.getBegin()); assertEquals(HEADING.length() + 2 + ROW1.length(), first.getEnd()); assertEquals(Person.class, first.getSource().getClass());
r.setEnd(r.getBegin() + "went".length()); r.setValue("went"); r.setRelationshipType("MOVEMENT");
r.setEnd(r.getBegin() + "went".length()); r.setValue("went"); r.setRelationshipType("MOVEMENT");
r.setEnd(r.getBegin() + "went".length()); r.setValue("went"); r.setRelationshipType("MOVEMENT");
assertEquals(HEADING.length() + 2, first.getBegin()); assertEquals(HEADING.length() + 2 + ROW1.length(), first.getEnd()); assertEquals(Person.class, first.getSource().getClass()); Relation second = iterator.next(); int begin2 = HEADING.length() + ROW1.length() + ROW2.length() + 4; assertEquals(begin2, second.getBegin()); assertEquals(begin2 + ROW3.length(), second.getEnd()); assertEquals(Person.class, second.getSource().getClass());
.append(FIELD_SOURCE, r.getSource().getExternalId()) .append(FIELD_TARGET, r.getTarget().getExternalId()) .append(FIELD_BEGIN, r.getBegin()) .append(FIELD_END, r.getEnd()) .append(FIELD_CONFIDENCE, r.getConfidence())
@Test public void testRelations() throws Exception { BaleenCollectionReader bcr = getCollectionReader( Re3dReader.PARAM_FOLDER, tmpDir.toAbsolutePath().toString(), Re3dReader.PARAM_ENTITIES, true, Re3dReader.PARAM_RELATIONSHIPS, true, Re3dReader.PARAM_RANDOM_DATES, true); assertTrue(bcr.doHasNext()); bcr.getNext(jCas.getCas()); AnnotationIndex<Entity> entityIndex = jCas.getAnnotationIndex(Entity.class); Entity source = Streams.stream(entityIndex).filter(e -> e.getBegin() == 12).findAny().get(); Entity target = Streams.stream(entityIndex).filter(e -> e.getBegin() == 9).findAny().get(); AnnotationIndex<Relation> relationIndex = jCas.getAnnotationIndex(Relation.class); contains(relationIndex, r -> r.getBegin() == 11); contains(relationIndex, r -> r.getEnd() == 12); contains(relationIndex, r -> r.getValue().equals("")); contains(relationIndex, r -> r.getRelationshipType().equals("HasAttrOf")); contains(relationIndex, r -> r.getSource().equals(source)); contains(relationIndex, r -> r.getTarget().equals(target)); bcr.close(); }
@Test public void testMarked() throws UIMAException { Quantity q = new Quantity(jCas); q.setBegin(18); q.setEnd(21); q.addToIndexes(); Buzzword e = new Buzzword(jCas); e.setBegin(25); e.setEnd(36); e.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Entity.class).size()); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals(18, r.getBegin()); assertEquals(q, r.getSource()); assertEquals(36, e.getEnd()); assertEquals(e, r.getTarget()); assertEquals("QUANTITY", r.getRelationshipType()); } }
addProperty(eRel, PROPERTY_BEGIN, r.getBegin()); addProperty(eRel, PROPERTY_END, r.getEnd()); addProperty(eRel, PROPERTY_TYPE, r.getRelationshipType());
@Test public void testUnmarked() throws UIMAException { Quantity q = new Quantity(jCas); q.setBegin(18); q.setEnd(21); q.addToIndexes(); processJCas(); assertAnnotations(2, Entity.class, new TestEntity<>(1, "blue powder")); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals(18, r.getBegin()); assertEquals(q, r.getSource()); assertEquals(36, r.getEnd()); assertNotNull(r.getTarget()); assertEquals("QUANTITY", r.getRelationshipType()); }
@Test public void testRegExRelationExtraction() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText("Jon visits London. Steve visited Cheltenham"); final Person jon = Annotations.createPerson(jCas, 0, 3, "Jon"); final Person steve = Annotations.createPerson(jCas, 19, 24, "Steve"); final Location london = Annotations.createLocation(jCas, 11, 17, "London", ""); final Location cheltenham = Annotations.createLocation(jCas, 33, 43, "Cheltenham", ""); processJCas( PARAM_PATTERN, "(:Person:)\\s+(?:visit\\w*|went)\\s+(:Location:)", PARAM_TYPE, LOCATED_AT); final List<Relation> relations = new ArrayList<>(JCasUtil.select(jCas, Relation.class)); assertEquals(2, relations.size()); final Relation jlr = findRelationBetween(relations, jon, london); final Relation scr = findRelationBetween(relations, steve, cheltenham); assertEquals(LOCATED_AT, jlr.getRelationshipType()); assertEquals("Jon visits London", jlr.getValue()); assertEquals(0, jlr.getBegin()); assertEquals(17, jlr.getEnd()); assertEquals("", jlr.getRelationSubType()); assertEquals(LOCATED_AT, scr.getRelationshipType()); assertEquals("", scr.getRelationSubType()); assertEquals("Steve visited Cheltenham", scr.getValue()); assertEquals(19, scr.getBegin()); assertEquals(43, scr.getEnd()); }
assertEquals(SUB, jlr.getRelationSubType()); assertEquals("visits ", jlr.getValue()); assertEquals(0, jlr.getBegin()); assertEquals(17, jlr.getEnd()); assertEquals(LOCATED_AT, scr.getRelationshipType()); assertEquals(SUB, scr.getRelationSubType()); assertEquals("went to ", scr.getValue()); assertEquals(19, scr.getBegin()); assertEquals(43, scr.getEnd());
assertEquals(SUB, jlr.getRelationSubType()); assertEquals("visits", jlr.getValue()); assertEquals(0, jlr.getBegin()); assertEquals(17, jlr.getEnd()); assertEquals(LOCATED_AT, scr.getRelationshipType()); assertEquals(SUB, scr.getRelationSubType()); assertEquals("went to", scr.getValue()); assertEquals(19, scr.getBegin()); assertEquals(43, scr.getEnd());
assertEquals(0, r1.getBegin()); assertEquals(18, r1.getEnd()); assertEquals("", r1.getRelationSubType()); assertEquals(LOCATED_AT, r2.getRelationshipType()); assertEquals("went", r2.getValue()); assertEquals(20, r2.getBegin()); assertEquals(37, r2.getEnd()); assertEquals("", r2.getRelationSubType());
r2.setBegin(r1.getBegin()); r2.setEnd(9); r2.setRelationshipType(r1.getRelationshipType());
r2.setBegin(r1.getBegin()); r2.setEnd(9); r2.setRelationshipType(r1.getRelationshipType()); r4.setBegin(r1.getBegin()); r4.setEnd(r1.getEnd()); r4.setRelationshipType("different"); r5.setBegin(r1.getBegin()); r5.setEnd(r1.getEnd()); r5.setRelationshipType(r1.getRelationshipType()); r6.setBegin(r1.getBegin()); r6.setEnd(r1.getEnd()); r6.setRelationshipType(r1.getRelationshipType()); r7.setBegin(r1.getBegin()); r7.setEnd(r1.getEnd()); r7.setRelationshipType(r1.getRelationshipType());
assertEquals(r.getBegin(), relation.get(FIELD_BEGIN)); assertEquals(r.getEnd(), relation.get(FIELD_END)); assertEquals(r.getConfidence(), relation.get(FIELD_CONFIDENCE));