traversal

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2017 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func ParamToFilter added in v0.12.0

func ParamToFilter(k string, v interface{}) (*filters.Filter, error)

ParamToFilter creates a filter based on parameters [RegexMetadataMatcher, NE/LT/GT/GTE/LTE/Inside/Outside/Between/Within/Contains/string,int64 MetadataMatcher]

func ParamsToFilter added in v0.12.0

func ParamsToFilter(params ...interface{}) (*filters.Filter, error)

ParamsToFilter convert multiple pairs to a unique filter, logically AND linked

func ParseSortParameter added in v0.12.0

func ParseSortParameter(keys ...interface{}) (order common.SortOrder, sortBy string, err error)

ParseSortParameter helper

func SliceToMetadata

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

SliceToMetadata slice multiple filters pair to metadata

Types

type BetweenMetadataMatcher

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

BetweenMetadataMatcher describes a list of metadata that match between the range from, to

func Between

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

Between step

type GTEMetadataMatcher

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

GTEMetadataMatcher describes a list of metadata that match Greater Than Equal

func Gte

func Gte(s interface{}) *GTEMetadataMatcher

Gte step

type GTMetadataMatcher

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

GTMetadataMatcher describes a list of metadata that match GreaterThan

func Gt

func Gt(s interface{}) *GTMetadataMatcher

Gt step

type GraphStepContext added in v0.9.0

type GraphStepContext struct {
	PaginationRange *GraphTraversalRange
}

GraphStepContext a step within a context

type GraphTraversal

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

GraphTraversal describes multiple step within a graph

func NewGraphTraversal

func NewGraphTraversal(g *graph.Graph, lockGraph bool) *GraphTraversal

NewGraphTraversal creates a new graph traversal

func (*GraphTraversal) Context

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

Context step : at, [duration]

func (*GraphTraversal) E added in v0.12.0

func (t *GraphTraversal) E(s ...interface{}) *GraphTraversalE

E step : [edge ID]

func (*GraphTraversal) Error

func (t *GraphTraversal) Error() error

func (*GraphTraversal) MarshalJSON

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

MarshalJSON serialize in JSON

func (*GraphTraversal) RLock added in v0.12.0

func (t *GraphTraversal) RLock()

RLock reads lock the graph

func (*GraphTraversal) RUnlock added in v0.12.0

func (t *GraphTraversal) RUnlock()

RUnlock reads unlock the graph

func (*GraphTraversal) V

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

V step : [node ID]

func (*GraphTraversal) Values

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

Values returns the graph values

type GraphTraversalE

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

GraphTraversalE traversal steps on Edges

func NewGraphTraversalE added in v0.12.0

func NewGraphTraversalE(gt *GraphTraversal, edges []*graph.Edge, err ...error) *GraphTraversalE

NewGraphTraversalE creates a new graph traversal Edges

func (*GraphTraversalE) BothV added in v0.13.0

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

BothV step, nodes in/out

func (*GraphTraversalE) Count

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

Count step

func (*GraphTraversalE) Dedup

func (te *GraphTraversalE) Dedup(keys ...interface{}) *GraphTraversalE

Dedup step : deduplicate

func (*GraphTraversalE) Error

func (te *GraphTraversalE) Error() error

func (*GraphTraversalE) Has

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

Has step

func (*GraphTraversalE) HasKey added in v0.12.0

func (te *GraphTraversalE) HasKey(s string) *GraphTraversalE

HasKey step

func (*GraphTraversalE) HasNot added in v0.12.0

func (te *GraphTraversalE) HasNot(s string) *GraphTraversalE

HasNot step

func (*GraphTraversalE) InV

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

InV step, node in

func (*GraphTraversalE) Limit added in v0.9.0

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

Limit step

func (*GraphTraversalE) MarshalJSON

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

MarshalJSON serialize in JSON

func (*GraphTraversalE) OutV

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

OutV step, node out

func (*GraphTraversalE) Range added in v0.9.0

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

Range step

func (*GraphTraversalE) SubGraph added in v0.13.0

func (te *GraphTraversalE) SubGraph(s ...interface{}) *GraphTraversal

SubGraph step, node/edge out

func (*GraphTraversalE) Values

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

Values returns the graph values

type GraphTraversalRange added in v0.9.0

type GraphTraversalRange [2]int64

GraphTraversalRange is within a min and a max

func (*GraphTraversalRange) Iterator added in v0.9.0

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

Iterator on the range

type GraphTraversalShortestPath

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

GraphTraversalShortestPath traversal step shortest path

