Execution plan operators
This section contains the exection plan operators at a glance.
This table comprises all the execution plan operators ordered lexicographically.
-
Leaf operators, in most cases, locate the starting nodes and relationships required in order to execute the query.
-
Updating operators are used in queries that update the graph.
-
Eager operators accumulate all their rows before piping them to the next operator.
Name | Description | Leaf? | Updating? | Considerations |
---|---|---|---|---|
Reads all nodes from the node store. |
Yes |
|||
Tests for the absence of a pattern. |
||||
Performs a nested loop. Tests for the absence of a pattern predicate. |
||||
Performs a nested loop. Yields rows from both the left-hand and right-hand side operators. |
||||
Indicates the variable to be used as an argument to the right-hand side of an |
Yes |
|||
Ensures that no node property uniqueness constraints are violated. |
||||
Ensures that no relationship property uniqueness constraints are violated. |
||||
Used to ensure that no property uniqueness constraints are violated. |
||||
Reads node or relationship properties and caches them. |
||||
Produces a cartesian product of the inputs from the left-hand and right-hand operators. |
||||
Creates nodes and relationships. |
Yes |
|||
Creates an index for either nodes or relationships. |
Yes |
|||
Creates a constraint for either nodes or relationships. |
Yes |
|||
Deletes a node or relationship. |
Yes |
|||
Deletes a node and its relationships. |
Yes |
|||
Fetches all relationships and their start and end nodes in the database. |
||||
Reads one or more relationships by id from the relationship store. |
Yes |
|||
Examines all values stored in an index, searching for entries containing a specific string; for example, in queries including |
||||
Examines all values stored in an index, searching for entries ending in a specific string; for example, in queries containing |
||||
Examines all values stored in an index, returning all relationships and their start and end nodes with a particular relationship type and a specified property. |
||||
Finds relationships and their start and end nodes using an index seek. |
||||
Finds relationships and their start and end nodes using an index seek where the value of the property matches a given prefix string. |
||||
Fetches all relationships and their start and end nodes with a specific type from the relationship type index. |
||||
Fetches all relationships and their start and end nodes with at least one of the provided types from the relationship type index. |
||||
Drops duplicate rows from the incoming stream of rows. |
Eager |
|||
Checks if a constraint already exists, if it does then it stops the execution, if not it continues. |
Yes |
|||
Checks if an index already exists, if it does then it stops the execution, if not it continues. |
Yes |
|||
Drops a constraint using its name. |
Yes |
Yes |
||
Drops an index using its name. |
Yes |
Yes |
||
For isolation purposes, |
Eager |
|||
Evaluates a grouping expression. |
Eager |
|||
Eagerly loads all incoming data and discards it. |
||||
Returns a single row with no columns. |
Yes |
|||
The |
||||
Traverses incoming or outgoing relationships from a given node. |
||||
Finds all relationships between two nodes. |
||||
Filters each row coming from the child operator, only passing through rows that evaluate the predicates to |
||||
Performs a nested loop. Yields rows from the left-hand operator and discards rows from the right-hand operator. |
||||
Fetches all nodes that have all of the provided labels from the node label index. |
||||
Performs a nested loop. Tests for the absence of a pattern predicate in queries containing multiple pattern predicates. |
||||
Performs a nested loop. Tests for the absence of a pattern predicate that is combined with other predicates. |
||||
Performs a nested loop. Tests for the presence of a pattern predicate that is combined with other predicates. |
||||
Performs a nested loop. Tests for the presence of a pattern predicate in queries containing multiple pattern predicates. |
||||
Returns the first |
||||
Loads data from a CSV source into the query. |
Yes |
|||
Similar to the |
||||
The |
||||
Finds nodes using multiple index seeks. |
Yes |
|||
Reads one or more nodes by ID from the node store, specified via the function elementId(). |
Yes |
|||
Reads one or more nodes by ID from the node store, specified via the function id(). |
Yes |
|||
Fetches all nodes with a specific label from the node label index. |
Yes |
|||
Uses the count store to answer questions about node counts. |
Yes |
|||
Executes a hash join on node ID. |
Eager |
|||
Examines all values stored in an index, searching for entries containing a specific string. |
Yes |
|||
Examines all values stored in an index, searching for entries ending in a specific string. |
Yes |
|||
Examines all values stored in an index, returning all nodes with a particular label with a specified property. |
Yes |
|||
Finds nodes using an index seek. |
Yes |
|||
Finds nodes using an index seek where the value of the property matches the given prefix string. |
Yes |
|||
Executes a left outer hash join. |
Eager |
|||
Executes a right outer hash join. |
Eager |
|||
Finds nodes using an index seek within a unique index. |
Yes |
|||
Finds nodes using an index seek within a unique index where the value of the property matches the given prefix string. |
Yes |
|||
Yields a single row with all columns set to |
||||
Traverses relationships from a given node, producing a single row with the relationship and end node set to |
||||
Traverses all relationships between two nodes, producing a single row with the relationship and end node set to |
||||
Like |
||||
Like |
||||
Sorts a row by multiple columns if there is already an ordering. |
||||
Returns the first |
||||
Calls a procedure. |
||||
Prepares the result so that it is consumable by the user. |
||||
Projects the start and end node of a relationship. |
||||
Evaluates a set of expressions, producing a row with the results thereof. |
Yes |
|||
Uses the count store to answer questions about relationship counts. |
Yes |
|||
Deletes labels from a node. |
Yes |
|||
Performs a nested loop. Executes a pattern expression or pattern comprehension. |
||||
Performs a nested loop.
Tests for the absence of a pattern predicate if an expression predicate evaluates to |
||||
Performs a nested loop. Tests for the presence of a pattern predicate if an expression predicate evaluates to |
||||
Performs a nested loop. Tests for the presence of a pattern predicate. |
||||
Sets labels on a node. |
Yes |
|||
Sets properties from a map on a node. |
Yes |
|||
Sets a property on a node or relationship. |
Yes |
|||
Sets properties from a map on a relationship. |
Yes |
|||
Finds one or all shortest paths between two previously matches node variables. |
||||
Lists the available constraints. |
Yes |
|||
Lists the available functions. |
Yes |
|||
Lists the available indexes. |
Yes |
|||
Lists the available procedures. |
Yes |
|||
Lists the available configuration settings. |
Yes |
|||
Lists the available transactions on the current server. |
Yes |
|||
Skips |
||||
Sorts rows by a provided key. |
Eager |
|||
Terminate transactions with the given IDs. |
Yes |
|||
Returns the first 'n' rows sorted by a provided key. |
Eager |
|||
The |
||||
The |
||||
Solves triangular queries, such as the very common 'find my friend-of-friends that are not already my friend'. |
||||
Fetches all relationships and their start and end nodes in the database. |
||||
Reads one or more relationships by ID from the relationship store. |
Yes |
|||
Examines all values stored in an index, searching for entries containing a specific string; for example, in queries including |
||||
Examines all values stored in an index, searching for entries ending in a specific string; for example, in queries containing |
||||
Examines all values stored in an index, returning all relationships and their start and end nodes with a particular relationship type and a specified property. |
||||
Finds relationships and their start and end nodes using an index seek. |
||||
Finds relationships and their start and end nodes using an index seek where the value of the property matches a given prefix string. |
||||
Fetches all relationships and their start and end nodes with a specific type from the relationship type index. |
||||
Fetches all relationships and their start and end nodes with at least one of the provided types from the relationship type index. |
||||
Concatenates the results from the right-hand operator with the results from the left-hand operator. |
||||
Fetches all nodes that have at least one of the provided labels from the node label index. |
||||
Returns one row per item in a list. |
||||
Executes a hash join on arbitrary values. |
Eager |
|||
Traverses variable-length relationships from a given node. |
||||
Finds all variable-length relationships between two nodes. |
||||
Traverses variable-length relationships from a given node and only returns unique end nodes. |
||||
Traverses variable-length relationships from a given node and only returns unique end nodes. |
Was this page helpful?