Documentation ¶
Overview ¶
Package eql contains the main API for EQL.
Example EQL query:
GET Person where name = "Marvin"
Index ¶
Constants ¶
View Source
const GroupNodeKind = interpreter.GroupNodeKind
GroupNodeKind is a special node kind representing groups
Variables ¶
This section is empty.
Functions ¶
func ParseQuery ¶
ParseQuery parses a search query and return its Abstract Syntax Tree.
func RefineQueryByResultRows ¶
func RefineQueryByResultRows(res SearchResult, rows []int) (string, error)
RefineQueryByResultRows tries to construct a query which will only show certain rows of a given query result. Might fail if no primary node per row can be identified or if the "primary" keyword is used.
Types ¶
type SearchResult ¶
type SearchResult interface { /* Header returns a data structure describing the result header. */ Header() SearchResultHeader /* Query returns the query which produced this result. */ Query() string /* RowCount returns the number of rows of the result. */ RowCount() int /* Row returns a row of the result. */ Row(line int) []interface{} /* Rows returns all result rows. */ Rows() [][]interface{} /* RowSource returns the sources of a result row. Format is either: <n/e>:<kind>:<key> or q:<query> */ RowSource(line int) []string /* RowSources returns the sources of a result. */ RowSources() [][]string /* String returns a string representation of this search result. */ String() string /* CSV returns this search result as comma-separated strings. */ CSV() string }
SearchResult models an EQL search result.
func RunQueryWithNodeInfo ¶
func RunQueryWithNodeInfo(name string, part string, query string, gm *graph.Manager, ni interpreter.NodeInfo) (SearchResult, error)
RunQueryWithNodeInfo runs a search query against a given graph database. Using a given NodeInfo object to retrieve rendering information.
type SearchResultHeader ¶
type SearchResultHeader interface { /* Partition returns the partition of a search result. */ Partition() string /* PrimaryKind returns the primary kind of a search result. */ PrimaryKind() string /* Labels returns all column labels of a search result. */ Labels() []string /* Format returns all column format definitions of a search result. */ Format() []string /* Data returns the data which is displayed in each column of a search result. (e.g. 1:n:name - Name of starting nodes, 3:e:key - Key of edge traversed in the second traversal) */ Data() []string }
SearchResultHeader models the header of an EQL search result.
Directories ¶
Path | Synopsis |
---|---|
Package interpreter contains the EQL interpreter.
|
Package interpreter contains the EQL interpreter. |
Package parser contains the EQL parser.
|
Package parser contains the EQL parser. |
Click to show internal directories.
Click to hide internal directories.