Ir al contenido
learn

LadybugDB — Misión

El curso de DuckDB responde a preguntas sobre filas: cuántas ejecuciones, cuánto tiempo, qué step. Otras preguntas sobre este sitio tratan de conexiones. ¿Cuántos clics hay desde la página de inicio hasta una lección? ¿Qué archivos cambian juntos? ¿Sobre qué commits se ejecutó un workflow que falló? En SQL, cada una de ellas es una cadena de self-joins, o una CTE recursiva cuya profundidad tengo que adivinar.

Una base de datos de grafos almacena las propias conexiones, y su lenguaje de consulta describe los caminos directamente. LadybugDB es una que se ejecuta dentro de tu proceso, como DuckDB y SQLite: sin servidor que instalar.

Conoces SQL: SELECT, JOIN, GROUP BY, quizá una CTE recursiva. Escribes C# o Java. No necesitas saber nada de bases de datos de grafos ni de Cypher.

Tablas de grafos de SQL Server Neo4j LadybugDB
Se ejecuta como un servidor como un servidor dentro de tu proceso
Esquema tablas creadas AS NODE y AS EDGE opcional: las etiquetas y las propiedades aparecen cuando las escribes obligatorio: tablas de nodos y tablas de relaciones, con columnas tipadas
Lenguaje de consulta T-SQL con MATCH Cypher Cypher
Caminos de cualquier longitud SHORTEST_PATH patrones de longitud variable patrones de longitud variable, caminos más cortos
Desde .NET Microsoft.Data.SqlClient driver .NET de Neo4j paquete NuGet LadybugDB
Desde Java driver JDBC driver Java de Neo4j paquete Maven com.ladybugdb:lbug

Fuentes: arquitectura de SQL Graph, manual de Cypher de Neo4j, diferencias entre LadybugDB y Neo4j.

LadybugDB se llamaba antes Kuzu. Los autores de Kuzu archivaron su repositorio; LadybugDB continúa el código base bajo la licencia MIT, con nombres nuevos: la CLI es lbug, y la documentación nombra los archivos de base de datos .lbdb.

code/ladybugdb/data/extract.py lee este repositorio en el commit cbcbb42 (2026-09-14) y escribe seis archivos CSV en code/ladybugdb/data:

  • pages.csv: las 319 páginas del sitio (117 en inglés, 101 en francés, 101 en español), con su locale, su curso, su título y su número de líneas;
  • links.csv: los 712 enlaces de una página del sitio a otra, encontrados en enlaces Markdown y atributos href fuera de los bloques de código;
  • external_links.csv: los 3.712 enlaces a otros 85 sitios;
  • commits.csv, parents.csv y changes.csv: los 74 commits hasta cbcbb42, el padre de cada uno, y los 1.019 cambios que hicieron en 710 archivos.

La lección 4 añade las 125 ejecuciones de CI de code/duckdb/data/runs.json, la instantánea que consulta el curso de DuckDB.

Las lecciones 5 y 6 consultan otro repositorio: los proyectos .NET de GuitarAlchemist/ga en el commit a26a7893, extraídos por code/ladybugdb/data/ga/extract.py: 111 proyectos, 266 referencias de proyecto y 478 referencias de paquete.

  • modelar datos como tablas de nodos y tablas de relaciones, y consultarlos con patrones de Cypher;
  • cargar archivos CSV y JSON, y encontrar las filas que no encajan en el esquema;
  • escribir caminos de longitud variable y caminos más cortos, y conocer la semántica de caminos que usan;
  • reconocer los bugs y los límites de LadybugDB, y comprobar un resultado de otra manera;
  • usar LadybugDB desde C# y desde Java.
# Lección Si conoces SQL
1 Un primer grafo: tablas, CREATE, MATCH, MERGE CREATE TABLE, INSERT, MERGE, JOIN
2 Cargar archivos: LOAD FROM, COPY, advertencias OPENROWSET, BULK INSERT
3 Caminos: longitud variable y caminos más cortos CTE recursivas
4 El historial de Git y las ejecuciones de CI como grafo self-joins, tablas intermedias
5 LadybugDB desde C# ADO.NET
6 LadybugDB desde Java JDBC
7 Algoritmos de grafos y búsqueda de texto completo índices de texto completo, CONTAINSTABLE
8 Persistencia, transacciones y concurrencia aislamiento, bloqueos, el registro de transacciones
9 Un laboratorio de grafos: traducciones, ciclos de prerrequisitos, alcanzabilidad acotada datos de prueba, una CTE recursiva acotada
— Diario