traversal

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2016 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ExecutionError error = errors.New("Error while executing the query")
)

Functions

func SliceToMetadata

func SliceToMetadata(s ...interface{}) (graph.Metadata, error)

Types

type BetweenMetadataMatcher added in v0.5.0

type BetweenMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Between added in v0.5.0

func Between(from interface{}, to interface{}) *BetweenMetadataMatcher

func (*BetweenMetadataMatcher) Match added in v0.5.0

func (b *BetweenMetadataMatcher) Match(v interface{}) bool

func (*BetweenMetadataMatcher) Value added in v0.5.0

func (b *BetweenMetadataMatcher) Value() (interface{}, interface{})

type GTEMetadataMatcher added in v0.5.0

type GTEMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Gte added in v0.5.0

func Gte(s interface{}) *GTEMetadataMatcher

func (*GTEMetadataMatcher) Match added in v0.5.0

func (gte *GTEMetadataMatcher) Match(v interface{}) bool

func (*GTEMetadataMatcher) Value added in v0.5.0

func (gte *GTEMetadataMatcher) Value() interface{}

type GTMetadataMatcher added in v0.5.0

type GTMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Gt added in v0.5.0

func Gt(s interface{}) *GTMetadataMatcher

func (*GTMetadataMatcher) Match added in v0.5.0

func (gt *GTMetadataMatcher) Match(v interface{}) bool

func (*GTMetadataMatcher) Value added in v0.5.0

func (gt *GTMetadataMatcher) Value() interface{}

type GraphStepContext added in v0.6.0

type GraphStepContext struct {
	PaginationRange *GraphTraversalRange
	Sort            bool
	Dedup           bool
}

type GraphTraversal

type GraphTraversal struct {
	Graph *graph.Graph
	// contains filtered or unexported fields
}

func NewGraphTraversal

func NewGraphTraversal(g *graph.Graph) *GraphTraversal

func (*GraphTraversal) Context

func (t *GraphTraversal) Context(s ...interface{}) *GraphTraversal

func (*GraphTraversal) Error

func (t *GraphTraversal) Error() error

func (*GraphTraversal) MarshalJSON

func (t *GraphTraversal) MarshalJSON() ([]byte, error)

func (*GraphTraversal) V

func (t *GraphTraversal) V(s ...interface{}) *GraphTraversalV

func (*GraphTraversal) Values

func (t *GraphTraversal) Values() []interface{}

type GraphTraversalE

type GraphTraversalE struct {
	GraphTraversal *GraphTraversal
	// contains filtered or unexported fields
}

func (*GraphTraversalE) Count added in v0.5.0

func (te *GraphTraversalE) Count(s ...interface{}) *GraphTraversalValue

func (*GraphTraversalE) Dedup

func (te *GraphTraversalE) Dedup() *GraphTraversalE

func (*GraphTraversalE) Error

func (te *GraphTraversalE) Error() error

func (*GraphTraversalE) Has

func (te *GraphTraversalE) Has(s ...interface{}) *GraphTraversalE

func (*GraphTraversalE) InV

func (te *GraphTraversalE) InV(s ...interface{}) *GraphTraversalV

func (*GraphTraversalE) Limit added in v0.6.0

func (te *GraphTraversalE) Limit(s ...interface{}) *GraphTraversalE

func (*GraphTraversalE) MarshalJSON

func (te *GraphTraversalE) MarshalJSON() ([]byte, error)

func (*GraphTraversalE) OutV

func (te *GraphTraversalE) OutV(s ...interface{}) *GraphTraversalV

func (*GraphTraversalE) Range added in v0.6.0

func (te *GraphTraversalE) Range(s ...interface{}) *GraphTraversalE

func (*GraphTraversalE) Values

func (te *GraphTraversalE) Values() []interface{}

type GraphTraversalRange added in v0.6.0

type GraphTraversalRange [2]int64

func (*GraphTraversalRange) Iterator added in v0.6.0

func (r *GraphTraversalRange) Iterator() *common.Iterator

type GraphTraversalShortestPath

type GraphTraversalShortestPath struct {
	GraphTraversal *GraphTraversal
	// contains filtered or unexported fields
}

func (*GraphTraversalShortestPath) Error

func (sp *GraphTraversalShortestPath) Error() error

func (*GraphTraversalShortestPath) MarshalJSON

func (sp *GraphTraversalShortestPath) MarshalJSON() ([]byte, error)

func (*GraphTraversalShortestPath) Values

func (sp *GraphTraversalShortestPath) Values() []interface{}

type GraphTraversalStep

