package org.deri.vocidex.describers;
import java.util.Collection;
import org.codehaus.jackson.node.ObjectNode;
import org.deri.vocidex.SPARQLRunner;
import com.hp.hpl.jena.rdf.model.Resource;
public class ClassDescriber extends TermDescriber {
public final static String TYPE = "class";
public ClassDescriber(SPARQLRunner source, String prefix) {
super(source, prefix);
}
public Collection<Resource> getSuperclasses(Resource class_) {
return getSource().getURIs("class-superclasses.sparql", "term", class_, "superclass");
}
public Collection<Resource> getDisjointClasses(Resource class_) {
return getSource().getURIs("class-disjoint-classes.sparql", "term", class_, "disjointClass");
}
public Collection<Resource> getEquivalentClasses(Resource class_) {
return getSource().getURIs("class-equivalent-classes.sparql", "term", class_, "equivalentClass");
}
public void describe(Resource class_, ObjectNode descriptionRoot) {
super.describe(TYPE, class_, descriptionRoot);
putURIArrayWithLabels(descriptionRoot, "superclasses", getSuperclasses(class_), labelDescriber);
putURIArrayWithLabels(descriptionRoot, "disjointClasses", getDisjointClasses(class_), labelDescriber);
putURIArrayWithLabels(descriptionRoot, "equivalentClasses", getEquivalentClasses(class_), labelDescriber);
}
}