@Override
 public void visit(OWLDisjointDataPropertiesAxiom axiom) {
   constructs.add(D);
   for (OWLDataPropertyExpression prop : axiom.getProperties()) {
     prop.accept(this);
   }
 }
 public void visit(OWLDisjointDataPropertiesAxiom axiom) {
   for (OWLDataPropertyExpression propA : axiom.getProperties()) {
     for (OWLDataPropertyExpression propB : axiom.getProperties()) {
       if (!propA.equals(propB)) {
         addChildParent(propA, propB, axiom);
       }
     }
   }
 }
 @Override
 public void visit(OWLHasKeyAxiom axiom) {
   handleObject(axiom);
   axiom.getClassExpression().accept(this);
   for (OWLObjectPropertyExpression prop : axiom.getObjectPropertyExpressions()) {
     prop.accept(this);
   }
   for (OWLDataPropertyExpression prop : axiom.getDataPropertyExpressions()) {
     prop.accept(this);
   }
 }
 @Test
 public void testBottomDataPropertyNegative() {
   OWLDataPropertyExpression prop = DataProperty(getIRI("prop"));
   assertFalse(prop.isOWLBottomDataProperty());
 }
 @Test
 public void testBottomDataPropertyPositive() {
   OWLDataPropertyExpression prop = Factory.getFactory().getOWLBottomDataProperty();
   assertTrue(prop.isOWLBottomDataProperty());
 }
 public void visit(OWLEquivalentDataPropertiesAxiom axiom) {
   for (OWLDataPropertyExpression prop : axiom.getProperties()) {
     prop.accept(this);
   }
   processAxiomAnnotations(axiom);
 }