type GraphTraversalStep interface {
	Values() []interface{}
	MarshalJSON() ([]byte, error)
	Error() error
}

type GraphTraversalV

type GraphTraversalV struct {
	GraphTraversal *GraphTraversal
	// contains filtered or unexported fields
}

func NewGraphTraversalV

func NewGraphTraversalV(gt *GraphTraversal, nodes []*graph.Node, err ...error) *GraphTraversalV

func (*GraphTraversalV) Both

func (tv *GraphTraversalV) Both(s ...interface{}) *GraphTraversalV

func (*GraphTraversalV) Count added in v0.5.0

func (tv *GraphTraversalV) Count(s ...interface{}) *GraphTraversalValue

func (*GraphTraversalV) Dedup

func (tv *GraphTraversalV) Dedup() *GraphTraversalV

func (*GraphTraversalV) Error

func (tv *GraphTraversalV) Error() error

func (*GraphTraversalV) GetNodes added in v0.8.0

func (tv *GraphTraversalV) GetNodes() (nodes []*graph.Node)

func (*GraphTraversalV) Has

func (tv *GraphTraversalV) Has(s ...interface{}) *GraphTraversalV

func (*GraphTraversalV) In

func (tv *GraphTraversalV) In(s ...interface{}) *GraphTraversalV

func (*GraphTraversalV) InE

func (tv *GraphTraversalV) InE(s ...interface{}) *GraphTraversalE

func (*GraphTraversalV) Limit added in v0.6.0

func (tv *GraphTraversalV) Limit(s ...interface{}) *GraphTraversalV

func (*GraphTraversalV) MarshalJSON

func (tv *GraphTraversalV) MarshalJSON() ([]byte, error)

func (*GraphTraversalV) Out

func (tv *GraphTraversalV) Out(s ...interface{}) *GraphTraversalV

func (*GraphTraversalV) OutE

func (tv *GraphTraversalV) OutE(s ...interface{}) *GraphTraversalE

func (*GraphTraversalV) PropertyKeys added in v0.8.0

func (tv *GraphTraversalV) PropertyKeys(keys ...interface{}) *GraphTraversalValue

func (*GraphTraversalV) PropertyValues added in v0.8.0

func (tv *GraphTraversalV) PropertyValues(keys ...interface{}) *GraphTraversalValue

func (*GraphTraversalV) Range added in v0.6.0

func (tv *GraphTraversalV) Range(s ...interface{}) *GraphTraversalV

func (*GraphTraversalV) ShortestPathTo

func (*GraphTraversalV) Sum added in v0.8.0

func (tv *GraphTraversalV) Sum(keys ...interface{}) *GraphTraversalValue

func (*GraphTraversalV) Values

func (tv *GraphTraversalV) Values() []interface{}

type GraphTraversalValue added in v0.5.0

type GraphTraversalValue struct {
	GraphTraversal *GraphTraversal
	// contains filtered or unexported fields
}

func NewGraphTraversalValue added in v0.5.0

func NewGraphTraversalValue(gt *GraphTraversal, value interface{}, err ...error) *GraphTraversalValue

func (*GraphTraversalValue) Dedup added in v0.8.0

func (*GraphTraversalValue) Error added in v0.5.0

func (t *GraphTraversalValue) Error() error

func (*GraphTraversalValue) MarshalJSON added in v0.5.0

func (t *GraphTraversalValue) MarshalJSON() ([]byte, error)

func (*GraphTraversalValue) Values added in v0.5.0

func (t *GraphTraversalValue) Values() []interface{}

type GremlinTraversalContext added in v0.6.0

type GremlinTraversalContext struct {
	StepContext GraphStepContext
	Params      []interface{}
}

func (*GremlinTraversalContext) Context added in v0.6.0

func (*GremlinTraversalContext) ReduceRange added in v0.6.0

func (p *GremlinTraversalContext) ReduceRange(next GremlinTraversalStep) bool

type GremlinTraversalExtension

type GremlinTraversalExtension interface {
	ScanIdent(s string) (Token, bool)
	ParseStep(t Token, p GremlinTraversalContext) (GremlinTraversalStep, error)
}

type GremlinTraversalParser

type GremlinTraversalParser struct {
	Graph  *graph.Graph
	Reader io.Reader
	// contains filtered or unexported fields
}

func NewGremlinTraversalParser

func NewGremlinTraversalParser(r io.Reader, g *graph.Graph) *GremlinTraversalParser

func (*GremlinTraversalParser) AddTraversalExtension

func (p *GremlinTraversalParser) AddTraversalExtension(e GremlinTraversalExtension)

func (*GremlinTraversalParser) Parse

