---
schema: 1
type: video
title: >-
  RAG Needs a Map: Using GraphRAG to Retrieve Connected Context — Nyah Macklin,
  Neo4j
description: >-
  An agent answering questions about a course needs more than the five chunks
  closest to a query. It also needs the connections between lessons, concepts,
  and the sources behind its answer. Nyah Macklin builds that retrieval path
  with Neo4j, combining vector search with a knowledge graph that people can
  inspect and query. The workshop starts with the difference between semantic
  similarity and relationships, then walks through GraphAcademy, an Aura
  database, and a Python environment. An LLM extracts entities and relationships
  from course material, embeddings support similarity search, and Cypher exposes
  the resulting structure. Vectors remain part of the system; the graph adds
  connected context and a way to answer questions that require traversal or
  aggregation. The hands on build moves from a knowledge graph pipeline to an
  agent in Aura. Macklin creates a vector index, configures a lesson search
  tool, adds a retrieval query that returns related graph data, and enables
  natural language questions through text to Cypher. The agent answers a
  question about temperature using course content and displays its sources. A
  lesson count prompts a closer check of the underlying database query, showing
  why visible evidence matters even after the pipeline works. The final code
  walkthrough covers chunking, entity types, relationship types, and a schema
  that guides extraction rather than leaving the model to invent the graph's
  structure. Speaker info: - https://x.com/nyahmacklindev -
  https://www.linkedin.com/in/nyahmacklin -
  https://graphacademy.neo4j.com/courses/workshop-genai -
  https://github.com/neo4j/neo4j-graphrag-python Timestamps: 0:00 - Workshop
  introduction 3:07 - GraphAcademy and workshop setup 5:18 - Create an Aura
  database 7:07 - Vectors and graph context 9:13 - Relationships and
  explainability 11:38 - From RAG to GraphRAG 13:00 - When connected retrieval
  helps 16:11 - Retriever types and architecture 18:42 - Knowledge graph
  fundamentals 20:18 - Extract entities and relationships 23:08 - Python package
  and Codespace setup 27:32 - Test the environment 28:40 - Run the knowledge
  graph builder 30:53 - Inspect nodes and relationships 32:16 - Enable and
  create an Aura agent 36:51 - Create the vector index 40:14 - Configure lesson
  similarity search 42:22 - Return connected graph data 44:12 - Test the agent
  and inspect sources 45:48 - Check a lesson count against the graph 47:55 -
  Walk through the pipeline code 51:07 - Further learning and wrap up --- Watch
  along with the corrected transcript, summary, timestamps and resources on this
  talk's official AIE page:
  https://ai.engineer/talks/LJ2a9nX3vlo-youtube-cf62a92c82ed1de99233 Join our
  upcoming AI Engineer conferences (see https://ai.engineer landing page): -
  AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and
  engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference
  returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS
  2026 in Sydney ---
canonical: 'https://liquidgold.cc/watch/LJ2a9nX3vlo'
markdown: 'https://liquidgold.cc/watch/LJ2a9nX3vlo.md'
llms: 'https://liquidgold.cc/watch/LJ2a9nX3vlo/llms.txt'
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-23T22:19:20.632Z'
language: null
children: []
videoId: LJ2a9nX3vlo
durationSeconds: 3179
publishedAt: '2026-10-11T10:30:20.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 713
    endSeconds: 780
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=713'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 438
    endSeconds: 553
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=438'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 790
    endSeconds: 979
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=790'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 790
    endSeconds: 979
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=790'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 564
    endSeconds: 703
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=564'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 564
    endSeconds: 703
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=564'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 979
    endSeconds: 990
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=979'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 990
    endSeconds: 1124
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=990'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 1221
    endSeconds: 1233
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=1221'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 1233
    endSeconds: 1388
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=1233'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 1400
    endSeconds: 1652
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=1400'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 1663
    endSeconds: 1720
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=1663'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 1730
    endSeconds: 1853
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=1730'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 1864
    endSeconds: 1942
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=1864'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 2223
    endSeconds: 2414
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2223'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 2427
    endSeconds: 2549
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2427'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 2567
    endSeconds: 2659
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2567'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 2760
    endSeconds: 2885
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2760'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 2896
    endSeconds: 3074
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2896'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 2896
    endSeconds: 3074
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2896'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 2671
    endSeconds: 2750
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=2671'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 209
    endSeconds: 318
    watch: 'https://liquidgold.cc/watch/LJ2a9nX3vlo?t=209'
    heldReason: rights
---


# RAG Needs a Map: Using GraphRAG to Retrieve Connected Context — Nyah Macklin, Neo4j

An agent answering questions about a course needs more than the five chunks closest to a query. It also needs the connections between lessons, concepts, and the sources behind its answer. Nyah Macklin builds that retrieval path with Neo4j, combining vector search with a knowledge graph that people can inspect and query. The workshop starts with the difference between semantic similarity and relationships, then walks through GraphAcademy, an Aura database, and a Python environment. An LLM extracts entities and relationships from course material, embeddings support similarity search, and Cypher exposes the resulting structure. Vectors remain part of the system; the graph adds connected context and a way to answer questions that require traversal or aggregation. The hands on build moves from a knowledge graph pipeline to an agent in Aura. Macklin creates a vector index, configures a lesson search tool, adds a retrieval query that returns related graph data, and enables natural language questions through text to Cypher. The agent answers a question about temperature using course content and displays its sources. A lesson count prompts a closer check of the underlying database query, showing why visible evidence matters even after the pipeline works. The final code walkthrough covers chunking, entity types, relationship types, and a schema that guides extraction rather than leaving the model to invent the graph's structure. Speaker info: - https://x.com/nyahmacklindev - https://www.linkedin.com/in/nyahmacklin - https://graphacademy.neo4j.com/courses/workshop-genai - https://github.com/neo4j/neo4j-graphrag-python Timestamps: 0:00 - Workshop introduction 3:07 - GraphAcademy and workshop setup 5:18 - Create an Aura database 7:07 - Vectors and graph context 9:13 - Relationships and explainability 11:38 - From RAG to GraphRAG 13:00 - When connected retrieval helps 16:11 - Retriever types and architecture 18:42 - Knowledge graph fundamentals 20:18 - Extract entities and relationships 23:08 - Python package and Codespace setup 27:32 - Test the environment 28:40 - Run the knowledge graph builder 30:53 - Inspect nodes and relationships 32:16 - Enable and create an Aura agent 36:51 - Create the vector index 40:14 - Configure lesson similarity search 42:22 - Return connected graph data 44:12 - Test the agent and inspect sources 45:48 - Check a lesson count against the graph 47:55 - Walk through the pipeline code 51:07 - Further learning and wrap up --- Watch along with the corrected transcript, summary, timestamps and resources on this talk's official AIE page: https://ai.engineer/talks/LJ2a9nX3vlo-youtube-cf62a92c82ed1de99233 Join our upcoming AI Engineer conferences (see https://ai.engineer landing page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS 2026 in Sydney ---

Canonical: https://liquidgold.cc/watch/LJ2a9nX3vlo · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
