@Override protected String print(Relation t) { final StringBuilder sb = new StringBuilder(); writeLine(sb, "Value", t.getValue()); writeLine(sb, "Type", t.getRelationshipType() + " [" + t.getRelationSubType() + "]"); writeLine(sb, "Source", t.getSource()); writeLine(sb, "Target", t.getTarget()); return sb.toString(); } }
sentence, r.getRelationshipType(), r.getRelationSubType(), normalize(r.getSource().getValue()), normalize(r.getTarget().getValue()),
br.setBaleenId(baleenExternalId); br.setType(relation.getRelationshipType()); br.setSubType(relation.getRelationSubType()); br.setValue(relation.getValue()); br.setBegin(relation.getBegin());
.append(fields.getExternalId(), r.getExternalId()) .append(FIELD_RELATIONSHIP_TYPE, r.getRelationshipType()) .append(FIELD_RELATIONSHIP_SUBTYPE, r.getRelationSubType()) .append(FIELD_SOURCE_VALUE, r.getSource().getValue()) .append(FIELD_SOURCE_TYPE, r.getSource().getType().getShortName())
addProperty(eRel, PROPERTY_END, r.getEnd()); addProperty(eRel, PROPERTY_TYPE, r.getRelationshipType()); addProperty(eRel, PROPERTY_SUBTYPE, r.getRelationSubType()); addProperty(eRel, PROPERTY_VALUE, r.getValue());
@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(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(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());
r4.setEnd(r1.getEnd()); r4.setRelationshipType("different"); r4.setRelationSubType(r1.getRelationSubType()); r4.setSource(a); r4.setTarget(b); r5.setEnd(r1.getEnd()); r5.setRelationshipType(r1.getRelationshipType()); r5.setRelationSubType(r1.getRelationSubType()); r5.setSource(c); r5.setTarget(b); r6.setEnd(r1.getEnd()); r6.setRelationshipType(r1.getRelationshipType()); r6.setRelationSubType(r1.getRelationSubType()); r6.setSource(a); r6.setTarget(c);
r2.setEnd(9); r2.setRelationshipType(r1.getRelationshipType()); r2.setRelationSubType(r1.getRelationSubType()); r2.setSource(a); r2.setTarget(b); r3.setEnd(r1.getEnd()); r3.setRelationshipType(r1.getRelationshipType()); r3.setRelationSubType(r1.getRelationSubType()); r3.setSource(a); r3.setTarget(b);
r1.getExternalId(), r1.getRelationshipType(), r1.getRelationSubType(), "Relation", m1, r2.getExternalId(), r2.getRelationshipType(), r2.getRelationSubType(), "Relation", m2,
r2.setEnd(9); r2.setRelationshipType(r1.getRelationshipType()); r2.setRelationSubType(r1.getRelationSubType()); r2.setSource(a); r2.setTarget(b); r3.setEnd(r1.getEnd()); r3.setRelationshipType(r1.getRelationshipType()); r3.setRelationSubType(r1.getRelationSubType()); r3.setSource(a); r3.setTarget(b); r4.setEnd(r1.getEnd()); r4.setRelationshipType("different"); r4.setRelationSubType(r1.getRelationSubType()); r4.setSource(a); r4.setTarget(b); r5.setEnd(r1.getEnd()); r5.setRelationshipType(r1.getRelationshipType()); r5.setRelationSubType(r1.getRelationSubType()); r5.setSource(c); r5.setTarget(b); r6.setEnd(r1.getEnd()); r6.setRelationshipType(r1.getRelationshipType()); r6.setRelationSubType(r1.getRelationSubType()); r6.setSource(a); r6.setTarget(c);
assertEquals(l.getExternalId(), relation.get(FIELD_TARGET)); assertEquals(r.getRelationshipType(), relation.get(FIELD_RELATIONSHIP_TYPE)); assertEquals(r.getRelationSubType(), relation.get(FIELD_RELATIONSHIP_SUBTYPE)); assertEquals(r.getSentenceDistance(), relation.get(FIELD_SENTENCE_DISTANCE)); assertEquals(1.0, (double) relation.get(FIELD_NORMAL_SENTENCE_DISTANCE), 0.001);