type GremlinTraversalScanner

type GremlinTraversalScanner struct {
	// contains filtered or unexported fields
}

func (*GremlinTraversalScanner) Scan

func (s *GremlinTraversalScanner) Scan() (tok Token, lit string)

type GremlinTraversalSequence

type GremlinTraversalSequence struct {
	GraphTraversal *GraphTraversal
	// contains filtered or unexported fields
}

func (*GremlinTraversalSequence) Exec

type GremlinTraversalStep

type GremlinTraversalStep interface {
	Exec(last GraphTraversalStep) (GraphTraversalStep, error)
	Reduce(previous GremlinTraversalStep) GremlinTraversalStep
	Context() *GremlinTraversalContext
}

type GremlinTraversalStepBoth added in v0.5.0

type GremlinTraversalStepBoth struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepBoth) Exec added in v0.5.0

func (*GremlinTraversalStepBoth) Reduce added in v0.5.0

type GremlinTraversalStepContext added in v0.5.0

type GremlinTraversalStepContext struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepContext) Exec added in v0.5.0

func (*GremlinTraversalStepContext) Reduce added in v0.5.0

type GremlinTraversalStepCount added in v0.5.0

type GremlinTraversalStepCount struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepCount) Exec added in v0.5.0

func (*GremlinTraversalStepCount) Reduce added in v0.5.0

type GremlinTraversalStepDedup added in v0.5.0

type GremlinTraversalStepDedup struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepDedup) Exec added in v0.5.0

func (*GremlinTraversalStepDedup) Reduce added in v0.5.0

type GremlinTraversalStepE added in v0.5.0

type GremlinTraversalStepE struct {
	GremlinTraversalContext
}

type GremlinTraversalStepG added in v0.5.0

type GremlinTraversalStepG struct {
	GremlinTraversalContext
}

built in steps

func (*GremlinTraversalStepG) Exec added in v0.5.0

func (*GremlinTraversalStepG) Reduce added in v0.5.0

type GremlinTraversalStepHas added in v0.5.0

type GremlinTraversalStepHas struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepHas) Exec added in v0.5.0

func (*GremlinTraversalStepHas) Reduce added in v0.5.0

type GremlinTraversalStepIn added in v0.5.0

type GremlinTraversalStepIn struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepIn) Exec added in v0.5.0

func (*GremlinTraversalStepIn) Reduce added in v0.5.0

type GremlinTraversalStepInE added in v0.5.0

type GremlinTraversalStepInE struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepInE) Exec added in v0.5.0

func (*GremlinTraversalStepInE) Reduce added in v0.5.0

type GremlinTraversalStepInV added in v0.5.0

type GremlinTraversalStepInV struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepInV) Exec added in v0.5.0

func (*GremlinTraversalStepInV) Reduce added in v0.5.0

type GremlinTraversalStepKeys added in v0.8.0

type GremlinTraversalStepKeys struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepKeys) Exec added in v0.8.0

func (*GremlinTraversalStepKeys) Reduce added in v0.8.0

type GremlinTraversalStepLimit added in v0.6.0

type GremlinTraversalStepLimit struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepLimit) Exec added in v0.6.0

func (*GremlinTraversalStepLimit) Reduce added in v0.6.0

type GremlinTraversalStepOut added in v0.5.0

type GremlinTraversalStepOut struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepOut) Exec added in v0.5.0

func (*GremlinTraversalStepOut) Reduce added in v0.5.0

type GremlinTraversalStepOutE added in v0.5.0

type GremlinTraversalStepOutE struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepOutE) Exec added in v0.5.0

func (*GremlinTraversalStepOutE) Reduce added in v0.5.0

type GremlinTraversalStepOutV added in v0.5.0

type GremlinTraversalStepOutV struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepOutV) Exec added in v0.5.0

func (*GremlinTraversalStepOutV) Reduce added in v0.5.0

type GremlinTraversalStepRange added in v0.6.0

type GremlinTraversalStepRange struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepRange) Exec added in v0.6.0

func (*GremlinTraversalStepRange) Reduce added in v0.6.0

type GremlinTraversalStepShortestPathTo added in v0.5.0

type GremlinTraversalStepShortestPathTo struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepShortestPathTo) Exec added in v0.5.0

func (*GremlinTraversalStepShortestPathTo) Reduce added in v0.5.0

type GremlinTraversalStepSort added in v0.7.0

type GremlinTraversalStepSort struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepSort) Exec added in v0.7.0

func (*GremlinTraversalStepSort) Reduce added in v0.7.0

