traversal

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 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 {
	Range *GraphTraversalRange
}

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 (*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) 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) Range added in v0.6.0

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

func (*GraphTraversalV) ShortestPathTo

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) 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 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 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 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

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
)

type WithinMetadataMatcher

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

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