Concept Map & Knowledge Graph¶
This page provides two visual overviews: a concept map showing how topics in this documentation connect (so you can plan your learning path), and a knowledge graph demonstrating how AI coding assistants persist structured knowledge across sessions.
How These Docs Are Organized¶
The site has eight sections that form a progression:
| Section | Purpose |
|---|---|
| Getting Started | Local development setup: WSL, VS Code, Python, AI tools |
| OSC Basics | Connecting to OSC: accounts, SSH, remote development |
| Working on OSC | Day-to-day work: environments, job submission, pipelines |
| ML Workflows | Machine learning stack: PyTorch, PyG, experiment tracking |
| Contributing | How to contribute to lab docs and use GitHub effectively |
| Assignments | Course assignments and project templates |
| Resources | Troubleshooting, useful links, and this concept map |
| Tags | Browse all pages by topic tag |
The concept map below shows the key prerequisite relationships between pages.
Docs Concept Map¶
flowchart TB
subgraph GS["Getting Started"]
wsl["WSL2 Setup"]
vscode["VS Code Setup"]
pyenv["Python Env Setup"]
ai["AI Coding Assistants"]
agent["Agent Workflows"]
wsl --> vscode --> pyenv
vscode --> ai --> agent
end
subgraph OB["OSC Basics"]
account["Account Setup"]
ssh["SSH Connection"]
remote["Remote Development"]
account --> ssh --> remote
end
subgraph WO["Working on OSC"]
envmgmt["Environment Mgmt"]
jobs["Job Submission"]
pipeline["Pipeline Orchestration"]
envmgmt --> jobs
jobs --> pipeline
end
subgraph ML["ML Workflows"]
pytorch["PyTorch & GPU Setup"]
pyg["PyG Setup"]
rapids["RAPIDS GPU"]
mlwf["ML Project Template"]
tracking["Data & Experiment Tracking"]
duckdb["DuckDB Analytics"]
hf["Hugging Face Spaces"]
pytorch --> pyg
pytorch --> rapids
mlwf --> tracking --> duckdb
tracking --> hf
end
%% Cross-section prerequisite edges
pyenv --> envmgmt
remote --> envmgmt
jobs --> pytorch
pytorch --> mlwf Hub Pages¶
These five pages are referenced most often across the documentation. If you're looking for something, there's a good chance one of these is the right starting point.
| Page | Role |
|---|---|
| Job Submission | Central reference for SLURM scripts, partitions, and job arrays |
| PyTorch & GPU Setup | GPU environment setup, CUDA troubleshooting, performance tuning |
| Environment Management | Modules, virtual environments, uv, and dependency management |
| Data & Experiment Tracking | W&B, DVC, and the Parquet datalake pattern |
| SSH Connection | SSH keys, config, ProxyJump, and connection troubleshooting |
What Is a Knowledge Graph?¶
A knowledge graph stores information as a network of entities (things) connected by relations (how they relate). Each entity can have observations — facts or notes attached to it.
This is different from flat notes or documents:
- Entities are named objects with a type (e.g., "PyTorch Setup" of type
infrastructure) - Relations connect entities directionally (e.g., "MapViz Build" enables "DuckDB-WASM Plan")
- Observations are free-text facts attached to an entity, like log entries
Knowledge graphs are used in AI systems to give agents persistent, structured memory. Claude Code's MCP memory server maintains a knowledge graph in ~/.claude/knowledge-graph.json that persists across coding sessions. When you use the /save skill or Claude learns something about your project, it stores that knowledge as entities and relations — so it can recall context in future sessions without re-reading every file.
NDJSON Format¶
The knowledge graph is stored as newline-delimited JSON (NDJSON). Each line is either an entity or a relation:
{"type": "entity", "name": "Database Architecture", "entityType": "architecture_decision", "observations": ["KD-GAT and Map-Viz converge on DuckDB + Parquet pattern"]}
{"type": "relation", "from": "Mosaic vgplot API", "to": "KD-GAT", "relationType": "used_by"}
Lab Knowledge Graph¶
The diagram below is auto-generated from ~/.claude/knowledge-graph.json using scripts/generate-kg-mermaid.py. It shows the 13 entities and their relationships from our lab's Claude Code memory server.
graph TB
Database_Architecture["Database Architecture"]:::architecture_decision
Context_Management_Rules["Context Management Rules"]:::convention
Modular_Context_Architecture["Modular Context Architecture"]:::architecture_decision
Context_Update_Log["Context Update Log"]:::changelog
KD_GAT_Shell_Environment["KD-GAT Shell Environment"]:::canonical_answer
Claude_Config_Best_Practices["Claude Config Best Practices"]:::architecture_decision
KD_GAT_CI_CD_Pipeline["KD-GAT CI/CD Pipeline"]:::infrastructure
KD_GAT_Quarto_Site["KD-GAT Quarto Site"]:::infrastructure
Mosaic_vgplot_API["Mosaic vgplot API"]:::technology
MapViz_Observable_Build["MapViz-Observable-Build"]:::milestone
MapViz_DuckDB_WASM_Plan["MapViz-DuckDB-WASM-Plan"]:::architecture_decision
pyarrow_parquet_stdout["pyarrow-parquet-stdout"]:::learning
Mosaic_vgplot["Mosaic vgplot"]:::library
MapViz_Observable_Build -->|enables| MapViz_DuckDB_WASM_Plan
MapViz_DuckDB_WASM_Plan -->|depends_on| MapViz_Observable_Build
classDef architecture_decision fill:#4A90D9,stroke:#2A5F9E,color:#fff,stroke-width:2px
classDef canonical_answer fill:#27AE60,stroke:#1E8449,color:#fff,stroke-width:2px
classDef changelog fill:#95A5A6,stroke:#717D7E,color:#fff,stroke-width:2px
classDef convention fill:#9B59B6,stroke:#6C3483,color:#fff,stroke-width:2px
classDef infrastructure fill:#E67E22,stroke:#BA4A00,color:#fff,stroke-width:2px
classDef learning fill:#E91E90,stroke:#B3166E,color:#fff,stroke-width:2px
classDef library fill:#1ABC9C,stroke:#0E8C73,color:#fff,stroke-width:2px
classDef milestone fill:#F1C40F,stroke:#B7950B,color:#fff,stroke-width:2px
classDef technology fill:#1ABC9C,stroke:#0E8C73,color:#fff,stroke-width:2px Legend:
| Color | Entity Type | Example |
|---|---|---|
| Architecture Decision | Database Architecture, Modular Context Architecture | |
| Convention | Context Management Rules | |
| Infrastructure | KD-GAT CI/CD Pipeline, Quarto Site | |
| Teal | Technology / Library | Mosaic vgplot |
| Pink | Learning | pyarrow-parquet-stdout |
| Yellow | Milestone | MapViz-Observable-Build |
| Grey | Changelog | Context Update Log |
| Canonical Answer | KD-GAT Shell Environment |
Regenerating this diagram
To update the knowledge graph diagram after adding new entities:
Copy the output into the Mermaid code fence above.Contributing¶
When you add a new page to the docs:
- Consider whether it should appear in the concept map above (skip minor/niche pages)
- If it's a key learning page, add a node in the appropriate
subgraphand connect it with prerequisite edges - Run
mkdocs build --strictto verify no broken links
For the full guide to editing this site, see How This Site Works.