type GremlinTraversalStepSum added in v0.8.0

type GremlinTraversalStepSum struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepSum) Exec added in v0.8.0

func (*GremlinTraversalStepSum) Reduce added in v0.8.0

type GremlinTraversalStepV added in v0.5.0

type GremlinTraversalStepV struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepV) Exec added in v0.5.0

func (*GremlinTraversalStepV) Reduce added in v0.5.0

type GremlinTraversalStepValues added in v0.8.0

type GremlinTraversalStepValues struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepValues) Exec added in v0.8.0

func (*GremlinTraversalStepValues) Reduce added in v0.8.0

type InsideMetadataMatcher added in v0.5.0

type InsideMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Inside added in v0.5.0

func Inside(from, to interface{}) *InsideMetadataMatcher

func (*InsideMetadataMatcher) Match added in v0.5.0

func (i *InsideMetadataMatcher) Match(v interface{}) bool

func (*InsideMetadataMatcher) Value added in v0.5.0

func (i *InsideMetadataMatcher) Value() (interface{}, interface{})

type LTEMetadataMatcher added in v0.5.0

type LTEMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Lte added in v0.5.0

func Lte(s interface{}) *LTEMetadataMatcher

func (*LTEMetadataMatcher) Match added in v0.5.0

func (lte *LTEMetadataMatcher) Match(v interface{}) bool

func (*LTEMetadataMatcher) Value added in v0.5.0

func (lte *LTEMetadataMatcher) Value() interface{}

type LTMetadataMatcher added in v0.5.0

type LTMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Lt added in v0.5.0

func Lt(s interface{}) *LTMetadataMatcher

func (*LTMetadataMatcher) Match added in v0.5.0

func (lt *LTMetadataMatcher) Match(v interface{}) bool

func (*LTMetadataMatcher) Value added in v0.5.0

func (lt *LTMetadataMatcher) Value() interface{}

type NEMetadataMatcher

type NEMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Ne

func Ne(s interface{}) *NEMetadataMatcher

func (*NEMetadataMatcher) Match

func (n *NEMetadataMatcher) Match(v interface{}) bool

func (*NEMetadataMatcher) Value added in v0.5.0

func (n *NEMetadataMatcher) Value() interface{}

type OutsideMetadataMatcher added in v0.5.0

type OutsideMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Outside added in v0.5.0

func Outside(from, to interface{}) *OutsideMetadataMatcher

func (*OutsideMetadataMatcher) Match added in v0.5.0

func (i *OutsideMetadataMatcher) Match(v interface{}) bool

func (*OutsideMetadataMatcher) Value added in v0.5.0

func (i *OutsideMetadataMatcher) Value() (interface{}, interface{})

type RegexMetadataMatcher

type RegexMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Regex

func Regex(expr string) *RegexMetadataMatcher

func (*RegexMetadataMatcher) Match

func (r *RegexMetadataMatcher) Match(v interface{}) bool

func (*RegexMetadataMatcher) Value added in v0.8.0

func (r *RegexMetadataMatcher) Value() interface{}

type Since added in v0.8.0

type Since struct {
	Seconds int64
}

type Token

type Token int

Token represents a lexical token.

const (
	// Special tokens
	ILLEGAL Token = iota
	EOF
	WS

	// Literals
	IDENT

	// Misc characters
	COMMA
	DOT
	LEFT_PARENTHESIS
	RIGHT_PARENTHESIS
	STRING
	NUMBER

	// Keywords
	G
	V
	HAS
	OUT
	IN
	OUTV
	INV
	OUTE
	INE
	DEDUP
	WITHIN
	WITHOUT
	METADATA
	SHORTESTPATHTO
	NE
	BOTH
	CONTEXT
	REGEX
	LT
	GT
	LTE
	GTE
	INSIDE
	OUTSIDE
	BETWEEN
	COUNT
	RANGE
	LIMIT
	SORT
	SINCE
	VALUES
	KEYS
	SUM
)

type WithinMetadataMatcher

type WithinMetadataMatcher struct {
	List []interface{}
}

func Within

func Within(s ...interface{}) *WithinMetadataMatcher

func (*WithinMetadataMatcher) Match

func (w *WithinMetadataMatcher) Match(v interface{}) bool

type WithoutMetadataMatcher

type WithoutMetadataMatcher struct {
	// contains filtered or unexported fields
}

func Without

func Without(s ...interface{}) *WithoutMetadataMatcher

func (*WithoutMetadataMatcher) Match

func (w *WithoutMetadataMatcher) Match(v interface{}) bool

Jump to

Keyboard shortcuts

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