Methods, Algorithms And Impossibility Results For Machine Learning On Graphs