• 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. Appendices
  2. Neo4j & Cypher Code
  3. Perspectives
  • 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

On this page

  • Scenario 1: Programme Leader Perspective
    • Perspective:
    • Scenes:
    • Example Cypher Queries:
  • Scenario 2: Module Leader Perspective
    • Perspective:
    • Scenes:
  • Scenario 3: Administrator Perspective (Room Usage)
    • Perspective:
    • Scenes:
  1. Appendices
  2. Neo4j & Cypher Code
  3. Perspectives

V: Perspectives and Scenes for Neo4j Explore Functionality

This page contains example scenarios for demonstrating Neo4j “Perspectives” and “Scenes” which are used to explore data in a graph database from the perspective of a particular user. Perspectives focus the view by selecting specific nodes and relationships, while scenes allow for visualising the data interactively.

Scenario 1: Programme Leader Perspective

Goal: Enable a programme leader to gain insights into their programme’s structure, student engagement, and potential areas for improvement.

Perspective:

Nodes:

  • Programme (central node)
  • Module
  • Student
  • Activity
  • Room
  • Staff

Relationships:

  • Programme <-[:BELONGS_TO]- Module
  • Module <-[:BELONGS_TO]- Activity
  • Student -[:REGISTERED_ON]-> Programme
  • Student -[:ATTENDS]-> Activity
  • Student-[:ENROLLED_ON]-> Module
  • Activity -[:OCCUPIES]-> Room
  • Staff -[:TEACHES]-> Activity

Scenes:

Programme Overview: Visualise the entire programme structure, showcasing modules, their connections, and associated activities. Highlight popular and less popular modules based on student enrolment.

Student Engagement: Focus on a specific module and visualise student attendance patterns. Identify students with low attendance and potential at-risk students.

Resource Allocation: Visualise room utilisation across the programme’s activities. Identify potential scheduling conflicts or underutilised spaces.

Staff Workload: Analyse the distribution of teaching workload among staff members within the programme.

Example Cypher Queries:

//Programme Structure:

MATCH (p:programme {name: 'Computer Science'})<-[:BELONGS_TO]-(m:module)
RETURN p, m


//Student Attendance:

MATCH (m:module {name: 'Data Structures'})-[:BELONGS_TO]->(p:programme)<-[:REGISTERED_ON]-(s:student)-[:ATTENDS]->(a:Activity)
RETURN m, s, a


//Room Utilisation:

MATCH (p:programme)<-[:BELONGS_TO]-(m:module)<-[:BELONGS_TO]-(a:activity)-[:OCCUPIES]->(r:room)
RETURN p, m, a, r

Staff Workload:

MATCH (p:programme)<-[:BELONGS_TO]-(m:module)<-[:BELONGS_TO]-(a:activity)<-[:TEACHES]-(s:staff)
RETURN p, m, a, s

Scenario 2: Module Leader Perspective

Goal: Provide a module leader with insights into their module’s scheduling, student performance, and room allocation.

Perspective:

Nodes:

  • Module (central node)
  • Activity
  • Student
  • Room
  • Assessment

Relationships:

  • module <-[:BELONGS_TO]- activity
  • student -[:ATTENDS]-> activity
  • activity -[:OCCUPIES]-> room
  • student -[:HAS_RESULT_FOR]-> assessment
  • module -[:HAS_ASSESSMENT]-> assessment

Scenes:

  • Module Schedule: Visualise the module’s activities, their timeslots, and associated rooms. Highlight potential scheduling conflicts or overlaps.
  • Student Performance: Focus on a specific assessment and visualise student results. Identify students who may need additional support.
  • Room Suitability: Analyse the rooms used for the module’s activities and their capacities. Identify potential issues with room size or suitability.

Scenario 3: Administrator Perspective (Room Usage)

Goal: Ability to analyse room usage, identify underutilised spaces, and optimise room allocation.

Perspective:

Nodes:

  • Room (central node)
  • Activity
  • Module
  • Programme

Relationships:

  • activity -[:OCCUPIES]-> room
  • module <-[:BELONGS_TO]- activity
  • programme <-[:BELONGS_TO]- module

Scenes:

  • Room Utilization Overview: Visualise all rooms and their occupancy levels across different time periods. Highlight rooms with low utilisation or frequent conflicts.
  • Room Activity Breakdown: Focus on a specific room and visualise the activities scheduled there. Identify peak usage times and potential scheduling issues.
  • Programme Room Usage: Analyse room usage by different programmes. Identify programmes with high room demands or potential conflicts.
Rooms and Spaces
Blue Skies Opportunities

Copyright 2024, Petter Lövehagen

 

Built with Quarto