Distance learning is getting more traction with the rise of online learning platforms such as Coursera or DataCamp, and adopted rapidly due to the COVID19 crisis. The most popular approaches, such as exercises in a fixed learning path, are directed towards the entire student population and fail to take into account individual strengths and weaknesses. Despite its clear benefits for learners, one-to-one tutoring is not scalable because it is too time- and cost-intensive. To overcome this, we develop a semantic graph-based approach to data-driven personalisation in education, following the Flemish government’s emphasis on adaptive educational systems towards Society 2025. Semantic graphs are a novelty in this context and have ideal properties to represent student behaviour and learning content. First, we estimate the student knowledge level by applying Bayesian Deep Learning on a semantic graph. Second, we use semantic graphs to represent educational content, applied to language learning and mathematics learning. The graph preserves important language properties and estimates the text difficulty level. Finally, we combine both user and content representation models into a single recommender system that builds the optimal learning path that is both challenging and engaging, concept- and context-aware. This intelligent tutoring system will lower course development costs and will be suitable for a wide range of domains.