package edu.unc.ils.mrc.hive.converter.itis.model;
import java.util.ArrayList;
import java.util.List;
public class Taxon {
private String tsn;
private String name;
private String longName;
private List<String> children;
private String parent;
private List<String> synonyms;
private String taxonomic_rank;
public Taxon(String tsn) {
this.tsn = tsn;
this.children = new ArrayList<String>();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLongName() {
return longName;
}
public void setLongName(String longName) {
this.longName = longName;
}
public List<String> getChilds() {
return children;
}
public void setChilds(List<String> children) {
this.children = children;
}
public void addchild(String child) {
this.children.add(child);
}
public String getParent() {
return parent;
}
public void setParent(String parent) {
this.parent = parent;
}
public List<String> getSynonyms() {
return synonyms;
}
public void setSynonyms(List<String> synonyms) {
this.synonyms = synonyms;
}
public String getTaxonomic_rank() {
return taxonomic_rank;
}
public void setTaxonomic_rank(String taxonomicRank) {
taxonomic_rank = taxonomicRank;
}
public String getTsn() {
return tsn;
}
public String toSKOS() {
StringBuffer buffer = new StringBuffer();
buffer
.append("<rdf:Description rdf:about=\"http://www.itis.gov/itis/");
buffer.append(tsn);
buffer.append("#concept\">\n");
buffer
.append("\t<rdf:type rdf:resource=\"http://www.w3.org/2004/02/skos/core#Concept\"/>\n");
buffer
.append("\t<skos:inScheme rdf:resource=\"http://www.itis.gov/itis#conceptScheme\"/>\n");
if (this.children != null) {
for (String c : this.children) {
buffer
.append("\t<skos:narrower rdf:resource=\"http://www.itis.gov/itis/");
buffer.append(c);
buffer.append("#concept\"/>\n");
}
}
if (this.parent != null) {
buffer
.append("\t<skos:broader rdf:resource=\"http://www.itis.gov/itis/");
buffer.append(this.parent);
buffer.append("#concept\"/>\n");
}
buffer.append("\t<skos:prefLabel>");
buffer.append(this.longName);
buffer.append("</skos:prefLabel>\n");
if (this.synonyms != null) {
for (String alt : synonyms){
buffer.append("\t<skos:altLabel>");
buffer.append(alt);
buffer.append("</skos:altLabel>\n");
}
}
buffer.append("</rdf:Description>");
return buffer.toString();
}
}