private static AnnotationFS makeChainLink(Type aType, CAS aCas, int aBegin, int aEnd, String aLabel, String aLinkLabel, AnnotationFS aNext) { AnnotationFS link = aCas.createAnnotation(aType, aBegin, aEnd); FSUtil.setFeature(link, "next", aNext); FSUtil.setFeature(link, "referenceType", aLabel); FSUtil.setFeature(link, "referenceRelation", aLinkLabel); aCas.addFsToIndexes(link); return link; }
@Test public void testSingleTokenRelationWithMultipleFeatureValues() throws Exception { JCas jcas = makeJCasOneSentence(); CAS cas = jcas.getCas(); List<Token> tokens = new ArrayList<>(select(jcas, Token.class)); Token gov = tokens.get(0); Token dep = tokens.get(tokens.size() - 1); Type relationType = cas.getTypeSystem().getType("webanno.custom.ComplexRelation"); // One at the beginning // WebAnno legacy conventions // AnnotationFS fs1 = cas.createAnnotation(relationType, // min(dep.getBegin(), gov.getBegin()), // max(dep.getEnd(), gov.getEnd())); // DKPro Core conventions AnnotationFS fs1 = cas.createAnnotation(relationType, dep.getBegin(), dep.getEnd()); FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); FSUtil.setFeature(fs1, "value", "nsubj"); FSUtil.setFeature(fs1, "boolValue", true); FSUtil.setFeature(fs1, "integerValue", 42); cas.addFsToIndexes(fs1); writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_RELATION_LAYERS, asList("webanno.custom.ComplexRelation")); }
private static void makeChainHead(Type aType, AnnotationFS first) { CAS cas = first.getCAS(); FeatureStructure h = cas.createFS(aType); FSUtil.setFeature(h, "first", first); cas.addFsToIndexes(h); }
@Test public void testSingleTokenRelationWithFeatureValue() throws Exception { JCas jcas = makeJCasOneSentence(); CAS cas = jcas.getCas(); List<Token> tokens = new ArrayList<>(select(jcas, Token.class)); Token gov = tokens.get(0); Token dep = tokens.get(tokens.size() - 1); Type relationType = cas.getTypeSystem().getType("webanno.custom.Relation"); // One at the beginning // WebAnno legacy conventions // AnnotationFS fs1 = cas.createAnnotation(relationType, // min(dep.getBegin(), gov.getBegin()), // max(dep.getEnd(), gov.getEnd())); // DKPro Core conventions AnnotationFS fs1 = cas.createAnnotation(relationType, dep.getBegin(), dep.getEnd()); FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); FSUtil.setFeature(fs1, "value", "nsubj"); cas.addFsToIndexes(fs1); writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_RELATION_LAYERS, asList("webanno.custom.Relation")); }
@Test public void testSingleTokenRelationWithoutFeatureValue() throws Exception { JCas jcas = makeJCasOneSentence(); CAS cas = jcas.getCas(); List<Token> tokens = new ArrayList<>(select(jcas, Token.class)); Token gov = tokens.get(0); Token dep = tokens.get(tokens.size() - 1); Type relationType = cas.getTypeSystem().getType("webanno.custom.Relation"); // One at the beginning // WebAnno legacy conventions // AnnotationFS fs1 = cas.createAnnotation(relationType, // min(dep.getBegin(), gov.getBegin()), // max(dep.getEnd(), gov.getEnd())); // DKPro Core conventions AnnotationFS fs1 = cas.createAnnotation(relationType, dep.getBegin(), dep.getEnd()); FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1); writeAndAssertEquals(jcas, WebannoTsv3Writer.PARAM_RELATION_LAYERS, asList("webanno.custom.Relation")); }
setFeature(annotation, CAS.FEATURE_BASE_NAME_END, aUnit.getEnd());
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); FSUtil.setFeature(fs1, "value", "nsubj"); FSUtil.setFeature(fs1, "boolValue", true); FSUtil.setFeature(fs1, "integerValue", 42); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
setFeature(host1, "value", "val1"); setFeature(host2, "value", "val2");
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
FSUtil.setFeature(fs1, "Governor", gov); FSUtil.setFeature(fs1, "Dependent", dep); cas.addFsToIndexes(fs1);
private Dependency makeDependency(JCas aJCas, int govId, int depId, String label, String flavor, Int2ObjectMap<Token> tokens, String[] word) { Dependency rel = new Dependency(aJCas); if (govId == 0) { rel.setGovernor(tokens.get(depId)); rel.setDependent(tokens.get(depId)); } else { rel.setGovernor(tokens.get(govId)); rel.setDependent(tokens.get(depId)); } rel.setDependencyType(label); // This is set via FSUtil because we still use the DKPro Core 1.7.0 JCas classes FSUtil.setFeature(rel, "flavor", flavor); rel.setBegin(rel.getDependent().getBegin()); rel.setEnd(rel.getDependent().getEnd()); rel.addToIndexes(); return rel; }
private Dependency makeDependency(JCas aJCas, int govId, int depId, String label, String flavor, Int2ObjectMap<Token> tokens, String[] word) { Dependency rel = new Dependency(aJCas); if (govId == 0) { rel.setGovernor(tokens.get(depId)); rel.setDependent(tokens.get(depId)); } else { rel.setGovernor(tokens.get(govId)); rel.setDependent(tokens.get(depId)); } rel.setDependencyType(label); // This is set via FSUtil because we still use the DKPro Core 1.7.0 JCas classes FSUtil.setFeature(rel, "flavor", flavor); rel.setBegin(rel.getDependent().getBegin()); rel.setEnd(rel.getDependent().getEnd()); rel.addToIndexes(); return rel; }
private Dependency makeDependency(JCas aJCas, int govId, int depId, String label, String flavor, Int2ObjectMap<Token> tokens, String[] word) { Dependency rel = new Dependency(aJCas); if (govId == 0) { rel.setGovernor(tokens.get(depId)); rel.setDependent(tokens.get(depId)); } else { rel.setGovernor(tokens.get(govId)); rel.setDependent(tokens.get(depId)); } rel.setDependencyType(label); // This is set via FSUtil because we still use the DKPro Core 1.7.0 JCas classes FSUtil.setFeature(rel, "flavor", flavor); rel.setBegin(rel.getDependent().getBegin()); rel.setEnd(rel.getDependent().getEnd()); rel.addToIndexes(); return rel; }