TurboLynx CLI โ Overview
The turbolynx binary is the all-in-one command-line interface for TurboLynx.
It exposes two subcommands:
| Subcommand | Description |
|---|---|
turbolynx shell |
Interactive Cypher query shell (default) |
turbolynx import |
Bulk-load graph data from CSV files |
Build instructions live in the installation guide. Native binaries are platform-specific: Linux fast-path builds produce ./build/tools/turbolynx, while the portable Linux/macOS build produces ./build-portable/tools/turbolynx.
The native shell can execute both read and write Cypher queries. CREATE, SET, DELETE, DETACH DELETE, and basic node MERGE go through the same mutation path used by the C API and Python API.
Starting the Shell
If no subcommand is given, shell is assumed:
The shell opens an interactive REPL:
Shell Options
| Flag | Short | Description |
|---|---|---|
--workspace <path> |
-w |
Path to the database directory (required) |
--query <string> |
-q |
Execute a single query and exit (non-interactive) |
--mode <name> |
-m |
Set output format at startup (see Output Formats) |
--iterations <n> |
-i |
Repeat each query N times (benchmarking) |
--warmup |
Discard the first iteration from timing statistics | |
--profile |
Enable query profiling | |
--explain |
Print the selected physical plan (no execution) | |
--compile-only |
-c |
Parse and plan without executing |
--standalone |
-S |
Accepted for compatibility; currently has no effect in the native CLI |
--log-level <level> |
-L |
Logging verbosity (trace, debug, info, warn, error) |
Running a file of queries. There is no
--query-fileflag yet. To execute a script of Cypher statements, start the shell and use the.read <file>dot command, which runs each statement in the file in order.Toggling profile / explain at runtime.
--profilecan be turned on and off inside an interactive session with.profile on/.profile off. Explain mode currently has no dot-command equivalent โ to switch in and out of explain, restart the shell with or without--explain.
Join Order Options
| Flag | Description |
|---|---|
--join-order-optimizer <type> |
query ยท greedy ยท exhaustive ยท exhaustive2 ยท gem |
--index-join-only |
Force index nested-loop join |
--hash-join-only |
Force hash join |
--merge-join-only |
Force merge join |
--disable-merge-join |
Disable merge join |
--disable-index-join |
Disable index join |
--debug-orca |
Print ORCA optimizer debug output |
Non-Interactive Mode
Run a single query and write results to stdout:
Combine with --mode to control output format:
turbolynx shell --workspace /path/to/db \
--mode csv \
--query "MATCH (n:Person) RETURN n.firstName, n.lastName;"
Entering Queries
- Cypher queries must end with a semicolon (
;). - Multi-line input is supported โ the shell continues reading until it finds
;. - Dot commands (
.mode,.tables, etc.) do not require a semicolon.
Keyboard Shortcuts
| Key | Action |
|---|---|
Tab |
Autocomplete dot commands, Cypher keywords, labels, and edge types |
Ctrl+D |
Exit the shell (EOF) |
Ctrl+L |
Clear the screen |
โ / โ |
Navigate command history |
Exiting
Or press Ctrl+D.
Import Subcommand
See Data Import for full import documentation.
turbolynx import \
--workspace /path/to/db \
--nodes Person dynamic/Person.csv \
--relationships KNOWS dynamic/Person_knows_Person.csv
| Flag | Description |
|---|---|
--workspace <path> |
Output database directory |
--nodes <label> <file> |
Vertex CSV file (repeatable) |
--relationships <type> <file> |
Edge CSV file (repeatable) |
--incremental <true\|false> |
Append edges to existing database |
--skip-histogram |
Skip histogram generation after load |
--log-level <level> |
Logging verbosity |