Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Conocer qué es Neo4j, entender las bases de datos de grafos y cuándo es útil este tipo de base de datos.


🌐 ¿Qué es Neo4j?

Neo4j es una base de datos NoSQL especializada en grafos, que almacena datos como nodos, relaciones y propiedades en lugar de tablas o documentos.

  • Es ideal para representar redes y conexiones complejas.

  • Se usa en áreas como redes sociales, recomendaciones, detección de fraudes y más.

  • Utiliza un lenguaje propio llamado Cypher para consultar grafos.


🔎 ¿Qué es una base de datos de grafos?

  • Una base de datos que modela datos en forma de nodos (entidades) y relaciones (conexiones entre nodos).

  • Cada nodo y relación puede tener propiedades (atributos).

Ejemplo simple:

  • Nodos: Personas, Películas

  • Relaciones: «AMIGO_DE», «VIO», «RECOMENDADO_POR»


🧩 Componentes clave

Elemento Descripción Ejemplo
Nodo Entidad o punto en el grafo Persona: {nombre: "Ana"}
Relación Conexión entre dos nodos AMIGO_DE, VIO
Propiedad Información asociada a nodos o relaciones edad, fecha, duración

🔥 ¿Por qué usar Neo4j?

  • Modelar datos altamente conectados de forma natural.

  • Consultas complejas y rápidas sobre relaciones.

  • Flexible para evolucionar modelos sin esquemas rígidos.

  • Casos reales: redes sociales, recomendaciones, análisis de fraude, genealogías.


📝 Ejemplo con Cypher

Crear dos nodos y una relación:

cypher
CREATE (a:Persona {nombre: "Ana", edad: 30})
CREATE (b:Persona {nombre: "Luis", edad: 35})
CREATE (a)-[:AMIGO_DE]->(b)

Consulta todos los amigos de Ana:

cypher
MATCH (a:Persona {nombre: "Ana"})-[:AMIGO_DE]->(amigos)
RETURN amigos.nombre

🚀 Casos de uso comunes

  • Redes sociales (amigos, seguidores)

  • Recomendaciones (productos, películas)

  • Detección de fraudes (relaciones sospechosas)

  • Gestión de infraestructuras (redes eléctricas, telecom)


📝 Actividad práctica

  1. Crea dos nodos que representen dos personas y conéctalos con una relación CONOCE_A.

  2. Consulta los nodos relacionados a una persona específica.

  3. Añade propiedades extra a un nodo (ejemplo: email, ciudad).

  4. Explica con tus palabras por qué una base de datos de grafos es mejor que una relacional para redes sociales.


✅ Revisión rápida

  • ¿Qué representan los nodos en Neo4j?

  • ¿Cómo se llaman las conexiones entre nodos?

  • ¿Qué lenguaje se usa para consultas en Neo4j?

Scroll al inicio