• Home
  • Project
    Introduction
    • Introduction
    • Background and Motivation
    • What is a Good Timetable?
    • Project Aims and Scope
  • Graph Data
    Model
    • Graph vs Relational Data Models
    • Graph Data Model for Timetabling
    • Early Insights
    • Model Expansion
    • Graphing Time
  • Data
    Pipeline
    • ETL Overview
    • Approach
    • Configuration and Logging
    • Extract
    • Transform
    • Google Drive Load
    • Neo4j Load
    • Reflection
  • Timetable
    Metrics
    • Timetable Metrics
    • Metric Aggregations
    • Implementing Metrics
    • TQI Summary
  • Final
    Thoughts
  • Appendices
    & Extras
    • Appendix Table of Contents
    • References
    • Acknowledgements
  • Word
  1. Home
  • Home
  • Project Introduction
    • Introduction
    • Background and Motivation
    • What is a Good Timetable?
    • Project Aims and Scope
  • Graph Data Model
    • Graph vs Relational Data Models
    • Graph Data Model for Timetabling
    • Early Insights
    • Model Expansion
    • Graphing Time
  • Data Pipeline
    • ETL Overview
    • Approach
    • Configuration and Logging
    • Extract
    • Transform
    • Google Drive Load
    • Neo4j Load
    • Reflection
  • Timetable Metrics
    • Timetable Metrics
    • Metric Aggregations
    • Implementing Metrics
    • TQI Summary
  • Final Thoughts
  • Appendices
    • Random Graph Generator
    • Technology Stack
    • Configuration
    • Anonymisation
    • ETL Summary and Code
      • ETL Summary
      • ETL Code
      • Config and Misc
      • Extract-SQL
      • Extract
      • Google Drive Load
      • Transform
      • Neo4j Load
    • Neo4j & Cypher Code
      • Cypher Queries
      • Creating Nodes and Relationships
      • Deleting Nodes and Relationships
      • General Queries
      • Count Queries
      • Hard (timetabling) Constraints
      • Student Clashes
      • Soft Constraints
      • Rooms and Spaces
      • Perspectives
      • Blue Skies Opportunities
  • Supervision
    • Supervision
    • Notes Example 1
    • Notes Example 2
    • Notes Example 3
  • References
  • Acknowledgements

Exploring Graph Data Models for Timetabling Insights

A proof-of-concept data engineering project

Author

Petter Lovehagen

Published

August 29, 2024

Supervisor: Xiaodong Li

Programme: MSc Data Science

Institution: University of the West of England, Bristol

Intro Video:

Abstract:

Timetables are central to the daily experience of university students and staff. Timetables also influence resource utilisation and play a key role in institutional efficiency. In short, timetables are critical to the individual experience and the overall success of an institution. But timetables are also contentious - there is no ‘perfect’ timetable, only a series of compromises that balance competing priorities.

This project explores the use of graph data models to provide deeper insights into timetables. The aim is to investigate the viability of graph-based approaches for enhanced timetabling analytics and reporting. The objectives include designing a graph data model, developing a configurable ETL pipeline, and discussing how graph-based analysis could contribute to quantitatively measuring timetable quality by introducing the concept of a Timetable Quality Index.

The project is a proof-of-concept, and the results are intended to inform future research and development in timetabling analytics. The project is implemented primarily in Python, using the Neo4j cloud instance graph database, and the results and documentation are presented in a Quarto website.

Approximate Word Count Breakdown
Section Word count
Abstract 170
Main Sections (excl. tables, code, images, references, footnotes, headers) 7189
Appendices (inc. everything) 14082
Introduction

Copyright 2024, Petter Lövehagen

 

Built with Quarto