public Object getRelationshipType(Object parentObject, Object childObject) {
   AxiomEdge edge = new AxiomEdge(childObject, parentObject);
   OWLObject edgeObject = edgeMap.get(edge);
   if (edgeObject != null) {
     edgeNameGenerator.reset();
     if (edgeObject instanceof OWLClassExpression) {
       ((OWLClassExpression) edgeObject).accept(edgeNameGenerator);
     } else {
       ((OWLAxiom) edgeObject).accept(edgeNameGenerator);
     }
     return edgeNameGenerator.edgeName;
   } else {
     return null;
   }
 }
 public int getRelationshipDirection(Object parentObject, Object childObject) {
   AxiomEdge edge = new AxiomEdge(childObject, parentObject);
   OWLObject edgeObject = edgeMap.get(edge);
   if (edgeObject != null) {
     edgeNameGenerator.reset();
     if (edgeObject instanceof OWLAxiom) {
       ((OWLAxiom) edgeObject).accept(edgeNameGenerator);
     } else {
       ((OWLClassExpression) edgeObject).accept(edgeNameGenerator);
     }
     return edgeNameGenerator.direction;
   }
   return -1; // if no edge found, negative direction for handling in
   // DefaultEdgeFactory
 }
 /**
  * This method clears all the map (invokes the clearMaps-method) at first. Then it iterates over
  * all axioms and invokes their accept-Method with "this" as parameter.
  *
  * @param axioms The axioms to visualize
  */
 public void addAndClearAxioms(Set<OWLAxiom> axioms) {
   this.clearMaps();
   for (OWLAxiom ax : axioms) {
     ax.accept(this);
   }
 }