Graph Machine Learning with Python Part 4: Supervised & Semi-Supervised Learning