func (*GraphTraversalShortestPath) Error

func (sp *GraphTraversalShortestPath) Error() error

func (*GraphTraversalShortestPath) GetNodes added in v0.12.0

func (sp *GraphTraversalShortestPath) GetNodes() []*graph.Node

GetNodes : returns all the nodes in single array, so it will used to find flows.

func (*GraphTraversalShortestPath) MarshalJSON

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

MarshalJSON serialize in JSON

func (*GraphTraversalShortestPath) Values

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

Values returns the graph values

type GraphTraversalStep

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

GraphTraversalStep describes a step in the graph containing Values

type GraphTraversalV

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

GraphTraversalV traversal steps on nodes

func NewGraphTraversalV

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

NewGraphTraversalV returns a new traversal step

func (*GraphTraversalV) Both

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

Both step

func (*GraphTraversalV) BothE added in v0.12.0

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

BothE : both are edges

func (*GraphTraversalV) Count

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

Count step

func (*GraphTraversalV) Dedup

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

Dedup step : deduplicate output

func (*GraphTraversalV) Error

func (tv *GraphTraversalV) Error() error

func (*GraphTraversalV) GetNodes added in v0.9.0

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

GetNodes returns the step nodes

func (*GraphTraversalV) Has

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

Has step

func (*GraphTraversalV) HasKey added in v0.12.0

func (tv *GraphTraversalV) HasKey(s string) *GraphTraversalV

HasKey step

func (*GraphTraversalV) HasNot added in v0.12.0

func (tv *GraphTraversalV) HasNot(s string) *GraphTraversalV

HasNot step

func (*GraphTraversalV) In

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

In node step

func (*GraphTraversalV) InE

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

InE step of an node

func (*GraphTraversalV) Limit added in v0.9.0

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

Limit step

func (*GraphTraversalV) MarshalJSON

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

MarshalJSON serialize in JSON

func (*GraphTraversalV) Metrics added in v0.12.0

func (tv *GraphTraversalV) Metrics() *MetricsTraversalStep

Metrics step : packets counters

func (*GraphTraversalV) Out

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

Out step : out of a node step

func (*GraphTraversalV) OutE

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

OutE step : out of an edge

func (*GraphTraversalV) PropertyKeys added in v0.9.0

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

PropertyKeys returns at this step, all the metadata keys of each metadata

func (*GraphTraversalV) PropertyValues added in v0.9.0

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

PropertyValues returns at this step, the values of each metadata selected by the first key

func (*GraphTraversalV) Range added in v0.9.0

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

Range step

func (*GraphTraversalV) ShortestPathTo

ShortestPathTo step

func (*GraphTraversalV) Sort added in v0.12.0

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

Sort step

func (*GraphTraversalV) SubGraph added in v0.13.0

func (tv *GraphTraversalV) SubGraph(s ...interface{}) *GraphTraversal

SubGraph step, node/edge out

func (*GraphTraversalV) Sum added in v0.9.0

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

Sum step : key returns the sum of the metadata values of the first argument key

func (*GraphTraversalV) Values

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

Values returns the graph values

type GraphTraversalValue

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

GraphTraversalValue traversal step value

func NewGraphTraversalValue

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

NewGraphTraversalValue creates a new traversal value step

func (*GraphTraversalValue) Dedup added in v0.9.0

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

Dedup step : deduplicate

func (*GraphTraversalValue) Error

func (t *GraphTraversalValue) Error() error

func (*GraphTraversalValue) MarshalJSON

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

MarshalJSON serialize in JSON

func (*GraphTraversalValue) Values

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

Values return the graph values

type GremlinTraversalContext added in v0.9.0

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

GremlinTraversalContext describes the context of a step

func (*GremlinTraversalContext) Context added in v0.9.0

Context step

func (*GremlinTraversalContext) ReduceRange added in v0.9.0

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

ReduceRange Context step

type GremlinTraversalExtension

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

GremlinTraversalExtension interface for Gremlin language extension

type GremlinTraversalParser

type GremlinTraversalParser struct {
	sync.RWMutex
	Graph *graph.Graph
	// contains filtered or unexported fields
}

GremlinTraversalParser describes a parser of gremlin graph expression The mechanism is based on Reduce and Exec steps

func NewGremlinTraversalParser

func NewGremlinTraversalParser(g *graph.Graph) *GremlinTraversalParser

NewGremlinTraversalParser creates a new gremlin language parser on the graph

func (*GremlinTraversalParser) AddTraversalExtension

func (p *GremlinTraversalParser) AddTraversalExtension(e GremlinTraversalExtension)

