Skip to content

GoGraph Technical Documentation

Welcome to GoGraph, a pure Go embedded graph database with a single-file, zero-deployment design similar to SQLite, supporting a core subset of Cypher queries.

This documentation contains complete system architecture, interface usage instructions, and developer best practices, written based on actual code implementation.

Table of Contents

  1. Quick Start - Environment configuration and basic usage examples to help you get the core features running in 30 minutes.
  2. Core Interfaces - Details on public interfaces such as api.DB, api.Tx, api.Rows.
  3. Architecture - Module division, data flow, and underlying storage design diagrams.
  4. Developer Guide - Best practices, observability injection, performance optimization suggestions, and FAQ.
  5. API Reference - Covers core public method lists for api, cypher, graph, and storage.
  6. CLI & TUI Guide - Provides detailed reference on how to compile, run the interactive Cypher terminal, and basic commands.

Core Positioning - Lightweight and Embedded: No additional process dependencies; introduced directly via go get. - High Reliability: Single-file key-value persistence based on Pebble DB, providing WAL crash recovery support and MVCC read-write transactions. - Cypher Support: Natively supports core MATCH, CREATE, SET, DELETE, REMOVE statements, with the underlying query optimizer automatically integrating Index Scan and O(1) adjacency list graph traversal.