Alexander Zverev reaches the French Open semi-finals for the fourth consecutive year by seeing off the spirited challenge of Alex de Minaur.