AddTraversalExtension registers a new gremlin traversal extension

func (*GremlinTraversalParser) Parse

Parse the Gremlin language and returns a traversal sequence

type GremlinTraversalScanner

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

GremlinTraversalScanner describes a buffer scanner for Gremlin expression extension

func NewGremlinTraversalScanner

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

NewGremlinTraversalScanner creates a new Gremlin expression scanner

func (*GremlinTraversalScanner) Scan

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

Scan and returns tokens

type GremlinTraversalSequence

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

GremlinTraversalSequence describes a sequence of steps

func (*GremlinTraversalSequence) Exec

Exec sequence step

type GremlinTraversalStep

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

GremlinTraversalStep describes a step

type GremlinTraversalStepBoth

type GremlinTraversalStepBoth struct {
	GremlinTraversalContext
}

GremlinTraversalStepBoth step

func (*GremlinTraversalStepBoth) Exec

Exec Both step

func (*GremlinTraversalStepBoth) Reduce

Reduce Both step

type GremlinTraversalStepBothE added in v0.12.0

type GremlinTraversalStepBothE struct {
	GremlinTraversalContext
}

GremlinTraversalStepBothE step

func (*GremlinTraversalStepBothE) Exec added in v0.12.0

Exec BothE step

func (*GremlinTraversalStepBothE) Reduce added in v0.12.0

Reduce BothE step

type GremlinTraversalStepBothV added in v0.13.0

type GremlinTraversalStepBothV struct {
	GremlinTraversalContext
}

GremlinTraversalStepBothV step

func (*GremlinTraversalStepBothV) Exec added in v0.13.0

Exec BothV step

func (*GremlinTraversalStepBothV) Reduce added in v0.13.0

Reduce BothV step

type GremlinTraversalStepContext

type GremlinTraversalStepContext struct {
	GremlinTraversalContext
}

GremlinTraversalStepContext step

func (*GremlinTraversalStepContext) Exec

Exec Context step

func (*GremlinTraversalStepContext) Reduce

Reduce Context step

type GremlinTraversalStepCount

type GremlinTraversalStepCount struct {
	GremlinTraversalContext
}

GremlinTraversalStepCount step

func (*GremlinTraversalStepCount) Exec

Exec Count step

func (*GremlinTraversalStepCount) Reduce

Reduce Count step

type GremlinTraversalStepDedup

type GremlinTraversalStepDedup struct {
	GremlinTraversalContext
}

GremlinTraversalStepDedup step

func (*GremlinTraversalStepDedup) Exec

Exec Dedup step

func (*GremlinTraversalStepDedup) Reduce

Reduce Dedup step

type GremlinTraversalStepE

type GremlinTraversalStepE struct {
	GremlinTraversalContext
}

GremlinTraversalStepE step

func (*GremlinTraversalStepE) Exec added in v0.12.0

Exec E step

func (*GremlinTraversalStepE) Reduce added in v0.12.0

Reduce E step

type GremlinTraversalStepG

type GremlinTraversalStepG struct {
	GremlinTraversalContext
}

GremlinTraversalStepG step

func (*GremlinTraversalStepG) Exec

Exec G step

func (*GremlinTraversalStepG) Reduce

Reduce G step

type GremlinTraversalStepHas

type GremlinTraversalStepHas struct {
	GremlinTraversalContext
}

GremlinTraversalStepHas step

func (*GremlinTraversalStepHas) Exec

Exec Has step

func (*GremlinTraversalStepHas) Reduce

Reduce Has step

type GremlinTraversalStepHasKey added in v0.12.0

type GremlinTraversalStepHasKey struct {
	GremlinTraversalContext
}

GremlinTraversalStepHasKey step

func (*GremlinTraversalStepHasKey) Exec added in v0.12.0

Exec HasKey step

func (*GremlinTraversalStepHasKey) Reduce added in v0.12.0

Reduce HasKey step

type GremlinTraversalStepHasNot added in v0.12.0

type GremlinTraversalStepHasNot struct {
	GremlinTraversalContext
}

GremlinTraversalStepHasNot step

func (*GremlinTraversalStepHasNot) Exec added in v0.12.0

Exec HasNot

func (*GremlinTraversalStepHasNot) Reduce added in v0.12.0

Reduce HasNot step

type GremlinTraversalStepIn

type GremlinTraversalStepIn struct {
	GremlinTraversalContext
}

GremlinTraversalStepIn step

func (*GremlinTraversalStepIn) Exec

Exec In step

