Workshop Overview

Introduction

In this workshop, you will build a product recommendation system by transforming relational data into a graph database. These systems need to find patterns in connected data—customers, orders, and products—and answer questions about relationships between them.

By the end of this workshop, you will build a product recommendation system that answers this question:

"What products do people like me buy, that I haven’t bought yet?"

Your workshop goal

You will import data from the Northwind dataset—a fictitious food products company with customers, orders, products, and categories.

  • 91 customers

  • 830 orders

  • 77 products across 8 categories

Northwind data model showing interconnected customers

Understanding the recommendation challenge

To answer this question, you need to:

  1. Find what products I’ve purchased

  2. Find customers with similar purchases ("people like me")

  3. Find what products they bought

  4. Exclude products I already own

  5. Rank by popularity among similar customers

This is collaborative filtering—the algorithm behind recommendation systems provided by the world’s largest companies.

These questions are about relationships and connections, not just individual records.

What you’ll build

By the end of this workshop, you will have:

  • Complete graph model - Products, Customers, Orders, and Categories as nodes and relationships

  • Collaborative filtering algorithm - Find "people like me" based on purchase patterns

  • Recommendation query - 10 lines of Cypher compared to 38 lines of SQL

  • Performance understanding - How anchor nodes and traversal make queries fast

  • Hands-on experience - Import data, write queries, and understand graph database concepts

Each module builds toward the recommendation query.

Module 1: Building Your Graph

  • Graph fundamentals - nodes, relationships, properties, labels

  • How graph queries work - anchor nodes and traversal

  • Performance model - Index lookup for the starting node, then pointer chasing along relationships (no repeated index scans or join materialization)

  • Identifying nodes vs properties

  • Import tool overview and ecosystem

  • Import nodes - Products, Customers, Orders

Module 2: Modeling Relationships

  • Understanding relationships - type, direction, properties

  • When to use direct relationships vs intermediate nodes

  • Discussion: Customer→Product vs Customer→Order→Product

  • Relationship property performance considerations

  • Import relationships - Customer PLACED Order

Module 3: Many-to-Many Relationships

  • Transform join tables into relationships

  • Import Product IN_CATEGORY Category relationships

  • Import Order CONTAINS Product relationships

  • Multi-hop traversals for recommendations

Module 4: Building Recommendations and Review

  • Step-by-step query building - collaborative filtering

  • Find products I bought

  • Find similar customers (people like me)

  • Find their products (that I don’t have)

  • Rank by popularity

  • SQL vs Cypher comparison

  • Knowledge check quiz

Your Neo4j Instance Credentials

A Neo4j sandbox instance has been created for you. Use these credentials when connecting from the Import tool or Query tool.

Use the sandbox credentials shown here

These credentials are specific to your GraphAcademy sandbox. If you also have a personal Aura account, do not use those credentials for this workshop.

Connection URL

bolt+s://{instance-host}:{instance-boltPort}

Username

{instance-username}

Password

{instance-password}

Two ways to run queries

Integrated Query pane (bottom right)

  • Click the Toggle Query pane button to open it

  • Good for quick verification queries (1-3 lines)

Aura Query tool (full screen)

  • Click the console links throughout the course to open in a new tab

  • Recommended for most workshop queries - more screen space for results and multi-line queries

When in doubt, use the full Query tool.

Importing tabular data into Neo4j

The Import tool is a visual, no-code interface for importing tabular data into Neo4j.

  • Upload CSV/TSV files or connect to databases

  • Design your graph data model visually

  • Map columns to nodes and relationships

  • Run the import with one click

Open Import Tool →
Import Tool

Querying your graph database

The Query tool lets you write and run Cypher queries:

  • Execute Cypher queries

  • Generate queries using AI assistance

  • Visualize results as graphs or tables

  • Explore your data interactively

Open Query Tool →

Workshop tools

You will use the Import tool to design and load your graph model, then the Query tool to explore and query your data.

Summary

In this lesson, you learned about the workshop goal:

  • Goal - Build a recommendation system: "What products do people like me buy?"

  • The challenge - SQL requires 38 lines with 7 JOINs and complex subqueries

  • The solution - Cypher does it in 10 lines with direct relationship traversals

  • Performance - Graph traversal follows pointers in memory; deep traversals are more predictable and often much faster than equivalent multi-join SQL, especially as relationship depth increases

  • What you’ll build - Complete graph with Products, Customers, Orders, collaborative filtering algorithm

  • Workshop structure - 4 modules: Building Your Graph → Modeling Relationships → Many-to-Many → Building Recommendations

  • Dataset - Real Northwind data (91 customers, 830 orders, 77 products)

In the next module, you will learn graph fundamentals and import your first data.

Chatbot

How can I help you today?

Data Model

Your data model will appear here.