package tudelft.healthpsychology.traumaontologies.answerstate; import java.util.Collection; import java.util.List; import org.semanticweb.owlapi.model.OWLClass; import tudelft.utilities.tree.TreeNode; /** * This is a node (class) in the ontology. The ontology builds a tree of terms * and subterms, eg "Apparatus" would be a term and "Vacuum cleaner" a subterm * of it. The IRI contains eg "#Apparatus" and should refer properly to the IRIs * in the ontology.
* This class abstracts away all database querying and RDF stuff, facilitating * testing and code readability. * * The nodes in the ontology graph have properties. These properties are * questions to be filled in separately. * * We use a String as label of the nodes that are referring to {@link OWLClass} * objects. * */ public interface OntologyNode extends TreeNode> { /** * @param depth Must be positive or 0. 0 means node itself, 1 means direct * children, 2 means children of the children, etc. * @return list with only this node if this is a leaf node or depth=0. If * this is not a leaf node, then returns a list joining all * getChildren(depth-1) of each child. */ List getChildren(int depth); /** * @return the parent of this node. Null if no such node eg if this is the * root node. */ OntologyNode getParent(); }