Una base de datos de grafos almacena entidades y relaciones como elementos de primera clase. Las consultas expresan patrones y recorridos sin reconstruir cada conexión mediante largas cadenas de uniones.
Cuando las relaciones son tan importantes como los datos, el modelo de grafos ofrece una representación directa. Personas, productos, cuentas o lugares se convierten en nodos; sus vínculos se convierten en relaciones.
El objetivo no es reemplazar automáticamente una base relacional, sino elegir una estructura adecuada para consultas conectadas.
El modelo property graph contiene nodos y relaciones dirigidas. Ambos pueden poseer propiedades clave–valor.
Una relación siempre conecta dos nodos y su dirección expresa el significado del dominio.
Un nodo representa una entidad y puede tener etiquetas como Persona, Producto o Empresa.
{
etiquetas: ["Persona"],
propiedades: { id: 17, nombre: "Ana", ciudad: "Córdoba" }
}Las etiquetas ayudan a clasificar, consultar e indexar nodos.
El tipo de relación forma parte de la estructura: CONOCE, TRABAJA_EN, COMPRÓ o PERTENECE_A.
Las propiedades de la relación describen el vínculo, no a ninguno de sus extremos.
Las relaciones se almacenan con dirección, aunque una consulta puede recorrerlas en ambos sentidos.
A SIGUE_A B no equivale a B SIGUE_A A. Una relación conceptualmente simétrica como amistad puede modelarse con una sola arista y consultarse sin dirección.
Ejecuta consultas sobre el grafo. Los elementos devueltos se iluminan y el panel muestra una expresión equivalente en Cypher.
Consulta
Resultados
Explicación
Una consulta describe la forma que deben tener los datos. Las variables representan nodos y relaciones que satisfacen el patrón.
MATCH (p:Persona)-[:TRABAJA_EN]->(e:Empresa)
WHERE e.nombre = "Acme"
RETURN p.nombreEl patrón se parece al diagrama que queremos encontrar.
Los cuantificadores permiten buscar cadenas con varias relaciones.
MATCH (ana:Persona {nombre: "Ana"})
-[:CONOCE*1..3]->(contacto:Persona)
RETURN DISTINCT contactoDebe limitarse la longitud cuando el dominio lo permita, porque el número de caminos puede crecer muy rápido.
Muchas bases de grafos ofrecen funciones o procedimientos para caminos mínimos. La consulta debe definir tipos, dirección y costos pertinentes.
Un camino con menos saltos no necesariamente minimiza distancia, tiempo o riesgo si las relaciones tienen pesos.
| Aspecto | Relacional | Grafo |
|---|---|---|
| Entidades | Filas | Nodos |
| Relaciones | Claves y tablas intermedias | Relaciones explícitas |
| Consulta conectada | JOIN sucesivos | Recorrido de patrones |
| Fortaleza habitual | Agregaciones tabulares | Relaciones de profundidad variable |
Ambos modelos pueden complementarse dentro de una arquitectura.
Un buen modelo comienza con las preguntas frecuentes. Una entidad puede representarse como nodo o como propiedad según cómo necesitemos conectarla y consultarla.
Los índices ayudan a localizar rápidamente los nodos iniciales mediante propiedades como identificador, correo o código.
Después de encontrar el punto de entrada, el motor recorre relaciones. Un índice no sustituye un buen patrón ni acelera automáticamente una expansión combinatoria.
Las restricciones protegen reglas como unicidad y existencia de propiedades. Por ejemplo, cada Persona puede requerir un identificador único.
La estructura flexible no significa ausencia de esquema: el esquema puede emerger de etiquetas, tipos, restricciones y convenciones.
Las actualizaciones relacionadas deben ejecutarse atómicamente. Crear una compra puede implicar un nodo, varias relaciones y modificaciones de inventario.
Las garantías transaccionales dependen del producto, pero la aplicación debe definir con claridad los límites de consistencia.
El plan muestra cómo se localizan nodos, se expanden relaciones, se filtran resultados y se realizan agregaciones.
Una consulta lenta puede empezar desde demasiados nodos, recorrer tipos irrelevantes o construir todos los caminos cuando solo necesita verificar existencia.
Un supernodo tiene una cantidad extraordinaria de relaciones. Expandir todas puede dominar el costo de una consulta.
Conviene filtrar por tipo, dirección, fecha u otras propiedades; en algunos dominios también se crean nodos intermedios para particionar relaciones.
RDF representa hechos como triples sujeto–predicado–objeto y favorece interoperabilidad semántica. El grafo de propiedades asigna propiedades directamente a nodos y relaciones.
No son intercambiables en todos los detalles. La elección depende del modelo, las consultas y los estándares necesarios.
Las bases de datos de grafos acercan la representación almacenada a las relaciones del dominio. Su ventaja aparece cuando las consultas recorren conexiones variables y los vínculos necesitan identidad propia.
En el próximo tema estudiaremos grafos en motores de búsqueda, desde enlaces entre páginas hasta índices invertidos y ranking.