traversal

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2017 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

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

func Between

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

func (*BetweenMetadataMatcher) Match

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

func (*BetweenMetadataMatcher) Value

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

type GTEMetadataMatcher

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

func Gte

func Gte(s interface{}) *GTEMetadataMatcher

func (*GTEMetadataMatcher) Match

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

func (*GTEMetadataMatcher) Value

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

type GTMetadataMatcher

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

func Gt

func Gt(s interface{}) *GTMetadataMatcher

func (*GTMetadataMatcher) Match

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

func (*GTMetadataMatcher) Value

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

type GraphStepContext added in v0.9.0

type GraphStepContext struct {
	PaginationRange *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 (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

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

func (*GraphTraversalE) Dedup

func (te *GraphTraversalE) Dedup(keys ...interface{}) *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.9.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.9.0

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

func (*GraphTraversalE) Values

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

type GraphTraversalRange added in v0.9.0

type GraphTraversalRange [2]int64

func (*GraphTraversalRange) Iterator added in v0.9.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

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

func (*GraphTraversalV) Dedup

func (tv *GraphTraversalV) Dedup(keys ...interface{}) *GraphTraversalV

func (*GraphTraversalV) Error

func (tv *GraphTraversalV) Error() error

func (*GraphTraversalV) GetNodes added in v0.9.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.9.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.9.0

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

func (*GraphTraversalV) PropertyValues added in v0.9.0

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

func (*GraphTraversalV) Range added in v0.9.0

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

func (*GraphTraversalV) ShortestPathTo

func (*GraphTraversalV) Sum added in v0.9.0

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

func (*GraphTraversalV) Values

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

type GraphTraversalValue

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

func NewGraphTraversalValue

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

func (*GraphTraversalValue) Dedup added in v0.9.0

func (t *GraphTraversalValue) Dedup(keys ...interface{}) *GraphTraversalValue

func (*GraphTraversalValue) Error

func (t *GraphTraversalValue) Error() error

func (*GraphTraversalValue) MarshalJSON

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

func (*GraphTraversalValue) Values

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

type GremlinTraversalContext added in v0.9.0

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

func (*GremlinTraversalContext) Context added in v0.9.0

func (*GremlinTraversalContext) ReduceRange added in v0.9.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
	// contains filtered or unexported fields
}

func NewGremlinTraversalParser

func NewGremlinTraversalParser(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 NewGremlinTraversalScanner

func NewGremlinTraversalScanner(r io.Reader, e []GremlinTraversalExtension) *GremlinTraversalScanner

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

type GremlinTraversalStepBoth struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepBoth) Exec

func (*GremlinTraversalStepBoth) Reduce

type GremlinTraversalStepContext

type GremlinTraversalStepContext struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepContext) Exec

func (*GremlinTraversalStepContext) Reduce

type GremlinTraversalStepCount

type GremlinTraversalStepCount struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepCount) Exec

func (*GremlinTraversalStepCount) Reduce

type GremlinTraversalStepDedup

type GremlinTraversalStepDedup struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepDedup) Exec

func (*GremlinTraversalStepDedup) Reduce

type GremlinTraversalStepE

type GremlinTraversalStepE struct {
	GremlinTraversalContext
}

type GremlinTraversalStepG

type GremlinTraversalStepG struct {
	GremlinTraversalContext
}

built in steps

func (*GremlinTraversalStepG) Exec

func (*GremlinTraversalStepG) Reduce

type GremlinTraversalStepHas

type GremlinTraversalStepHas struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepHas) Exec

func (*GremlinTraversalStepHas) Reduce

type GremlinTraversalStepIn

type GremlinTraversalStepIn struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepIn) Exec

func (*GremlinTraversalStepIn) Reduce

type GremlinTraversalStepInE

type GremlinTraversalStepInE struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepInE) Exec

func (*GremlinTraversalStepInE) Reduce

type GremlinTraversalStepInV

type GremlinTraversalStepInV struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepInV) Exec

func (*GremlinTraversalStepInV) Reduce

type GremlinTraversalStepKeys added in v0.9.0

type GremlinTraversalStepKeys struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepKeys) Exec added in v0.9.0

func (*GremlinTraversalStepKeys) Reduce added in v0.9.0

type GremlinTraversalStepLimit added in v0.9.0

type GremlinTraversalStepLimit struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepLimit) Exec added in v0.9.0

func (*GremlinTraversalStepLimit) Reduce added in v0.9.0

type GremlinTraversalStepOut

type GremlinTraversalStepOut struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepOut) Exec

func (*GremlinTraversalStepOut) Reduce

type GremlinTraversalStepOutE

type GremlinTraversalStepOutE struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepOutE) Exec

func (*GremlinTraversalStepOutE) Reduce

type GremlinTraversalStepOutV

type GremlinTraversalStepOutV struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepOutV) Exec

func (*GremlinTraversalStepOutV) Reduce

type GremlinTraversalStepRange added in v0.9.0

type GremlinTraversalStepRange struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepRange) Exec added in v0.9.0

func (*GremlinTraversalStepRange) Reduce added in v0.9.0

type GremlinTraversalStepShortestPathTo

type GremlinTraversalStepShortestPathTo struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepShortestPathTo) Exec

func (*GremlinTraversalStepShortestPathTo) Reduce

type GremlinTraversalStepSort added in v0.9.0

type GremlinTraversalStepSort struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepSort) Exec added in v0.9.0

func (*GremlinTraversalStepSort) Reduce added in v0.9.0

type GremlinTraversalStepSum added in v0.9.0

type GremlinTraversalStepSum struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepSum) Exec added in v0.9.0

func (*GremlinTraversalStepSum) Reduce added in v0.9.0

type GremlinTraversalStepV

type GremlinTraversalStepV struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepV) Exec

func (*GremlinTraversalStepV) Reduce

type GremlinTraversalStepValues added in v0.9.0

type GremlinTraversalStepValues struct {
	GremlinTraversalContext
}

func (*GremlinTraversalStepValues) Exec added in v0.9.0

func (*GremlinTraversalStepValues) Reduce added in v0.9.0

type InsideMetadataMatcher

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

func Inside

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

func (*InsideMetadataMatcher) Match

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

func (*InsideMetadataMatcher) Value

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

type LTEMetadataMatcher

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

func Lte

func Lte(s interface{}) *LTEMetadataMatcher

func (*LTEMetadataMatcher) Match

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

func (*LTEMetadataMatcher) Value

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

type LTMetadataMatcher

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

func Lt

func Lt(s interface{}) *LTMetadataMatcher

func (*LTMetadataMatcher) Match

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

func (*LTMetadataMatcher) Value

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

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

type OutsideMetadataMatcher

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

func Outside

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

func (*OutsideMetadataMatcher) Match

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

func (*OutsideMetadataMatcher) Value

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.9.0

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

type Since added in v0.9.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

Source Files

  • traversal.go
  • traversal_extension.go
  • traversal_parser.go
  • traversal_scanner.go

Jump to

Keyboard shortcuts

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