> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xkat.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Designing the Knowledge Graph

> Author nodes and prerequisite (REQUIRES) relationships.

A great xkat course isn't just a sequence of lessons — it's a well-formed
**knowledge graph**. As a creator, you design the nodes and the prerequisite
relationships that connect them.

## Nodes

Each **node** is a focused, self-contained skill or concept. Smaller, sharper
nodes make for better roadmaps and easier reuse. Aim for one clear idea per node.

## Prerequisite relationships

Connect nodes with **`REQUIRES`** edges to express order:

* An edge from **A → B** means a learner should complete **B** before **A**.
* These edges are what let [MyRoads](/en/learn/roadmap) compute a correct learning
  path and what learners explore in the
  [3D graph](/en/learn/knowledge-graph).

## Design tips

<CardGroup cols={2}>
  <Card title="Keep nodes atomic" icon="atom">
    One concept per node makes prerequisites cleaner.
  </Card>

  <Card title="Model real dependencies" icon="link">
    Only add a REQUIRES edge when it's genuinely a prerequisite.
  </Card>

  <Card title="Avoid cycles" icon="rotate-left">
    Prerequisites should form a forward-moving path, not loops.
  </Card>

  <Card title="Let AI help" icon="robot">
    AI Import and the V4 Generator can propose an initial node structure.
  </Card>
</CardGroup>

## Under the hood

Published graphs are synchronized to a Neo4j knowledge graph. See
[Knowledge Graph Architecture](/en/platform/knowledge-graph-architecture) for how
that works.
