Saltearse al contenido

CLI

La herramienta de línea de comandos namidb envuelve al motor para trabajo ad-hoc de queries: parse, explain, run — contra cualquier backend de almacenamiento soportado.

Instalar

Desde el código fuente:

Ventana de terminal
git clone https://github.com/namidb/namidb.git
cd namidb
cargo install --path crates/namidb-cli

El binario namidb resultante no necesita ningún daemon. Sin --store, levanta un namespace efímero en memoria para trabajo de una sola vez. Con --store <uri>, abre un namespace durable en cualquier backend soportado.

Subcomandos

namidb run

Ejecuta una query Cypher.

Ventana de terminal
# Efímero, en memoria
namidb run "CREATE (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})"
namidb run "MATCH (p:Person) RETURN p.name"
# Persistente — se acepta cualquier esquema de URI
namidb run --store "file:///var/lib/namidb?ns=prod" \
"CREATE (a:Person {name: 'Alice'})"
namidb run --store "s3://my-bucket?ns=prod&region=us-west-2" \
"MATCH (p:Person) RETURN count(*) AS n"
namidb run --store "gs://my-bucket?ns=prod" \
"MATCH (p:Person) RETURN count(*) AS n"
namidb run --store "az://acct/container?ns=prod" \
"MATCH (p:Person) RETURN count(*) AS n"

namidb explain

Muestra el plan lógico optimizado con anotaciones de costo / selectividad.

Ventana de terminal
namidb explain \
"MATCH (a:Person)-[:KNOWS]->(b) RETURN b LIMIT 20"
# Árbol completo de operadores físicos
namidb explain --verbose \
"MATCH (a:Person)-[:KNOWS]->(b) RETURN b ORDER BY b.id LIMIT 20"

namidb parse

Muestra la forma canónica de una query (round-trip lexer + parser). Útil para debuggear sorpresas de gramática.

Ventana de terminal
namidb parse \
"MATCH (a:Person)-[:KNOWS]->(b:Person) RETURN b.name LIMIT 5"

Gramática de URIs

La gramática completa de URIs — incluyendo overrides de endpoint para R2 / MinIO / LocalStack, paths de service-account de GCS y modo emulador de Azure — está documentada en Operación / Gramática de URIs.

Salida

La salida por defecto es una tabla legible. El modo JSON está en el roadmap.

$ namidb run "MATCH (p:Person) RETURN p.name AS name, p.age AS age LIMIT 3"
┌────────┬─────┐
│ name │ age │
├────────┼─────┤
│ Alice │ 30 │
│ Bob │ 25 │
│ Carol │ 41 │
└────────┴─────┘
3 rows · 12 ms

Ver también