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