ArangoDB
A RocketRide graph database node that translates questions into validated AQL for ArangoDB; choose it for an ArangoDB multi-model database rather than a Cypher graph service.
About ArangoDB
ArangoDB is a database designed to work with document and graph data. It supports AQL for querying documents, edges, graphs, and search views through one database interface.
What it does
The node reflects collections, named graphs, and ArangoSearch views, then uses its required LLM connection to build read-only AQL from a question. It can run in a pipeline or as an agent tool. Generated AQL is checked with EXPLAIN, which rejects plans containing data-modification nodes; choose it over graph_falkordb when the data is in ArangoDB and AQL is the target query language.
Connections
| Connection | Required | Description |
|---|---|---|
llm | yes | LLM used to craft AQL from a question. |
Lanes
| Lane in | Lane out | Description |
|---|---|---|
questions | table | Emits a Markdown table result. |
questions | text | Emits a text result. |
questions | answers | Emits the answer result. |
As a tool
The registered tool names are the bare method names get_data, get_schema, and get_aql; an agent catalog namespaces them by the pipeline component id, not by the services.json prefix.
| Function | Description |
|---|---|
get_data | Requires a non-empty question; optional limit is clamped. Returns rows, executed AQL, and the applied row limit, or an error with empty rows. |
get_schema | Accepts an optional collection filter and returns the database, collections, graphs, and views. An unknown collection returns error. |
get_aql | Requires a non-empty question; returns a validated read-only AQL query and valid: true, or error/answer with valid: false. |
Configuration
Configure the endpoint, database, credentials, and an accurate database description before using natural-language queries. The description and reflected schema are provided to the LLM, so improve it when generated AQL targets the wrong collections or relationships.
Database description and validation attempts
db_description gives the LLM domain context. Start with a concise explanation of the collections and relationships, then add detail if retries produce invalid AQL. max_attempts defaults to five and controls re-generation after EXPLAIN rejects a query; raise it for a difficult schema only if the connected LLM needs more repair attempts.
Result limits and direct execution
max_execute_rows caps raw QuestionType.EXECUTE results; a query above the cap fails rather than streaming unbounded rows. allow_execute is false by default. Enable it only for a trusted caller, because that path runs raw AQL without LLM translation or the normal read-only gate.
Authentication
The default userpass method uses user and password; a blank user falls back to root. The token method passes the configured bearer/JWT token to the ArangoDB client. Startup verifies the configured database and performs a RETURN 1 probe, so connection and permission failures surface before processing questions.
Limitations
The node declares noremote, so it is intended for a deployment that can directly reach its ArangoDB endpoint. Normal natural-language and tool queries are read-only; direct execution is a separate trusted-caller option and must be explicitly enabled.
Notes
Pipeline question types
QuestionType.DIALECT emits {"dialect": "arango"} on answers. QuestionType.EXECUTE is rejected with a warning until allow_execute is enabled; when enabled, it may report affected_rows for writes that return no rows.
Upstream docs
Schema
| Field | Type | Description | Default |
|---|---|---|---|
arangodb.allow_execute | boolean | Allow direct query execution Permit QuestionType.EXECUTE callers to run raw AQL without LLM translation or safety checks. Leave OFF unless a trusted application explicitly needs to issue AQL directly. | false |
arangodb.auth_method | string | Authentication | "userpass" |
arangodb.database | string | Database name Name of the ArangoDB database to query. '_system' is the built-in default — point this at your application database. | "_system" |
arangodb.db_description | string | Database description What is this database used for? Describe its collections, graphs and domain — this helps the LLM generate more accurate AQL queries. | "" |
arangodb.endpoint | string | Connection endpoint HTTP(S) endpoint for the ArangoDB server. Use http://host:8529 for self-host/Docker, or https:// | "http://localhost:8529" |
arangodb.max_attempts | integer | Max validation attempts Maximum number of times to re-ask the LLM if EXPLAIN rejects the generated AQL query | 5 |
arangodb.max_execute_rows | integer | Max result rows Maximum number of rows returned by a query. Also caps the raw EXECUTE path; a query that exceeds it fails rather than streaming unbounded results. | 25000 |
arangodb.password | string | Password Password to authenticate with the ArangoDB instance. | |
arangodb.profile | string | "default" | |
arangodb.token | string | Bearer token JWT bearer token for token-based authentication (e.g. ArangoGraph cloud). | |
arangodb.user | string | User Username to authenticate with ArangoDB. Defaults to 'root'. | "root" |
Dependencies
python-arango