Semantic Reasoning with Differentiable Graph Transformations