Documentation
¶
Overview ¶
Package store provides filesystem-backed persistence for graphs.
Package store provides filesystem-backed persistence for graphs.
Index ¶
- type FSStore
- func (s *FSStore) DeleteEdge(from, edgeType, to string) error
- func (s *FSStore) DeleteNode(id string) error
- func (s *FSStore) GetEdge(from, edgeType, to string) (*graph.Edge, error)
- func (s *FSStore) GetNode(id string) (*graph.Node, error)
- func (s *FSStore) ListEdges() ([]*graph.Edge, error)
- func (s *FSStore) ListNodes() ([]*graph.Node, error)
- func (s *FSStore) LoadGraph() (*graph.Graph, error)
- func (s *FSStore) SaveGraph(g *graph.Graph) error
- func (s *FSStore) WriteEdge(e *graph.Edge) error
- func (s *FSStore) WriteNode(n *graph.Node) error
- type Store
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 ¶
NewFSStore creates a new filesystem-backed store.
func (*FSStore) DeleteEdge ¶
DeleteEdge removes an edge.
func (*FSStore) DeleteNode ¶
DeleteNode removes a node by ID.
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.
Click to show internal directories.
Click to hide internal directories.