001package org.cleartk.clearnlp;
002
003import java.util.List;
004
005import org.apache.uima.jcas.JCas;
006import org.apache.uima.jcas.cas.TOP;
007import org.apache.uima.jcas.tcas.Annotation;
008
009import com.google.common.annotations.Beta;
010
011/**
012 * Defines common set of SRL data type operations used to convert output from semantic role labelers into
013 * the target type system
014 * 
015 * @author Lee Becker
016 *
017 */
018@Beta
019public interface SemanticRoleOps<
020    ARGUMENT_TYPE extends TOP,
021    ARGUMENT_SPAN_TYPE extends Annotation,
022    PREDICATE_TYPE extends TOP,
023    PREDICATE_SPAN_TYPE extends Annotation> {
024  
025  ARGUMENT_TYPE createArgument(JCas jCas, ARGUMENT_SPAN_TYPE span, String label);
026
027  PREDICATE_TYPE createPredicate(JCas jCas, PREDICATE_SPAN_TYPE span, String rolesetId);
028 
029  void setPredicateArguments(JCas jCas, PREDICATE_TYPE predicate, List<ARGUMENT_TYPE> arguments);
030  
031}