Versions in this module Expand all Collapse all v0 v0.8.1 May 23, 2023 Changes in this version + const MaterializeLimit + var DefaultMaxRecursiveSteps = 50 + func Height(it Shape, filter func(Shape) bool) int + func IsNull(it Shape) bool + func RunFloatOp(a quad.Float, op Operator, b quad.Float) bool + func RunIntOp(a quad.Int, op Operator, b quad.Int) bool + func RunStrOp(a string, op Operator, b string) bool + func RunTimeOp(a time.Time, op Operator, b time.Time) bool + type And struct + func NewAnd(sub ...Shape) *And + func (it *And) AddOptionalIterator(sub Shape) *And + func (it *And) AddSubIterator(sub Shape) + func (it *And) Iterate() Scanner + func (it *And) Lookup() Index + func (it *And) Optimize(ctx context.Context) (Shape, bool) + func (it *And) Stats(ctx context.Context) (Costs, error) + func (it *And) String() string + func (it *And) SubIterators() []Shape + type Base interface + Close func() error + Err func() error + NextPath func(ctx context.Context) bool + Result func() refs.Ref + String func() string + TagResults func(map[string]refs.Ref) + type Chain struct + func Iterate(ctx context.Context, it Shape) *Chain + func (c *Chain) All() ([]refs.Ref, error) + func (c *Chain) AllValues(qs refs.Namer) ([]quad.Value, error) + func (c *Chain) Count() (int64, error) + func (c *Chain) Each(fnc func(refs.Ref) error) error + func (c *Chain) EachValue(qs refs.Namer, fnc func(quad.Value) error) error + func (c *Chain) EachValuePair(qs refs.Namer, fnc func(refs.Ref, quad.Value) error) error + func (c *Chain) First() (refs.Ref, error) + func (c *Chain) FirstValue(qs refs.Namer) (quad.Value, error) + func (c *Chain) Limit(n int) *Chain + func (c *Chain) On(qs refs.Namer) *Chain + func (c *Chain) Paths(enable bool) *Chain + func (c *Chain) Send(out chan<- refs.Ref) error + func (c *Chain) SendValues(qs refs.Namer, out chan<- quad.Value) error + func (c *Chain) TagEach(fnc func(map[string]refs.Ref) error) error + func (c *Chain) TagValues(qs refs.Namer, fnc func(map[string]quad.Value) error) error + func (c *Chain) UnOptimized() *Chain + type Costs struct + ContainsCost int64 + NextCost int64 + Size refs.Size + type Count struct + func NewCount(it Shape, qs refs.Namer) *Count + func (it *Count) Iterate() Scanner + func (it *Count) Lookup() Index + func (it *Count) Optimize(ctx context.Context) (Shape, bool) + func (it *Count) Stats(ctx context.Context) (Costs, error) + func (it *Count) String() string + func (it *Count) SubIterators() []Shape + type Error struct + func NewError(err error) *Error + func (it *Error) Close() error + func (it *Error) Contains(ctx context.Context, v refs.Ref) bool + func (it *Error) Err() error + func (it *Error) Iterate() Scanner + func (it *Error) Lookup() Index + func (it *Error) Next(ctx context.Context) bool + func (it *Error) NextPath(ctx context.Context) bool + func (it *Error) Optimize(ctx context.Context) (Shape, bool) + func (it *Error) Reset() + func (it *Error) Result() refs.Ref + func (it *Error) Stats(ctx context.Context) (Costs, error) + func (it *Error) String() string + func (it *Error) SubIterators() []Shape + func (it *Error) TagResults(dst map[string]refs.Ref) + type Fixed struct + func NewFixed(vals ...refs.Ref) *Fixed + func (it *Fixed) Add(v refs.Ref) + func (it *Fixed) Iterate() Scanner + func (it *Fixed) Lookup() Index + func (it *Fixed) Optimize(ctx context.Context) (Shape, bool) + func (it *Fixed) Stats(ctx context.Context) (Costs, error) + func (it *Fixed) String() string + func (it *Fixed) SubIterators() []Shape + func (it *Fixed) Values() []refs.Ref + type Index interface + Contains func(ctx context.Context, v refs.Ref) bool + type Int64Node int64 + func (Int64Node) IsNode() bool + func (v Int64Node) Key() interface{} + type Limit struct + func NewLimit(it Shape, max int64) *Limit + func (it *Limit) Iterate() Scanner + func (it *Limit) Lookup() Index + func (it *Limit) Optimize(ctx context.Context) (Shape, bool) + func (it *Limit) Stats(ctx context.Context) (Costs, error) + func (it *Limit) String() string + func (it *Limit) SubIterators() []Shape + type Materialize struct + func NewMaterialize(sub Shape) *Materialize + func NewMaterializeWithSize(sub Shape, size int64) *Materialize + func (it *Materialize) Iterate() Scanner + func (it *Materialize) Lookup() Index + func (it *Materialize) Optimize(ctx context.Context) (Shape, bool) + func (it *Materialize) Stats(ctx context.Context) (Costs, error) + func (it *Materialize) String() string + func (it *Materialize) SubIterators() []Shape + type Morphism func(Shape) Shape + type Not struct + func NewNot(primaryIt, allIt Shape) *Not + func (it *Not) Iterate() Scanner + func (it *Not) Lookup() Index + func (it *Not) Optimize(ctx context.Context) (Shape, bool) + func (it *Not) Stats(ctx context.Context) (Costs, error) + func (it *Not) String() string + func (it *Not) SubIterators() []Shape + type Null struct + func NewNull() *Null + func (it *Null) Close() error + func (it *Null) Contains(ctx context.Context, v refs.Ref) bool + func (it *Null) Err() error + func (it *Null) Iterate() Scanner + func (it *Null) Lookup() Index + func (it *Null) Next(ctx context.Context) bool + func (it *Null) NextPath(ctx context.Context) bool + func (it *Null) Optimize(ctx context.Context) (Shape, bool) + func (it *Null) Reset() + func (it *Null) Result() refs.Ref + func (it *Null) Stats(ctx context.Context) (Costs, error) + func (it *Null) String() string + func (it *Null) SubIterators() []Shape + func (it *Null) TagResults(dst map[string]refs.Ref) + type Operator int + const CompareGT + const CompareGTE + const CompareLT + const CompareLTE + func (op Operator) String() string + type Or struct + func NewOr(sub ...Shape) *Or + func NewShortCircuitOr(sub ...Shape) *Or + func (it *Or) AddSubIterator(sub Shape) + func (it *Or) Iterate() Scanner + func (it *Or) Lookup() Index + func (it *Or) Optimize(ctx context.Context) (Shape, bool) + func (it *Or) Stats(ctx context.Context) (Costs, error) + func (it *Or) String() string + func (it *Or) SubIterators() []Shape + type Recursive struct + func NewRecursive(it Shape, morphism Morphism, maxDepth int) *Recursive + func (it *Recursive) AddDepthTag(s string) + func (it *Recursive) Iterate() Scanner + func (it *Recursive) Lookup() Index + func (it *Recursive) Optimize(ctx context.Context) (Shape, bool) + func (it *Recursive) Stats(ctx context.Context) (Costs, error) + func (it *Recursive) String() string + func (it *Recursive) SubIterators() []Shape + type Resolver struct + func NewResolver(qs refs.Namer, nodes ...quad.Value) *Resolver + func (it *Resolver) Iterate() Scanner + func (it *Resolver) Lookup() Index + func (it *Resolver) Optimize(ctx context.Context) (Shape, bool) + func (it *Resolver) Stats(ctx context.Context) (Costs, error) + func (it *Resolver) String() string + func (it *Resolver) SubIterators() []Shape + type Save struct + func NewSave(on Shape, tags ...string) *Save + func (it *Save) AddFixedTag(tag string, value refs.Ref) + func (it *Save) AddTags(tag ...string) + func (it *Save) CopyFromTagger(st TaggerBase) + func (it *Save) FixedTags() map[string]refs.Ref + func (it *Save) Iterate() Scanner + func (it *Save) Lookup() Index + func (it *Save) Optimize(ctx context.Context) (nit Shape, no bool) + func (it *Save) Stats(ctx context.Context) (Costs, error) + func (it *Save) String() string + func (it *Save) SubIterators() []Shape + func (it *Save) Tags() []string + type Scanner interface + Next func(ctx context.Context) bool + func NewLimitNext(it Scanner, limit int64) Scanner + type Shape interface + Iterate func() Scanner + Lookup func() Index + Optimize func(ctx context.Context) (Shape, bool) + Stats func(ctx context.Context) (Costs, error) + String func() string + SubIterators func() []Shape + func NewComparison(sub Shape, op Operator, val quad.Value, qs refs.Namer) Shape + func NewRegex(sub Shape, re *regexp.Regexp, qs refs.Namer) Shape + func NewRegexWithRefs(sub Shape, re *regexp.Regexp, qs refs.Namer) Shape + func Tag(it Shape, tag string) Shape + type Skip struct + func NewSkip(primaryIt Shape, off int64) *Skip + func (it *Skip) Iterate() Scanner + func (it *Skip) Lookup() Index + func (it *Skip) Optimize(ctx context.Context) (Shape, bool) + func (it *Skip) Stats(ctx context.Context) (Costs, error) + func (it *Skip) String() string + func (it *Skip) SubIterators() []Shape + type Sort struct + func NewSort(namer refs.Namer, subIt Shape) *Sort + func (it *Sort) Iterate() Scanner + func (it *Sort) Lookup() Index + func (it *Sort) Optimize(ctx context.Context) (Shape, bool) + func (it *Sort) Stats(ctx context.Context) (Costs, error) + func (it *Sort) String() string + func (it *Sort) SubIterators() []Shape + type TaggerBase interface + AddFixedTag func(tag string, value refs.Ref) + AddTags func(tag ...string) + FixedTags func() map[string]refs.Ref + Tags func() []string + type TaggerShape interface + CopyFromTagger func(st TaggerBase) + type Unique struct + func NewUnique(subIt Shape) *Unique + func (it *Unique) Iterate() Scanner + func (it *Unique) Lookup() Index + func (it *Unique) Optimize(ctx context.Context) (Shape, bool) + func (it *Unique) Stats(ctx context.Context) (Costs, error) + func (it *Unique) String() string + func (it *Unique) SubIterators() []Shape + type ValueFilter struct + func NewValueFilter(qs refs.Namer, sub Shape, filter ValueFilterFunc) *ValueFilter + func (it *ValueFilter) Iterate() Scanner + func (it *ValueFilter) Lookup() Index + func (it *ValueFilter) Optimize(ctx context.Context) (Shape, bool) + func (it *ValueFilter) Stats(ctx context.Context) (Costs, error) + func (it *ValueFilter) String() string + func (it *ValueFilter) SubIterators() []Shape + type ValueFilterFunc func(quad.Value) (bool, error)