All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ixa.kaflib.Predicate Maven / Gradle / Ivy

package ixa.kaflib;

import java.util.List;
import java.util.ArrayList;
import java.io.Serializable;


public class Predicate implements Serializable {

    public static class Role implements Serializable {
	private String rid;
	private String semRole;
	private Span span;
	private List externalReferences;

	Role(String id, String semRole, Span span) {
	    this.rid = id;
	    this.semRole = semRole;
	    this.span = span;
	    this.externalReferences = new ArrayList();
	}

	public String getId() {
	    return this.rid;
	}

	public void setId(String id) {
	    this.rid = id;
	}

	public String getSemRole() {
	    return this.semRole;
	}

	public void setSemRole(String semRole) {
	    this.semRole = semRole;
	}

	public Span getSpan() {
	    return this.span;
	}

	public void setSpan(Span span) {
	    this.span = span;
	}

	public List getTerms() {
	    return this.span.getTargets();
	}

	public void addTerm(Term term) {
	    this.span.addTarget(term);
	}
	
	public void addTerm(Term term, boolean isHead) {
	    this.span.addTarget(term, isHead);
	}

	public String getStr() {
	    String str = "";
	    for (Term term : this.span.getTargets()) {
		if (!str.isEmpty()) {
		    str += " ";
		}
		str += term.getStr();
	    }
	    return str;
	}

	public List getExternalRefs() {
	    return externalReferences;
	}

	public void addExternalRef(ExternalRef externalRef) {
	    externalReferences.add(externalRef);
	}

	public void addExternalRefs(List externalRefs) {
	    externalReferences.addAll(externalRefs);
	}
    }

    private String id;
    private String uri;
    private float confidence;
    private Span span;
    private List roles;
    private List externalReferences;

    Predicate(String id, Span span) {
	this.id = id;
	this.span = span;
	this.roles = new ArrayList();
	this.confidence = -1.0f;
	this.externalReferences = new ArrayList();
    }

    public String getId() {
	return this.id;
    }

    public void setId(String id) {
	this.id = id;
    }

    public boolean hasUri() {
	return (this.uri != null);
    }

    public String getUri() {
	return this.uri;
    }

    public void setUri(String uri) {
	this.uri = uri;
    }

    public boolean hasConfidence() {
	return confidence != -1.0f;
    }

    public float getConfidence() {
	return confidence;
    }

    public void setConfidence(float confidence) {
	this.confidence = confidence;
    }

    public Span getSpan() {
	return this.span;
    }

    public void setSpan(Span span) {
	this.span = span;
    }

    public List getTerms() {
	return this.span.getTargets();
    }

    public void addTerm(Term term) {
	this.span.addTarget(term);
    }
	
    public void addTerm(Term term, boolean isHead) {
	this.span.addTarget(term, isHead);
    }

    public String getStr() {
	String str = "";
	if (!this.span.isEmpty()) {
	    Term target = this.span.getFirstTarget();
	    str += target.getId() + " " + target.getStr() + " ";
	}
	str += ":";
	for (Role role : this.roles) {
	    if (!role.span.isEmpty()) {
		Term roleTarget = role.getSpan().getFirstTarget();
		str += " " + role.getSemRole() + "[" + roleTarget.getId() + " " + roleTarget.getStr() + "]";
	    }
	}
	return str;
    }

    public String getSpanStr() {
	String str = "";
	for (Term term : this.span.getTargets()) {
	    if (!str.isEmpty()) {
		str += " ";
	    }
	    str += term.getStr();
	}
	return str;
    }

    public List getExternalRefs() {
	return externalReferences;
    }

    public void addExternalRef(ExternalRef externalRef) {
	externalReferences.add(externalRef);
    }

    public void addExternalRefs(List externalRefs) {
	externalReferences.addAll(externalRefs);
    }

    public List getRoles() {
	return this.roles;
    }

    public void addRole(Role role) {
	this.roles.add(role);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy