Help us shape the future of Go! Take the 2026 Go Developer Survey

store

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package store provides filesystem-backed persistence for graphs.

Package store provides filesystem-backed persistence for graphs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FSStore

type FSStore struct {
	// Root is the base directory for the graph store.
	Root string
}

FSStore implements Store using the filesystem. It stores one file per node and one file per edge for git-friendly diffs.

func NewFSStore

func NewFSStore(root string) (*FSStore, error)

NewFSStore creates a new filesystem-backed store.

func (*FSStore) DeleteEdge

func (s *FSStore) DeleteEdge(from, edgeType, to string) error

DeleteEdge removes an edge.

func (*FSStore) DeleteNode

func (s *FSStore) DeleteNode(id string) error

DeleteNode removes a node by ID.

func (*FSStore) GetEdge

func (s *FSStore) GetEdge(from, edgeType, to string) (*graph.Edge, error)

GetEdge retrieves an edge by its composite key.

func (*FSStore) GetNode

func (s *FSStore) GetNode(id string) (*graph.Node, error)

GetNode retrieves a node by ID.

func (*FSStore) ListEdges

func (s *FSStore) ListEdges() ([]*graph.Edge, error)

ListEdges returns all edges in the store.

func (*FSStore) ListNodes

func (s *FSStore) ListNodes() ([]*graph.Node, error)

ListNodes returns all nodes in the store.

func (*FSStore) LoadGraph

func (s *FSStore) LoadGraph() (*graph.Graph, error)

LoadGraph loads the entire graph from storage.

func (*FSStore) SaveGraph

func (s *FSStore) SaveGraph(g *graph.Graph) error

SaveGraph saves an entire graph to storage.

func (*FSStore) WriteEdge

func (s *FSStore) WriteEdge(e *graph.Edge) error

WriteEdge writes an edge to the filesystem.

func (*FSStore) WriteNode

func (s *FSStore) WriteNode(n *graph.Node) error

WriteNode writes a node to the filesystem.

type Store

type Store interface {
	// WriteNode writes a node to storage.
	WriteNode(n *graph.Node) error

	// WriteEdge writes an edge to storage.
	WriteEdge(e *graph.Edge) error

	// GetNode retrieves a node by ID.
	GetNode(id string) (*graph.Node, error)

	// GetEdge retrieves an edge by its composite key (from__type__to).
	GetEdge(from, edgeType, to string) (*graph.Edge, error)

	// ListNodes returns all nodes in the store.
	ListNodes() ([]*graph.Node, error)

	// ListEdges returns all edges in the store.
	ListEdges() ([]*graph.Edge, error)

	// DeleteNode removes a node by ID.
	DeleteNode(id string) error

	// DeleteEdge removes an edge.
	DeleteEdge(from, edgeType, to string) error

	// LoadGraph loads the entire graph from storage.
	LoadGraph() (*graph.Graph, error)

	// SaveGraph saves an entire graph to storage.
	SaveGraph(g *graph.Graph) error
}

Store defines the interface for graph persistence.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL