PROYECTO
BASES DE DATOS 2
INTEGRANTES:
Georgina Akel
Andrea Linares
Kevin Da Silva
Gabriel Brito
Francisco Marcano
Gabriel Martinez
ÍNDICE
OBJETIVO
TECNOLOGÍAS USADAS
BÚSQUEDA DEL DATASET
MODELO DE DATOS
MÉTODOS DE DISEÑO DE DATOS
CONCLUSIONES
OBJETIVOS DEL PROYECTO
Trabajar con un sistema de persistencia
políglota, las cuales son Firebase y Neo4j
Crear una plataforma cómoda para el usuario,
donde pueda adentrarse al mundo de la lectura
con recomendaciones y búsquedas de libros.
Comprender el manejo de bases de datos
políglotas y su uso en la vida real.
¿QUÉ TECNOLOGÍAS USAMOS?
VERCEL
FIREBASE NEO4J
Hosting proyecto
Relaciones clases del
Regirstro de usuarios
proyecto
Vercel es una
Base de datos en la Neo4j es un software libre plataforma en la nube
nube que permite el de Base de datos, los cuales que permite a desplegar,
registro de usuarios de están orientados a forma de gestionar y escalar sus
nuestra página. grafos aplicaciones y sitios web.
OPEN LIBRARY GITHUB REACT
Lista de libros
Trabajo colaborativo Front-end
Página con millones de
Repositorio donde se hizo Es una de las bibliotecas
libros que usamos para JavaScript más populares
desplegar la variedad a posible el trabajo
entre los desarrolladores
través de una API colaborativo en un
Front End, programadores y
proyecto de React
testers de software.
¿DONDE CONSEGUIMOS EL DATASET?
Conseguimos el dataset utilizando la API pública de Open Library.
HTTPS://[Link]/[Link]
MODELO DE
DATOS
Para NEO4J
Los datos se representan como un
conjunto de nodos (entidades) y
relaciones (conexiones) entre esos
nodos, su modelo de datos son grafos.
En nuestro proyecto, tenemos dos
relaciones, LIKES_IT y LIVES_IN,
Nodos
Country
User Book
MÉTODOS DE DISEÑO DE DATOS
Para NEO4J
Aristas(relaciones):
(User)-[ :LIVES_IN ]----->
(Country)
(User)-[ :LIKES_IT ]-----> (Book)
Relaciones
Lives_in Likes_it
IMPLEMENTACIÓN
// Busca un usuario por su email y sus libros favoritos
MATCH (u:User {email: $email})-[:LIKES_IT]->(b:Book)
// Recopila autores y títulos de libros favoritos en variables
WITH collect([Link]) AS likedAuthors, collect([Link]) AS likedBookTitles
// Recorre la lista de autores favoritos
UNWIND likedAuthors AS author
// Busca otros libros del mismo autor, pero no los ya leídos
MATCH (b2:Book) WHERE [Link] = author AND NOT [Link] IN likedBookTitles
// Devuelve información de los libros recomendados
RETURN [Link] AS title, [Link] AS author, [Link] AS publishedYear, [Link] AS coverUrl
CONCLUSIONES
APRENDIZAJE DE INTERPRETACIÓN DE CONEXIÓN DE
NUEVAS “ME GUSTA” CON VARIAS BASES DE
TECNOLOGÍAS NEO4J Y SUS NODOS DATOS
Existen programas de los que poco Los modelos basados en grafos Evitamos el limite de usos por
hemos escuchado pero que su uso tienen la ventaja de sintetizar y programa implementando lo mejor
puede ser de gran ayuda al detectar las relaciones que se de cada uno.
momento de desarrollar un producen dentro de grandes
proyecto. conjuntos de variables aleatorias.