code: private ImmutableMultimap<IRI, Datatype> computeDataTypeMap(ClassifiedTBox reasoner) {
          // TODO: switch to guava > 2.1, and replace by Streams.stream(iterable)
          return StreamSupport.stream(reasoner.dataRangesDAG().spliterator(), false)
                  .flatMap(n -> getPartialPredicateToDatatypeMap(n, reasoner).entrySet().stream())
                  .collect(ImmutableCollectors.toMultimap(
                          e -> e.getKey(),
                          Map.Entry::getValue));
      }
docs: Produces a map from datatypeProperty to corresponding datatype according to the ontology (the datatype may
  be inferred).
  This is a rewriting of method:
  it.unibz.inf.ontop.owlrefplatform.core.mappingprocessing.MappingDataTypeRepair#getDataTypeFromOntology
  from Ontop v 1.18.1