/** * */ package owlaccessor; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import java.util.Set; import org.semanticweb.owlapi.model.OWLClass; // TODO: Auto-generated Javadoc /** * This interface includes methods being used to retrieve meaning of and * relationships among terms in PATO using OWL API. Keywords, synonyms, * and parents of a term could be retrieved by giving the term. * * @author Zilong Chang, Hong Cui * */ public interface OWLAccessor { /** * Retrieve the classes representing exact matched or related terms (synonyms) of the given concept from an ontology * When there is no such a term, return and empty list. * @param con - the given concept * @return Hashtable<syn_type(original|exact|narrow|related), arraylist of matched_classes> * @throws Exception */ public Hashtable<String, ArrayList<OWLClass>> retrieveConcept(String con) throws Exception; /** * Retrieve the classes representing exact matched or related terms (synonyms) of the given concept from PATO * from a sub group, such as relational slim * When there is no such a term, return and empty list. * @param con - the given concept * @return a list of matched or related terms (synonyms) * @throws Exception */ //public List<OWLClass> retrieveConcept(String con, int subgroup) throws Exception; /** * Retrieve a set of keywords in a term's definition. * * @param c the c * @return a set of keywords */ public Set<String> getKeywords(OWLClass c); /** * Return all classes in the PATO ontology. * * @return the all classes */ public Set<OWLClass> getAllClasses(); /** * Retrieve the label (the readable term) of a OWLClass. * * @param c the c * @return the label */ public String getLabel(OWLClass c); /** * Retrieve related and exact synonyms of a OWLClass(term). * * @param c the c * @return the synonym labels */ public List<String> getSynonymLabels(OWLClass c); /** * Retrieve parents labels of a given OWLClass. * * @param c the c * @return the parents labels */ public List<String> getParentsLabels(OWLClass c); /** * Retrieve all offspring terms of a term. * * @param c the c * @return the all off springs */ public Set<String> getAllOffspringLables(OWLClass c); /** * This method is flawed as one label may be used by multiple classes * Retrieve OWLClass by label * @param l the l * @return the class by label */ //public OWLClass getClassByLabel(String l); /** * Retrive ID of an OWLClass. * * @param c the c * @return the iD */ public String getID(OWLClass c); /** * Gets the all off springs. * * @param c the c * @return the all off springs */ public Set<OWLClass> getAllOffsprings(OWLClass c); public OWLClass getOWLClassByIRI(String iri); }