Describir: Enhancing datalog reasoning with hypertree decompositions