func (*GremlinTraversalStepIn) Reduce

Reduce In step

type GremlinTraversalStepInE

type GremlinTraversalStepInE struct {
	GremlinTraversalContext
}

GremlinTraversalStepInE step

func (*GremlinTraversalStepInE) Exec

Exec InE step

func (*GremlinTraversalStepInE) Reduce

Reduce InE step

type GremlinTraversalStepInV

type GremlinTraversalStepInV struct {
	GremlinTraversalContext
}

GremlinTraversalStepInV step

func (*GremlinTraversalStepInV) Exec

Exec InV step

func (*GremlinTraversalStepInV) Reduce

Reduce InV step

type GremlinTraversalStepKeys added in v0.9.0

type GremlinTraversalStepKeys struct {
	GremlinTraversalContext
}

GremlinTraversalStepKeys step

func (*GremlinTraversalStepKeys) Exec added in v0.9.0

Exec Keys step

func (*GremlinTraversalStepKeys) Reduce added in v0.9.0

Reduce Keys step

type GremlinTraversalStepLimit added in v0.9.0

type GremlinTraversalStepLimit struct {
	GremlinTraversalContext
}

GremlinTraversalStepLimit step

func (*GremlinTraversalStepLimit) Exec added in v0.9.0

Exec Limit step

func (*GremlinTraversalStepLimit) Reduce added in v0.9.0

Reduce Limit step

type GremlinTraversalStepMetrics added in v0.12.0

type GremlinTraversalStepMetrics struct {
	GremlinTraversalContext
}

GremlinTraversalStepMetrics step

func (*GremlinTraversalStepMetrics) Exec added in v0.12.0

Exec Metrics step

func (*GremlinTraversalStepMetrics) Reduce added in v0.12.0

Reduce Metrics step

type GremlinTraversalStepOut

type GremlinTraversalStepOut struct {
	GremlinTraversalContext
}

GremlinTraversalStepOut step

func (*GremlinTraversalStepOut) Exec

Exec Out step

func (*GremlinTraversalStepOut) Reduce

Reduce Out step

type GremlinTraversalStepOutE

type GremlinTraversalStepOutE struct {
	GremlinTraversalContext
}

GremlinTraversalStepOutE step

func (*GremlinTraversalStepOutE) Exec

Exec OutE step

func (*GremlinTraversalStepOutE) Reduce

Reduce OutE step

type GremlinTraversalStepOutV

type GremlinTraversalStepOutV struct {
	GremlinTraversalContext
}

GremlinTraversalStepOutV step

func (*GremlinTraversalStepOutV) Exec

Exec OutV step

func (*GremlinTraversalStepOutV) Reduce

Reduce OutV step

type GremlinTraversalStepRange added in v0.9.0

type GremlinTraversalStepRange struct {
	GremlinTraversalContext
}

GremlinTraversalStepRange step

func (*GremlinTraversalStepRange) Exec added in v0.9.0

Exec Range step

func (*GremlinTraversalStepRange) Reduce added in v0.9.0

Reduce Range step

type GremlinTraversalStepShortestPathTo

type GremlinTraversalStepShortestPathTo struct {
	GremlinTraversalContext
}

GremlinTraversalStepShortestPathTo step

func (*GremlinTraversalStepShortestPathTo) Exec

Exec ShortestPathTo step

func (*GremlinTraversalStepShortestPathTo) Reduce

Reduce ShortestPathTo step

type GremlinTraversalStepSort added in v0.9.0

type GremlinTraversalStepSort struct {
	GremlinTraversalContext
}

GremlinTraversalStepSort step

func (*GremlinTraversalStepSort) Exec added in v0.9.0

Exec Sort step

func (*GremlinTraversalStepSort) Reduce added in v0.9.0

Reduce Sort step

type GremlinTraversalStepSubGraph added in v0.13.0

type GremlinTraversalStepSubGraph struct {
	GremlinTraversalContext
}

GremlinTraversalStepSubGraph step

func (*GremlinTraversalStepSubGraph) Exec added in v0.13.0

Exec SubGraph step

func (*GremlinTraversalStepSubGraph) Reduce added in v0.13.0

Reduce SubGraph step

type GremlinTraversalStepSum added in v0.9.0

type GremlinTraversalStepSum struct {
	GremlinTraversalContext
}

GremlinTraversalStepSum step

func (*GremlinTraversalStepSum) Exec added in v0.9.0

Exec Sum step

func (*GremlinTraversalStepSum) Reduce added in v0.9.0

Reduce Sum step

type GremlinTraversalStepV

