Versions in this module Expand all Collapse all v0 v0.6.0 Jun 17, 2026 v0.5.0 Jun 16, 2026 Changes in this version type Executor + func (e *Executor) ExecuteWithParamsContext(ctx context.Context, query *Query, params map[string]any) (*ResultSet, error) v0.4.1 Jun 4, 2026 Changes in this version + const DefaultMaxResults + const DefaultMaxTraversalDepth + const DefaultQueryTimeout + const DefaultStreamBufferSize + const DefaultTaskTimeout + const MaxAllowedResults + const MaxAllowedTraversalDepth + const MaxCartesianProductResults + const MaxIntermediateResults + const MaxQueryLength + const MaxQueryTimeout + const MinStreamBufferSize + const MinTaskTimeout + const MinTraversalDepth + var ErrInvalidMaxResults = fmt.Errorf("MaxResults must be non-negative") + var ErrInvalidTraversalDepth = fmt.Errorf("traversal depth out of valid range [%d, %d]", MinTraversalDepth, ...) + func Collect(stream *ResultStream) ([]*storage.Node, error) + func Count(stream *ResultStream) (int, error) + func RegisterFunction(name string, fn QueryFunc) + func RegisterProcedure(name string, proc Procedure) + func SanitizeQuery(query string) (string, error) + func ValidateQueryTimeout(timeout time.Duration) time.Duration + func ValidateTaskTimeout(timeout time.Duration) time.Duration + func ValidateTimeout(timeout time.Duration, config TimeoutConfig) time.Duration + func ValidateTraversalOptions(opts *TraversalOptions) error + func WithDefaultDepth(depth int) int + type AggregateOperator struct + Input PhysicalOperator + Items []*ReturnItem + func (o *AggregateOperator) Close(ctx *ExecutionContext) error + func (o *AggregateOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *AggregateOperator) Open(ctx *ExecutionContext) error + type AggregationComputer struct + func (ac *AggregationComputer) ComputeAggregates(ctx *ExecutionContext, returnItems []*ReturnItem) map[string]any + func (ac *AggregationComputer) ComputeGroupedAggregates(ctx *ExecutionContext, returnItems []*ReturnItem, ...) []map[string]any + func (ac *AggregationComputer) ExtractValue(val storage.Value) any + type ArithmeticExpression struct + Left Expression + Operator string + Right Expression + func (ae *ArithmeticExpression) Eval(context map[string]any) (bool, error) + func (ae *ArithmeticExpression) EvalValue(context map[string]any) (any, error) + type Assignment struct + Property string + Value any + ValueExpr Expression + Variable string + type BatchProcessor struct + func NewBatchProcessor(batchSize int, processor func([]*storage.Node) error) *BatchProcessor + func (bp *BatchProcessor) Process(stream *ResultStream) error + type BinaryExpression struct + Left Expression + Operator string + Right Expression + func (be *BinaryExpression) Eval(context map[string]any) (bool, error) + func (be *BinaryExpression) EvalValue(context map[string]any) (any, error) + type BindingSet struct + type CallClause struct + Arguments []Expression + ProcedureName string + YieldItems []string + type CallOperator struct + Arguments []Expression + Input PhysicalOperator + ProcedureName string + YieldItems []string + func (o *CallOperator) Close(ctx *ExecutionContext) error + func (o *CallOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *CallOperator) Open(ctx *ExecutionContext) error + type CaseExpression struct + ElseResult Expression + Operand Expression + WhenClauses []CaseWhen + func (ce *CaseExpression) Eval(context map[string]any) (bool, error) + func (ce *CaseExpression) EvalValue(context map[string]any) (any, error) + type CaseWhen struct + Condition Expression + Result Expression + type CreateClause struct + Patterns []*Pattern + type CreateOperator struct + Input PhysicalOperator + Patterns []*Pattern + func (o *CreateOperator) Close(ctx *ExecutionContext) error + func (o *CreateOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *CreateOperator) Open(ctx *ExecutionContext) error + type CreateStep struct + func (cs *CreateStep) Execute(ctx *ExecutionContext) error + func (cs *CreateStep) StepDetail() string + func (cs *CreateStep) StepName() string + type DeleteClause struct + Detach bool + Variables []string + type DeleteOperator struct + Detach bool + Input PhysicalOperator + Variables []string + func (o *DeleteOperator) Close(ctx *ExecutionContext) error + func (o *DeleteOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *DeleteOperator) Open(ctx *ExecutionContext) error + type DeleteStep struct + func (ds *DeleteStep) Execute(ctx *ExecutionContext) error + func (ds *DeleteStep) StepDetail() string + func (ds *DeleteStep) StepName() string + type Direction int + const DirectionBoth + const DirectionIncoming + const DirectionOutgoing + func (d Direction) String() string + type ExecutionContext struct + func (ec *ExecutionContext) CheckCancellation() error + func (ec *ExecutionContext) IsCancelled() bool + type ExecutionPlan struct + Steps []ExecutionStep + type ExecutionStep interface + Execute func(ctx *ExecutionContext) error + type Executor struct + func NewExecutor(graph *storage.GraphStorage) *Executor + func NewExecutorWithTimeout(graph *storage.GraphStorage, timeout time.Duration) *Executor + func (e *Executor) Execute(query *Query) (*ResultSet, error) + func (e *Executor) ExecuteWithContext(ctx context.Context, query *Query) (result *ResultSet, err error) + func (e *Executor) ExecuteWithParams(query *Query, params map[string]any) (*ResultSet, error) + func (e *Executor) ExecuteWithText(queryText string, query *Query) (*ResultSet, error) + func (e *Executor) SetQueryTimeout(timeout time.Duration) + func (e *Executor) SetSearchIndex(idx *search.FullTextIndex) + func (e *Executor) SetVectorSearch(similarityFn VectorSimilarityFunc, searchFn VectorSearchFunc, ...) + type ExpandOperator struct + Direction Direction + EdgeType string + EdgeVar string + Input PhysicalOperator + SourceVar string + TargetVar string + func (o *ExpandOperator) Close(ctx *ExecutionContext) error + func (o *ExpandOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *ExpandOperator) Open(ctx *ExecutionContext) error + type Expression interface + Eval func(context map[string]any) (bool, error) + EvalValue func(context map[string]any) (any, error) + type FilterOperator struct + Expression Expression + Input PhysicalOperator + func (o *FilterOperator) Close(ctx *ExecutionContext) error + func (o *FilterOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *FilterOperator) Open(ctx *ExecutionContext) error + type FilterStep struct + func (fs *FilterStep) Execute(ctx *ExecutionContext) error + func (fs *FilterStep) StepDetail() string + func (fs *FilterStep) StepName() string + type FunctionCallExpression struct + Args []Expression + Name string + func (fce *FunctionCallExpression) Eval(context map[string]any) (bool, error) + func (fce *FunctionCallExpression) EvalValue(context map[string]any) (any, error) + type GetNodeFunc func(nodeID uint64) (any, error) + type HasVectorIndexFunc func(propertyName string) bool + type HashJoinOperator struct + Left PhysicalOperator + Right PhysicalOperator + Var string + func (o *HashJoinOperator) Close(ctx *ExecutionContext) error + func (o *HashJoinOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *HashJoinOperator) Open(ctx *ExecutionContext) error + type IndexLookupStep struct + func (ils *IndexLookupStep) Execute(ctx *ExecutionContext) error + func (ils *IndexLookupStep) StepDetail() string + func (ils *IndexLookupStep) StepName() string + type IndexSeekOperator struct + PropertyKey string + Value storage.Value + Variable string + func (o *IndexSeekOperator) Close(ctx *ExecutionContext) error + func (o *IndexSeekOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *IndexSeekOperator) Open(ctx *ExecutionContext) error + type Lexer struct + func NewLexer(input string) *Lexer + func (l *Lexer) Tokenize() ([]Token, error) + type LiteralExpression struct + Value any + func (le *LiteralExpression) Eval(context map[string]any) (bool, error) + func (le *LiteralExpression) EvalValue(context map[string]any) (any, error) + type MatchClause struct + Patterns []*Pattern + type MatchStep struct + func (ms *MatchStep) Execute(ctx *ExecutionContext) error + func (ms *MatchStep) StepDetail() string + func (ms *MatchStep) StepName() string + type MergeClause struct + OnCreate *SetClause + OnMatch *SetClause + Pattern *Pattern + type MergeOperator struct + Input PhysicalOperator + OnCreate *SetClause + OnMatch *SetClause + Pattern *Pattern + func (o *MergeOperator) Close(ctx *ExecutionContext) error + func (o *MergeOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *MergeOperator) Open(ctx *ExecutionContext) error + type MergeStep struct + func (ms *MergeStep) Execute(ctx *ExecutionContext) error + func (ms *MergeStep) StepDetail() string + func (ms *MergeStep) StepName() string + type NestedLoopJoinOperator struct + Left PhysicalOperator + Right PhysicalOperator + func (o *NestedLoopJoinOperator) Close(ctx *ExecutionContext) error + func (o *NestedLoopJoinOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *NestedLoopJoinOperator) Open(ctx *ExecutionContext) error + type NodePattern struct + Labels []string + Properties map[string]any + Variable string + type NodeScanOperator struct + Label string + Variable string + func (o *NodeScanOperator) Close(ctx *ExecutionContext) error + func (o *NodeScanOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *NodeScanOperator) Open(ctx *ExecutionContext) error + type OptimizationHint struct + Description string + EstimatedGain float64 + Type string + type Optimizer struct + func NewOptimizer(graph *storage.GraphStorage) *Optimizer + func (o *Optimizer) AnalyzeQuery(query *Query) []OptimizationHint + func (o *Optimizer) EstimateCost(pattern *MatchClause) float64 + func (o *Optimizer) Optimize(plan *ExecutionPlan, query *Query) *ExecutionPlan + type OptionalMatchClause struct + Patterns []*Pattern + Where *WhereClause + type OptionalMatchOperator struct + Input PhysicalOperator + Pattern *Pattern + func (o *OptionalMatchOperator) Close(ctx *ExecutionContext) error + func (o *OptionalMatchOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *OptionalMatchOperator) Open(ctx *ExecutionContext) error + type OptionalMatchStep struct + func (oms *OptionalMatchStep) Execute(ctx *ExecutionContext) error + func (oms *OptionalMatchStep) StepDetail() string + func (oms *OptionalMatchStep) StepName() string + type OrderByItem struct + Ascending bool + Expression *PropertyExpression + ValueExpr Expression + type ParallelAggregation struct + func NewParallelAggregation(graph *storage.GraphStorage) *ParallelAggregation + func (pa *ParallelAggregation) AggregateProperty(ctx context.Context, propertyKey string, aggregateFunc func(values []any) any) (any, error) + func (pa *ParallelAggregation) CountNodesByLabel(ctx context.Context, label string) (int, error) + type ParallelPathFinder struct + func NewParallelPathFinder(graph *storage.GraphStorage) *ParallelPathFinder + func (ppf *ParallelPathFinder) FindAllPaths(ctx context.Context, pairs [][2]uint64, maxDepth int) ([][]uint64, error) + type ParallelPipeline struct + func NewParallelPipeline(workers int) *ParallelPipeline + func (pp *ParallelPipeline) AddStage(stage PipelineStage) *ParallelPipeline + func (pp *ParallelPipeline) Execute(input *ResultStream) *ResultStream + type ParallelTraversal struct + func NewParallelTraversal(graph *storage.GraphStorage, startIDs []uint64, maxDepth int) *ParallelTraversal + func (pt *ParallelTraversal) Execute(ctx context.Context) ([]*storage.Node, error) + type ParameterExpression struct + Name string + func (pe *ParameterExpression) Eval(context map[string]any) (bool, error) + func (pe *ParameterExpression) EvalValue(context map[string]any) (any, error) + type ParameterRef struct + Name string + type Parser struct + func NewParser(tokens []Token) *Parser + func (p *Parser) Parse() (*Query, error) + type Path struct + Edges []*storage.Edge + Nodes []*storage.Node + type Pattern struct + Nodes []*NodePattern + Relationships []*RelationshipPattern + type PhysicalOperator interface + Close func(ctx *ExecutionContext) error + Next func(ctx *ExecutionContext) (*BindingSet, error) + Open func(ctx *ExecutionContext) error + type PipelineStage func(*storage.Node) (*storage.Node, bool) + type Planner struct + func NewPlanner(graph storage.Storage) *Planner + func (p *Planner) Plan(ctx context.Context, q *Query) (PhysicalOperator, error) + func (p *Planner) PlanSub(ctx context.Context, q *Query, input PhysicalOperator) (PhysicalOperator, error) + type Procedure func(ctx context.Context, graph storage.Storage, tenantID string, args []any) ([]map[string]any, error) + type ProjectOperator struct + Input PhysicalOperator + Items []*ReturnItem + func (o *ProjectOperator) Close(ctx *ExecutionContext) error + func (o *ProjectOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *ProjectOperator) Open(ctx *ExecutionContext) error + type PropertyExpression struct + Property string + Variable string + func (pe *PropertyExpression) Eval(context map[string]any) (bool, error) + func (pe *PropertyExpression) EvalValue(context map[string]any) (any, error) + type Query struct + Call *CallClause + Create *CreateClause + Delete *DeleteClause + Explain bool + InitialBindings []*BindingSet + Limit int + Match *MatchClause + Merge *MergeClause + Next *Query + OptionalMatches []*OptionalMatchClause + Profile bool + Remove *RemoveClause + Return *ReturnClause + Set *SetClause + Skip int + Union *UnionClause + UnionNext *Query + Unwind *UnwindClause + Where *WhereClause + With *WithClause + type QueryCache struct + func NewQueryCache() *QueryCache + func (qc *QueryCache) Get(queryText string) (*ExecutionPlan, bool) + func (qc *QueryCache) GetTopQueries(limit int) []*QueryStatistics + func (qc *QueryCache) Put(queryText string, plan *ExecutionPlan) + func (qc *QueryCache) RecordExecution(queryText string, executionTimeMicros int64, optimized bool) + type QueryFunc func(args []any) (any, error) + func GetFunction(name string) (QueryFunc, error) + type QueryPipeline struct + func NewQueryPipeline() *QueryPipeline + func (qp *QueryPipeline) AddStage(stage PipelineStage) *QueryPipeline + func (qp *QueryPipeline) Execute(input *ResultStream) *ResultStream + func (qp *QueryPipeline) Filter(predicate func(*storage.Node) bool) *QueryPipeline + func (qp *QueryPipeline) Map(transform func(*storage.Node) *storage.Node) *QueryPipeline + type QueryStatistics struct + AvgExecutionTime int64 + ExecutionCount int + LastOptimized bool + QueryText string + TotalExecutionTime int64 + type RelationshipPattern struct + Direction Direction + From *NodePattern + MaxHops int + MinHops int + Properties map[string]any + To *NodePattern + Type string + Variable string + type RemoveClause struct + Items []*RemoveItem + type RemoveItem struct + Property string + Variable string + type RemoveOperator struct + Input PhysicalOperator + Items []*RemoveItem + func (o *RemoveOperator) Close(ctx *ExecutionContext) error + func (o *RemoveOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *RemoveOperator) Open(ctx *ExecutionContext) error + type RemoveStep struct + func (rs *RemoveStep) Execute(ctx *ExecutionContext) error + func (rs *RemoveStep) StepDetail() string + func (rs *RemoveStep) StepName() string + type ResultSet struct + Columns []string + Count int + Profile []StepProfile + Rows []map[string]any + type ResultStream struct + func NewResultStream(bufferSize int) *ResultStream + func (rs *ResultStream) Close() + func (rs *ResultStream) Next() (*storage.Node, error) + func (rs *ResultStream) Send(node *storage.Node) bool + func (rs *ResultStream) SendError(err error) + type ReturnClause struct + Ascending bool + Distinct bool + GroupBy []*PropertyExpression + Items []*ReturnItem + OrderBy []*OrderByItem + type ReturnItem struct + Aggregate string + Alias string + Expression *PropertyExpression + ValueExpr Expression + type ReturnStep struct + func (rs *ReturnStep) Execute(ctx *ExecutionContext) error + func (rs *ReturnStep) StepDetail() string + func (rs *ReturnStep) StepName() string + type SetClause struct + Assignments []*Assignment + type SetOperator struct + Assignments []*Assignment + Input PhysicalOperator + func (o *SetOperator) Close(ctx *ExecutionContext) error + func (o *SetOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *SetOperator) Open(ctx *ExecutionContext) error + type SetStep struct + func (ss *SetStep) Execute(ctx *ExecutionContext) error + func (ss *SetStep) StepDetail() string + func (ss *SetStep) StepName() string + type StepDescriber interface + StepDetail func() string + StepName func() string + type StepProfile struct + Detail string + Duration time.Duration + RowsOut int + StepName string + type StreamingQuery struct + func NewStreamingQuery(graph *storage.GraphStorage) *StreamingQuery + func (sq *StreamingQuery) StreamNodes(filter func(*storage.Node) bool) *ResultStream + func (sq *StreamingQuery) StreamTraversal(startID uint64, maxDepth int) *ResultStream + type Task interface + Execute func(graph *storage.GraphStorage) (any, error) + ID func() string + type TaskResult struct + Duration time.Duration + Error error + Result any + TaskID string + TimedOut bool + type TimeoutConfig struct + Default time.Duration + Max time.Duration + Min time.Duration + func DefaultQueryTimeoutConfig() TimeoutConfig + func DefaultTaskTimeoutConfig() TimeoutConfig + type Token struct + Column int + Line int + Pos int + Type TokenType + Value string + type TokenType int + const TokenAll + const TokenAnd + const TokenArrowBoth + const TokenArrowLeft + const TokenArrowRight + const TokenAs + const TokenAsc + const TokenBy + const TokenCall + const TokenCase + const TokenColon + const TokenComma + const TokenContains + const TokenCreate + const TokenDelete + const TokenDesc + const TokenDetach + const TokenDistinct + const TokenDot + const TokenEOF + const TokenElse + const TokenEnd + const TokenEnds + const TokenEquals + const TokenError + const TokenExplain + const TokenFalse + const TokenGreaterEquals + const TokenGreaterThan + const TokenGroup + const TokenIdentifier + const TokenIn + const TokenIs + const TokenLeftBrace + const TokenLeftBracket + const TokenLeftParen + const TokenLessEquals + const TokenLessThan + const TokenLimit + const TokenMatch + const TokenMerge + const TokenMinus + const TokenNot + const TokenNotEquals + const TokenNull + const TokenNumber + const TokenOn + const TokenOptional + const TokenOr + const TokenOrder + const TokenOrderBy + const TokenParameter + const TokenPercent + const TokenPlus + const TokenProfile + const TokenRemove + const TokenReturn + const TokenRightBrace + const TokenRightBracket + const TokenRightParen + const TokenSemicolon + const TokenSet + const TokenSkip + const TokenSlash + const TokenStar + const TokenStarts + const TokenString + const TokenThen + const TokenTrue + const TokenUnion + const TokenUnwind + const TokenWhen + const TokenWhere + const TokenWith + const TokenYield + func (t TokenType) String() string + type TraversalError struct + Err error + NodeID uint64 + func (te TraversalError) Error() string + type TraversalOptions struct + Direction Direction + EdgePredicate func(*storage.Edge) bool + EdgeTypes []string + FailOnMissing bool + MaxDepth int + MaxResults int + Predicate func(*storage.Node) bool + StartNodeID uint64 + type TraversalResult struct + Errors []TraversalError + Nodes []*storage.Node + Paths []Path + SkippedIDs []uint64 + type Traverser struct + func NewTraverser(storage *storage.GraphStorage) *Traverser + func (t *Traverser) BFS(opts TraversalOptions) (*TraversalResult, error) + func (t *Traverser) DFS(opts TraversalOptions) (*TraversalResult, error) + func (t *Traverser) FindAllPaths(fromID, toID uint64, maxDepth int, edgeTypes []string) ([]Path, error) + func (t *Traverser) FindAllPathsWithPredicate(fromID, toID uint64, maxDepth int, edgeTypes []string, ...) ([]Path, error) + func (t *Traverser) FindShortestPath(fromID, toID uint64, edgeTypes []string) (Path, error) + func (t *Traverser) FindShortestPathWithPredicate(fromID, toID uint64, edgeTypes []string, ...) (Path, error) + func (t *Traverser) GetNeighborhood(nodeID uint64, hops int, direction Direction) ([]*storage.Node, error) + type UnaryExpression struct + Operand Expression + Operator string + func (ue *UnaryExpression) Eval(context map[string]any) (bool, error) + func (ue *UnaryExpression) EvalValue(context map[string]any) (any, error) + type UnionClause struct + All bool + type UnionOperator struct + All bool + Left PhysicalOperator + Right PhysicalOperator + func (o *UnionOperator) Close(ctx *ExecutionContext) error + func (o *UnionOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *UnionOperator) Open(ctx *ExecutionContext) error + type UnwindClause struct + Alias string + Expression *PropertyExpression + type UnwindOperator struct + Alias string + Expression *PropertyExpression + Input PhysicalOperator + func (o *UnwindOperator) Close(ctx *ExecutionContext) error + func (o *UnwindOperator) Next(ctx *ExecutionContext) (*BindingSet, error) + func (o *UnwindOperator) Open(ctx *ExecutionContext) error + type UnwindStep struct + func (us *UnwindStep) Execute(ctx *ExecutionContext) error + func (us *UnwindStep) StepDetail() string + func (us *UnwindStep) StepName() string + type VectorSearchFunc func(propertyName string, query []float32, k, ef int) ([]VectorSearchResult, error) + type VectorSearchResult struct + Distance float32 + NodeID uint64 + type VectorSearchStep struct + func (vs *VectorSearchStep) Execute(ctx *ExecutionContext) error + func (vs *VectorSearchStep) StepDetail() string + func (vs *VectorSearchStep) StepName() string + type VectorSimilarityFunc func(a, b []float32) (float64, error) + type WhereClause struct + Expression Expression + type WithClause struct + Items []*ReturnItem + Where *WhereClause + type WorkerPool struct + func NewWorkerPool(workers int) *WorkerPool + func NewWorkerPoolWithTimeout(workers int, taskTimeout time.Duration) *WorkerPool + func (wp *WorkerPool) DetailedStats() WorkerPoolStats + func (wp *WorkerPool) Results() <-chan TaskResult + func (wp *WorkerPool) Start(graph *storage.GraphStorage) + func (wp *WorkerPool) Stats() (processed, active int64) + func (wp *WorkerPool) Stop() + func (wp *WorkerPool) Submit(task Task) error + type WorkerPoolStats struct + Active int64 + Processed int64 + TaskTimeout time.Duration + TimedOut int64 + Workers int