The TCK is split into categories based on language constructs. The two main groups are clauses and expressions. Each group enumerates its members. Within each member, there are additional categories.
-
Call1 - Basic procedure calling
-
Call2 - Procedure arguments
-
Call3 - Assignable-type arguments
-
Call4 - Null Arguments
-
Call5 - Results projection
-
Call6 - Call clause interoperation with other clauses
-
Create1 - Creating nodes
-
Create2 - Creating relationships
-
Create3 - Interoperation with other clauses
-
Create4 - Large Create Query
-
Create5 - Multiple hops create patterns
-
Create6 - Persistence of create clause side effects
-
Delete1 - Deleting nodes
-
Delete2 - Deleting relationships
-
Delete3 - Deleting named paths
-
Delete4 - Delete clause interoperation with other clauses
-
Delete5 - Delete clause interoperation with built-in data types
-
Delete6 - Persistence of delete clause side effects
-
Match1 - Match nodes
-
Match2 - Match relationships
-
Match3 - Match fixed length patterns
-
Match4 - Match variable length patterns scenarios
-
Match5 - Match variable length patterns over given graphs scenarios
-
Match6 - Match named paths scenarios
-
Match7 - Optional match
-
Match8 - Match clause interoperation with other clauses
-
Match9 - Match deprecated scenarios
-
MatchWhere1 - Filter single variable
-
MatchWhere2 - Filter multiple variables
-
MatchWhere3 - Equi-Joins on variables
-
MatchWhere4 - Non-Equi-Joins on variables
-
MatchWhere5 - Filter on predicate resulting in null
-
MatchWhere6 - Filter optional matches
-
Merge1 - Merge node
-
Merge2 - Merge node - on create
-
Merge3 - Merge node - on match
-
Merge4 - Merge node - on match and on create
-
Merge5 - Merge relationships
-
Merge6 - Merge relationships - on create
-
Merge7 - Merge relationships - on match
-
Merge8 - Merge relationships - on match and on create
-
Merge9 - Merge clause interoperation with other clauses
-
Remove1 - Remove a Property
-
Remove2 - Remove a Label
-
Remove3 - Persistence of remove clause side effects
-
Return1 - Return single variable (correct return of values according to their type)
-
Return2 - Return single expression (correctly projecting an expression)
-
Return3 - Return multiple expressions (if column order correct)
-
Return4 - Column renaming
-
Return5 - Implicit grouping with distinct
-
Return6 - Implicit grouping with aggregates
-
Return7 - Return all variables
-
Return8 - Return clause interoperation with other clauses
-
ReturnOrderBy1 - Order by a single variable (correct order of values according to their type)
-
ReturnOrderBy2 - Order by a single expression (order of projection)
-
ReturnOrderBy3 - Order by multiple expressions (order obey priority of expressions)
-
ReturnOrderBy4 - Order by in combination with projection
-
ReturnOrderBy5 - Order by in combination with column renaming
-
ReturnOrderBy6 - Aggregation expressions in order by
-
ReturnSkipLimit1 - Skip
-
ReturnSkipLimit2 - Limit
-
ReturnSkipLimit3 - Skip and limit
-
Set1 - Set a Property
-
Set2 - Set a Property to Null
-
Set3 - Set a Label
-
Set4 - Set all properties with a map
-
Set5 - Set multiple properties with a map
-
Set6 - Persistence of set clause side effects
-
With1 - Forward single variable
-
With2 - Forward single expression
-
With3 - Forward multiple expressions
-
With4 - Variable aliasing
-
With5 - Implicit grouping with DISTINCT
-
With6 - Implicit grouping with aggregates
-
With7 - WITH on WITH
-
WithOrderBy1 - Order by a single variable
-
WithOrderBy2 - Order by a single expression
-
WithOrderBy3 - Order by multiple expressions
-
WithOrderBy4 - Order by in combination with projection and aliasing
-
Aggregation1 - Count
-
Aggregation2 - Min and Max
-
Aggregation3 - Sum
-
Aggregation5 - Collect
-
Aggregation6 - Percentiles
-
Aggregation8 - DISTINCT
-
Boolean1 - And logical operations
-
Boolean2 - OR logical operations
-
Boolean3 - XOR logical operations
-
Boolean4 - NOT logical operations
-
Boolean5 - Interop of logical operations
-
Comparison1 - Equality
-
Comparison2 - Half-bounded Range
-
Comparison3 - Full-Bound Range
-
Comparison4 - Combination of Comparisons
-
ExistentialSubquery1 - Simple existential subquery
-
ExistentialSubquery2 - Full existential subquery
-
ExistentialSubquery3 - Nested existential subquery
-
Graph3 - Node labels
-
Graph4 - Edge relationship type
-
Graph5 - Node and edge label expressions
-
Graph6 - Static property access
-
Graph7 - Dynamic property access
-
Graph8 - Property keys function
-
Graph9 - Retrieve all properties as a property map
-
List1 - Dynamic Element Access
-
List2 - List Slicing
-
List3 - List Equality
-
List4 - List Concatenation
-
List5 - List Membership Validation - IN Operator
-
List6 - List size
-
List9 - List Tail
-
List11 - Create a list from a range
-
List12 - List Comprehension
-
Literals1 - Boolean and Null
-
Literals2 - Decimal integer
-
Literals3 - Hexadecimal integer
-
Literals4 - Octal integer
-
Literals5 - Float
-
Literals6 - String
-
Literals7 - List
-
Literals8 - Maps
-
Mathematical2 - Addition
-
Mathematical3 - Subtraction
-
Mathematical8 - Arithmetic precedence
-
Mathematical11 - Signed numbers functions
-
Mathematical13 - Square root
-
Precedence1 - On boolean values
-
Precedence2 - On numeric values
-
Precedence3 - On list values
-
Precedence4 - On null value
-
Quantifier1 - None quantifier
-
Quantifier2 - Single quantifier
-
Quantifier3 - Any quantifier
-
Quantifier4 - All quantifier
-
Quantifier5 - None quantifier interop
-
Quantifier6 - Single quantifier interop
-
Quantifier7 - Any quantifier interop
-
Quantifier8 - All quantifier interop
-
Quantifier9 - None quantifier invariants
-
Quantifier10 - Single quantifier invariants
-
Quantifier11 - Any quantifier invariants
-
Quantifier12 - All quantifier invariants
-
String1 - Substring extraction
-
String3 - String Reversal
-
String4 - String Splitting
-
String8 - Exact String Prefix Search
-
String9 - Exact String Suffix Search
-
String10 - Exact Substring Search
-
String11 - Combining Exact String Search
-
Temporal1 - Create Temporal Values from a Map
-
Temporal2 - Create Temporal Values from a String
-
Temporal3 - Project Temporal Values from other Temporal Values
-
Temporal4 - Store Temporal Values
-
Temporal5 - Access Components of Temporal Values
-
Temporal6 - Render Temporal Values as a String
-
Temporal7 - Compare Temporal Values
-
Temporal8 - Compute Arithmetic Operations on Temporal Values
-
Temporal9 - Truncate Temporal Values
-
Temporal10 - Compute Durations Between two Temporal Values