type GremlinTraversalStepV struct {
	GremlinTraversalContext
}

GremlinTraversalStepV step

func (*GremlinTraversalStepV) Exec

Exec V step

func (*GremlinTraversalStepV) Reduce

Reduce V step

type GremlinTraversalStepValues added in v0.9.0

type GremlinTraversalStepValues struct {
	GremlinTraversalContext
}

GremlinTraversalStepValues step

func (*GremlinTraversalStepValues) Exec added in v0.9.0

Exec Values step

func (*GremlinTraversalStepValues) Reduce added in v0.9.0

Reduce Values step

type IPV4RangeMetadataMatcher added in v0.13.0

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

IPV4RangeMetadataMatcher matches ipv4 contained in an ipv4 range

func IPV4Range added in v0.13.0

func IPV4Range(s interface{}) *IPV4RangeMetadataMatcher

IPV4RANGE step

type InsideMetadataMatcher

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

InsideMetadataMatcher describes a list of metadata that match inside the range from, to

func Inside

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

Inside step

type LTEMetadataMatcher

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

LTEMetadataMatcher describes a list of metadata that match Less Than Equal

func Lte

func Lte(s interface{}) *LTEMetadataMatcher

Lte step

type LTMetadataMatcher

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

LTMetadataMatcher describes a list of metadata that match LessThan

func Lt

func Lt(s interface{}) *LTMetadataMatcher

Lt step

type MetricsTraversalStep added in v0.12.0

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

MetricsTraversalStep traversal step metric interface counters

func NewMetricsTraversalStep added in v0.12.0

func NewMetricsTraversalStep(gt *GraphTraversal, metrics map[string][]*common.TimedMetric, err error) *MetricsTraversalStep

NewMetricsTraversalStep creates a new tranversal metric step

func (*MetricsTraversalStep) Aggregates added in v0.12.0

func (m *MetricsTraversalStep) Aggregates() *MetricsTraversalStep

Aggregates merges multiple metrics array into one by summing overlapping metrics. It returns a unique array will all the aggregated metrics.

func (*MetricsTraversalStep) Count added in v0.12.0

func (m *MetricsTraversalStep) Count(s ...interface{}) *GraphTraversalValue

Count step

func (*MetricsTraversalStep) Error added in v0.12.0

func (m *MetricsTraversalStep) Error() error

Error returns error present at this step

func (*MetricsTraversalStep) MarshalJSON added in v0.12.0

func (m *MetricsTraversalStep) MarshalJSON() ([]byte, error)

MarshalJSON serialize in JSON

func (*MetricsTraversalStep) Sum added in v0.12.0

func (m *MetricsTraversalStep) Sum(keys ...interface{}) *GraphTraversalValue

Sum aggregates integer values mapped by 'key' cross flows

func (*MetricsTraversalStep) Values added in v0.12.0

func (m *MetricsTraversalStep) Values() []interface{}

Values returns the graph metric values

type NEMetadataMatcher

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

NEMetadataMatcher describes a list of metadata that match NotEqual

func Ne

func Ne(s interface{}) *NEMetadataMatcher

Ne step

type OutsideMetadataMatcher

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

OutsideMetadataMatcher describes a list of metadata that match outside the range from, to

func Outside

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

Outside step

type RegexMetadataMatcher

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

RegexMetadataMatcher describes a list of metadata that match a regex

func Regex

func Regex(regex string) *RegexMetadataMatcher

Regex step

type Since added in v0.9.0

type Since struct {
	Seconds int64
}

Since describes a list of metadata that match since seconds

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
	E
	HAS
	HASKEY
	HASNOT
	OUT
	IN
	OUTV
	INV
	BOTHV
	OUTE
	INE
	BOTHE
	DEDUP
	WITHIN
	WITHOUT
	METADATA
	SHORTESTPATHTO
	NE
	BOTH
	CONTEXT
	REGEX
	LT
	GT
	LTE
	GTE
	INSIDE
	OUTSIDE
	BETWEEN
	COUNT
	RANGE
	LIMIT
	SORT
	VALUES
	KEYS
	SUM
	METRICS
	ASC
	DESC
	IPV4RANGE
	SUBGRAPH
)

Default language token, extension token start at 1000

type WithinMetadataMatcher

type WithinMetadataMatcher struct {
	List []interface{}
}

WithinMetadataMatcher describes a list of metadata that should match (within)

func Within

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

Within step

type WithoutMetadataMatcher

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

WithoutMetadataMatcher describes a list of metadata that shouldn't match (without)

func Without

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

Without step

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