use of org.apache.uima.cas.FeatureStructure in project webanno by webanno.
the class WebAnnoTsv3WriterTestBase method makeLinkFS.
private static FeatureStructure makeLinkFS(JCas aJCas, String aType, String aSlotLabel, AnnotationFS aTarget) {
Type linkType = aJCas.getTypeSystem().getType(aType);
FeatureStructure linkA1 = aJCas.getCas().createFS(linkType);
linkA1.setStringValue(linkType.getFeatureByBaseName("role"), aSlotLabel);
linkA1.setFeatureValue(linkType.getFeatureByBaseName("target"), aTarget);
aJCas.getCas().addFsToIndexes(linkA1);
return linkA1;
}
use of org.apache.uima.cas.FeatureStructure in project webanno by webanno.
the class WebAnnoTsv3WriterTestBase method testMultiTokenSlotFeature.
@Test
public void testMultiTokenSlotFeature() throws Exception {
JCas jcas = makeJCasOneSentence();
CAS cas = jcas.getCas();
List<Token> tokens = new ArrayList<>(select(jcas, Token.class));
Token t1 = tokens.get(0);
Token t2 = tokens.get(1);
Token t3 = tokens.get(2);
Token t4 = tokens.get(3);
Token t5 = tokens.get(4);
Type type = cas.getTypeSystem().getType("webanno.custom.SimpleSpan");
AnnotationFS s2 = cas.createAnnotation(type, t2.getBegin(), t3.getEnd());
cas.addFsToIndexes(s2);
AnnotationFS s3 = cas.createAnnotation(type, t4.getBegin(), t5.getEnd());
cas.addFsToIndexes(s3);
FeatureStructure link1 = makeLinkFS(jcas, "p1", s2);
FeatureStructure link2 = makeLinkFS(jcas, "p2", s3);
makeLinkHostFS(jcas, t1.getBegin(), t1.getEnd(), link1, link2);
writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_SLOT_FEATS, asList("webanno.custom.SimpleLinkHost:links"), WebannoTsv3Writer.PARAM_SPAN_LAYERS, asList("webanno.custom.SimpleSpan", "webanno.custom.SimpleLinkHost"), WebannoTsv3Writer.PARAM_LINK_TYPES, asList("webanno.custom.LinkType"), WebannoTsv3Writer.PARAM_SLOT_TARGETS, asList("webanno.custom.SimpleSpan"));
}
use of org.apache.uima.cas.FeatureStructure in project webanno by webanno.
the class WebAnnoTsv3WriterTestBase method testSimpleSlotFeature.
@Test
public void testSimpleSlotFeature() throws Exception {
JCas jcas = makeJCasOneSentence();
CAS cas = jcas.getCas();
List<Token> tokens = new ArrayList<>(select(jcas, Token.class));
Token t1 = tokens.get(0);
Token t2 = tokens.get(1);
Token t3 = tokens.get(2);
Type type = cas.getTypeSystem().getType("webanno.custom.SimpleSpan");
AnnotationFS s2 = cas.createAnnotation(type, t2.getBegin(), t2.getEnd());
cas.addFsToIndexes(s2);
AnnotationFS s3 = cas.createAnnotation(type, t3.getBegin(), t3.getEnd());
cas.addFsToIndexes(s3);
FeatureStructure link1 = makeLinkFS(jcas, "p1", s2);
FeatureStructure link2 = makeLinkFS(jcas, "p2", s3);
makeLinkHostFS(jcas, t1.getBegin(), t1.getEnd(), link1, link2);
writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_SLOT_FEATS, asList("webanno.custom.SimpleLinkHost:links"), WebannoTsv3Writer.PARAM_SPAN_LAYERS, asList("webanno.custom.SimpleSpan", "webanno.custom.SimpleLinkHost"), WebannoTsv3Writer.PARAM_LINK_TYPES, asList("webanno.custom.LinkType"), WebannoTsv3Writer.PARAM_SLOT_TARGETS, asList("webanno.custom.SimpleSpan"));
}
use of org.apache.uima.cas.FeatureStructure in project webanno by webanno.
the class WebAnnoTsv3WriterTestBase method testStackedComplexSlotFeatureWithoutValues.
@Test
public void testStackedComplexSlotFeatureWithoutValues() throws Exception {
JCas jcas = makeJCasOneSentence();
CAS cas = jcas.getCas();
List<Token> tokens = new ArrayList<>(select(jcas, Token.class));
Token t1 = tokens.get(0);
Token t2 = tokens.get(1);
Token t3 = tokens.get(2);
Type type = cas.getTypeSystem().getType("webanno.custom.SimpleSpan");
AnnotationFS s2 = cas.createAnnotation(type, t2.getBegin(), t2.getEnd());
cas.addFsToIndexes(s2);
AnnotationFS s3 = cas.createAnnotation(type, t3.getBegin(), t3.getEnd());
cas.addFsToIndexes(s3);
{
FeatureStructure link1 = makeLinkFS(jcas, "webanno.custom.ComplexLinkType", null, s2);
FeatureStructure link2 = makeLinkFS(jcas, "webanno.custom.ComplexLinkType", null, s3);
makeLinkHostFS(jcas, "webanno.custom.ComplexLinkHost", t1.getBegin(), t1.getEnd(), link1, link2);
}
{
FeatureStructure link1 = makeLinkFS(jcas, "webanno.custom.ComplexLinkType", null, s2);
FeatureStructure link2 = makeLinkFS(jcas, "webanno.custom.ComplexLinkType", null, s3);
makeLinkHostFS(jcas, "webanno.custom.ComplexLinkHost", t1.getBegin(), t1.getEnd(), link1, link2);
}
writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_SLOT_FEATS, asList("webanno.custom.ComplexLinkHost:links"), WebannoTsv3Writer.PARAM_SPAN_LAYERS, asList("webanno.custom.SimpleSpan", "webanno.custom.ComplexLinkHost"), WebannoTsv3Writer.PARAM_LINK_TYPES, asList("webanno.custom.ComplexLinkType"), WebannoTsv3Writer.PARAM_SLOT_TARGETS, asList("webanno.custom.SimpleSpan"));
}
use of org.apache.uima.cas.FeatureStructure in project webanno by webanno.
the class WebAnnoTsv3WriterTestBase method testSimpleSlotFeatureWithoutValues.
@Test
public void testSimpleSlotFeatureWithoutValues() throws Exception {
JCas jcas = makeJCasOneSentence();
CAS cas = jcas.getCas();
List<Token> tokens = new ArrayList<>(select(jcas, Token.class));
Token t1 = tokens.get(0);
Token t2 = tokens.get(1);
Token t3 = tokens.get(2);
Type type = cas.getTypeSystem().getType("webanno.custom.SimpleSpan");
AnnotationFS s2 = cas.createAnnotation(type, t2.getBegin(), t2.getEnd());
cas.addFsToIndexes(s2);
AnnotationFS s3 = cas.createAnnotation(type, t3.getBegin(), t3.getEnd());
cas.addFsToIndexes(s3);
FeatureStructure link1 = makeLinkFS(jcas, null, s2);
FeatureStructure link2 = makeLinkFS(jcas, null, s3);
makeLinkHostFS(jcas, t1.getBegin(), t1.getEnd(), link1, link2);
writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_SLOT_FEATS, asList("webanno.custom.SimpleLinkHost:links"), WebannoTsv3Writer.PARAM_SPAN_LAYERS, asList("webanno.custom.SimpleSpan", "webanno.custom.SimpleLinkHost"), WebannoTsv3Writer.PARAM_LINK_TYPES, asList("webanno.custom.LinkType"), WebannoTsv3Writer.PARAM_SLOT_TARGETS, asList("webanno.custom.SimpleSpan"));
}
Aggregations