Inicio rápido en 30 segundos
La probada más rápida posible de NamiDB. Efímero, en proceso, sin setup.
Instalar
pip install namidbcargo add namidbcargo install --git https://github.com/namidb/namidb namidb-cliHola, grafo
import namidb as tg
client = tg.Client("memory://acme")
client.cypher("CREATE (a:Person {name: 'Alice'})")client.cypher("CREATE (b:Person {name: 'Bob'})")client.cypher( "MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'}) " "CREATE (a)-[:KNOWS {since: 2020}]->(b)")
result = client.cypher("MATCH (p:Person) RETURN p.name AS name")print(result.rows())# [{'name': 'Alice'}, {'name': 'Bob'}]use namidb_query::{execute, lower, parse, Params};use namidb_storage::{parse_uri, WriterSession};
#[tokio::main]async fn main() -> anyhow::Result<()> { let (store, paths) = parse_uri("memory://acme")?; let mut writer = WriterSession::open(store, paths).await?;
// ... upsert nodes / edges, then commit_batch + flush ...
let snap = writer.snapshot(); let query = parse("MATCH (a:Person) RETURN count(*) AS n")?; let plan = lower(&query)?; let rows = execute(&plan, &snap, &Params::new()).await?;
println!("{rows:?}"); Ok(())}namidb run "CREATE (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})"namidb run "MATCH (p:Person) RETURN p.name"# En una shell: arrancar el servidornamidb-server --store memory://acme --listen 127.0.0.1:8080
# En otra:curl -s -X POST http://127.0.0.1:8080/v0/cypher \ -H 'Content-Type: application/json' \ -d '{"query": "CREATE (a:Person {name: \"Alice\"}) RETURN a.name"}'Hacerlo persistente
Cambia el URI. Las mismas seis líneas de código funcionan contra cualquier backend:
client = tg.Client("file:///var/lib/namidb?ns=prod")client = tg.Client("s3://my-bucket/data?ns=prod®ion=us-east-1")client = tg.Client( "s3://my-bucket?ns=prod" "&endpoint=https://<ACCOUNT_ID>.r2.cloudflarestorage.com" "®ion=auto")client = tg.Client("gs://my-bucket/data?ns=prod")client = tg.Client("az://account/container?ns=prod")Próximos pasos
- Tu grafo en S3 — el caso de uso principal, de punta a punta.
- Elegir un despliegue — Embebido vs Servidor vs Cloud.
- Referencia de Cypher — exactamente qué Cypher / GQL entiende el motor hoy.
- Operación / Gramática de URIs — todos los backends, cada flag de query string.