Skip to main content

Module persistence

Module persistence 

Source
Expand description

Persistence layer for knowledge graphs (workspace management always available) Persistence layer for GraphRAG knowledge graphs

This module provides storage backends for persisting knowledge graphs to disk and loading them back into memory for fast querying.

§Supported Formats

  • Parquet: Columnar format for entities, relationships, chunks (Apache Arrow ecosystem)
  • LanceDB: Vector storage for embeddings (Lance columnar format)
  • JSON: Human-readable backup format (already implemented in core)
  • GraphML: Export format for visualization tools (already implemented in core)

§Architecture

workspace/
├── default/
│   ├── entities.parquet
│   ├── relationships.parquet
│   ├── chunks.parquet
│   ├── documents.parquet
│   ├── vectors.lance/
│   ├── graph.json
│   └── metadata.toml
└── project_a/
    └── ...

§Example

use graphrag_core::{KnowledgeGraph, persistence::WorkspaceManager};

// Create workspace manager
let workspace = WorkspaceManager::new("./workspace")?;

// Save graph to default workspace
let graph = KnowledgeGraph::new();
workspace.save_graph(&graph, "default")?;

// Load graph from workspace
let loaded_graph = workspace.load_graph("default")?;

Re-exports§

pub use workspace::WorkspaceManager;
pub use workspace::WorkspaceMetadata;
pub use workspace::WorkspaceInfo;

Modules§

workspace
Workspace management for GraphRAG persistence

Traits§

Persistence
Persistence trait for knowledge graphs