/**
*
*/
package outputter.data;
/**
* @author Hong Cui
*
*/
public class RelationalQuality extends Quality {
private QualityProposals relationalquality; //any relation from PATO relational_slim, or size
private EntityProposals relatedentity; //also called qualitymodifier
/**
*
*/
public RelationalQuality() {
}
/**
* @param string
* @param label
* @param id
* @param iri
*/
/*public RelationalQuality(String string, String label, String id) {
Quality q = new Quality(string, label, id);
relationalquality = new QualityProposals();
relationalquality.add(q);
}*/
public RelationalQuality(QualityProposals relationalquality, EntityProposals relatedentity) {
this.relationalquality = relationalquality;
this.relatedentity = relatedentity;
}
public QualityProposals getQuality(){
return relationalquality;
}
public void setQuality(QualityProposals relationalquality){
this.setRelationalquality(relationalquality);
}
public EntityProposals getRelatedEntity(){
return relatedentity;
}
public void setRelatedEntity(EntityProposals relatedentity){
this.relatedentity = relatedentity;
}
public void setRelationalquality(QualityProposals relationalquality) {
this.relationalquality = relationalquality;
}
public String toString(){
return "quality="+this.relationalquality.toString()+" related entity="+this.relatedentity.toString();
}
public String content(){
return this.relationalquality.content()+" "+this.relatedentity.content();
}
/*public String getSearchString()
{
String quality="";
for(Quality q:this.relationalquality.getProposals())
{
if((q instanceof CompositeQuality))
{
quality+=((CompositeQuality)q).getFullString()+",";
}else if((q instanceof NegatedQuality))
{
quality+=((NegatedQuality)q).getFullString()+",";
}else if(q instanceof RelationalQuality)
{
quality+=q.getSearchString()+",";
}
else
{
quality+=q.getSearchString();
}
}
return quality.replaceAll(",$", "");
}*/
public String getId()
{
String id="";
for(Quality q:this.relationalquality.getProposals())
{
if((q instanceof CompositeQuality))
{
id+=((CompositeQuality)q).getFullId()+",";
}else if((q instanceof NegatedQuality))
{
id+=((NegatedQuality)q).getFullId()+",";
}else if(q instanceof RelationalQuality)
{
id+=q.getId()+",";
}
else
{
id+=q.getId()+",";//added ',' by Hong 1/16/2014
}
}
return id.replaceAll(",$", "");
}
//created to read the string of th relationalquality proposals
public String getFullString()
{
String qstring="";
for(Quality q:this.relationalquality.getProposals())
{
if((q instanceof CompositeQuality))
{
qstring+=((CompositeQuality)q).getFullString()+",";
}else if((q instanceof NegatedQuality))
{
qstring+=((NegatedQuality)q).getFullString()+",";
}else if(q instanceof RelationalQuality)
{
qstring+=((RelationalQuality)q).getFullString()+",";
}
else
{
qstring+=q.getString()+","; //added ',' by Hong 1/16/2014
}
}
return qstring.replaceAll(",$", "");
}
public String getIRI()
{
String iri="";
for(Quality q:this.relationalquality.getProposals())
{
if((q instanceof CompositeQuality))
{
iri+=((CompositeQuality)q).getFullIRI()+",";
}else if((q instanceof NegatedQuality))
{
iri+=((NegatedQuality)q).getFullIRI()+",";
}else if(q instanceof RelationalQuality)
{
iri+=q.getClassIRI()+",";
}
else
{
iri+=q.getClassIRI()+","; //added ',' by Hong 1/16/2014
}
}
return iri.replaceAll(",$", "");
}
public String getLabel()
{
String label="";
for(Quality q:this.relationalquality.getProposals())
{
if((q instanceof CompositeQuality))
{
label+=((CompositeQuality)q).getFullLabel()+",";
}else if((q instanceof NegatedQuality))
{
label+=((NegatedQuality)q).getFullLabel()+",";
}else if(q instanceof RelationalQuality)
{
label+=q.getLabel()+",";
}
else
{
label+=q.getLabel()+",";
}
}
return label.replaceAll(",$", "");
}
@Override
public float getConfidenceScore() {
float score=1.0f;
for(Quality q:this.relationalquality.getProposals())
{
score*=q.getConfidenceScore();
}
/* for(Entity e:this.relatedentity.getProposals())
{
score*=e.getConfidienceScore();
}*///Not needed as per discussion with Hong
return score;
}
public String getUnOntologized() {
String unontologizedstring="";
for(Quality q:this.relationalquality.getProposals())
{
if((q instanceof CompositeQuality))
{
unontologizedstring+=((CompositeQuality)q).getUnOntologized();
}else if((q instanceof NegatedQuality))
{
unontologizedstring+=((NegatedQuality)q).getUnOntologized();
}else if(q instanceof RelationalQuality)
{
unontologizedstring+=q.getUnOntologized();
}
else
{
unontologizedstring+=q.getUnOntologized();
}
}
return unontologizedstring;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}