OWLDataRange rng1R = DataIntersectionOf(dtC, dtB);
OWLDataRange rng2 = DataUnionOf(dtA, dtB);
OWLDataRange rng2R = DataUnionOf(dtC, dtB);
OWLDataRange rng3 = DataComplementOf(dtA);
OWLDataRange rng3R = DataComplementOf(dtC);
OWLDataPropertyExpression propB = DataProperty(iri("propA"));
Set<OWLAxiom> axioms1 = new HashSet<>();
axioms1.add(DataPropertyRange(propB, rng1));
axioms1.add(DataPropertyRange(propB, rng2));
axioms1.add(DataPropertyRange(propB, rng3));
ont.getOWLOntologyManager().addAxioms(ont, axioms1);