@Override
public void visit(OWLDataPropertyRangeAxiom ax) {
DataPropertyExpression dpe = getPropertyExpression(ax.getProperty(), builder.dataProperties());
try {
OWL2Datatype owlDatatype = getCanonicalDatatype(ax.getRange());
if (owlDatatype == null) {
builder.addSubPropertyOfAxiom(dpe, DataPropertyExpressionImpl.owlBottomDataProperty);
}
else {
Datatype datatype = builder.getDatatype(owlDatatype.getIRI().toString());
builder.addDataPropertyRangeAxiom(dpe.getRange(), datatype);
}
}
catch (TranslationException e) {
log.warn(NOT_SUPPORTED_EXT, ax, e.getMessage());
}
catch (InconsistentOntologyException e) {
log.warn(INCONSISTENT_ONTOLOGY, ax);
throw new RuntimeException(INCONSISTENT_ONTOLOGY_EXCEPTION_MESSAGE + ax);
}
}