Está en la página 1de 3

Caso de Uso NoSQL, Exploración de Neo4J:

Chile
Luis Alfonso Heredia Sandoval
Maestría en software, cohorte II
Universidad Técnica de Machala
Machala, Ecuador
lheredia2@utmachala.edu.ec

Resumen—Las bases de datos NoSQL surgieron como una subconjuntos de la implementación del gráfico de propiedades.
alternativa de solución a problemas no resueltos eficientemente Esto significa que un gráfico de propiedades puede modelar
por las tradicionales bases de datos relacionales. Sin embargo, eficazmente todos los demás tipos de gráficos. La base de datos de
el término NoSQL abarca diferentes tipos de bases de datos, grafos está optimizada para el procesamiento eficiente de
cada uno con sus características intrínsecas que le confieren un conjuntos de datos densos e interrelacionados [3]. Este diseño
comportamiento más o menos apropiado para diferentes permite la construcción de predicciones modelos y detección de
escenarios de aplicación. Las bases de datos de grafos se correlaciones y patrones [4]. Este modelo de datos altamente
encuentran dentro de esa gran y variada familia de bases de dinámico en el que todos los nodos están conectados por las
datos. relaciones permiten recorridos rápidos a lo largo de los bordes
entre vértices. Un beneficio particular es el hecho de que los
Palabras Claves— Neo4J, Pandora Papers, NoSql recorridos son localizados y no tienen que tener en cuenta
conjuntos de datos no relacionados. Un problema inherente a SQL
[2].

I. INTRODUCCIÓN

El modelo de base de datos relacional existe desde finales de la


década de 1960 [1]. Se ha demostrado que proporciona persistencia
de forma constante, control de concurrencia y mecanismos de
integración. Las bases de datos relacionales mantienen tablas
definidas por conjuntos de filas y columnas. Una fila puede
percibirse como un objeto, mientras que las columnas serían
atributos / propiedades de esos objetos [2]. Una de las debilidades
del modelo relacional es su capacidad limitada para capturar
explícitamente la semántica de requisitos[2]. Problemas de big data Figura 1 - Modelo de gráfico de propiedades
que involucran información compleja interconectada se han vuelto
cada vez más comunes en las ciencias. Almacenamiento,
recuperación y manipulación de datos tan complejos se vuelve
oneroso cuando se utilizan enfoques RDBMS tradicionales.
II. MARCO TEÓRICO
Modelos de datos basados ​en esquemas por su propia definición A. Neo4j
establece límites sobre cómo se almacenará la información. Hay un Neo4j es una base de datos orientada a grafos escrita en
proceso manual complicado para rediseñar el esquema para Java, es decir la información se almacena de forma
adaptarse a los nuevos datos. Donde el RDBMS está optimizado relacionada formando un grafo dirigido entre los nodos y las
para datos agregados, bases de datos de gráficos como Neo4j está relaciones entre ellos. Se integra perfectamente con
optimizado para datos altamente conectados. múltiples lenguajes como Java, PHP, Ruby, .Net, Python,
Node, Scala, etc. La base de datos está embebida en un
Un gráfico es una estructura de datos compuesta por aristas y servidor Jetty. Está especialmente indicada para modelar
vértices[3]. La tecnología de base de datos de gráficos es una
herramienta eficaz para modelar datos cuando un enfoque en la redes sociales y sistemas de recomendación [5].
relación entre entidades es una fuerza impulsora en el diseño de un En Neo4j, la información se organiza como nodos,
modelo de datos [4]. Modelando los objetos y las relaciones entre
relaciones y propiedades [6].
ellos significan que casi cualquier cosa se puede representar en un
gráfico correspondiente. Un gráfico común que es admitido por la
mayoría de los sistemas es el gráfico de propiedades. Los gráficos
de propiedades son gráficos múltiples atribuidos, etiquetados y
dirigidos [3].

La Figura 1 proporciona un ejemplo visual de un gráfico de


propiedad que representa interacciones entre personas y objetos.
Un beneficio para el gráfico múltiple es que es la implementación
más compleja, porque cualquier otro tipo de gráfico consta de
de 600 periodistas de 150 medios de comunicación en 117
países.
La investigación se basa en una filtración de registros
confidenciales de 14 proveedores de servicios
extraterritoriales que brindan servicios profesionales a
personas y corporaciones adineradas que buscan incorporar
compañías fantasmas, fideicomisos, fundaciones y otras
entidades en jurisdicciones con impuestos bajos o nulos. Las
entidades permiten a los propietarios ocultar sus identidades
Figura 2 - Bloques de construcción del modelo de gráfico de al público y, a veces, a los reguladores. A menudo, los
propiedades
proveedores les ayudan a abrir cuentas bancarias en países
con una regulación financiera ligera.
Los nodos son las entidades del gráfico. Los 2,94 terabytes de datos, filtrados al ICIJ y
● Los nodos se pueden etiquetar con etiquetas, que compartidos con socios de medios de todo el mundo,
representan sus diferentes roles en su dominio. (Por llegaron en varios formatos: documentos, imágenes, correos
ejemplo, Person). electrónicos, hojas de cálculo y más[8].
● Los nodos pueden contener cualquier número de
pares clave-valor o propiedades. (Por ejemplo, III. DESARROLLO Y RESULTADOS
name)
● Las etiquetas de nodo también pueden adjuntar Para este ejemplo práctico de la exploración de datos de
metadatos (como información de índice o los Pandora Papers, partimos de la creación de un “blank
restricción) a ciertos nodos. sandbox”

Las relaciones proporcionan conexiones dirigidas, con


nombre, entre dos entidades de nodo (por ejemplo, Persona
LOVES Persona).
● Las relaciones siempre tienen una dirección, un
tipo, un nodo inicial y un nodo final, y pueden
tener propiedades, al igual que los nodos.
● Los nodos pueden tener cualquier número o tipo de
relaciones sin sacrificar el rendimiento.
● Aunque las relaciones siempre están dirigidas , se
pueden navegar de manera eficiente en cualquier Figura 3 - Creación de Proyecto Sandbox en blanco
dirección.
Una vez abierto nuestro proyecto ejecutaremos los
B. Lenguaje Cypher comandos de script
Cypher es un lenguaje declarativo para trabajar con https://gist.githubusercontent.com/jexp/8afb65325bf99014c
grafos. Permite crear la estructura de un grafo, nodos y 8 de68a9511a549b/raw/ para la importación de datos.
relaciones así como realizar consultas filtrando con
argumentos, ordenar, etc. El modelo de datos del pandora papers esta estructura de
la siguiente manera:
Cypher fue creado originalmente por Neo Technology
para su base de datos gráfica Neo4j. Neo4j admite
operaciones de recorrido de gráficos muy complejas, el
lenguaje de consulta Cypher hace que sea bastante fácil
consultar datos de la base de datos. Cypher contiene una
variedad de cláusulas. Entre los más comunes se encuentran:
MATCH y WHERE. Estas funciones son ligeramente
diferentes a las de SQL. MATCH se utiliza para describir la
estructura del patrón buscado, principalmente en función de
las relaciones. WHERE se usa para agregar restricciones
adicionales a los patrones. Cypher también contiene
cláusulas para escribir, actualizar y eliminar datos. CREAR
y ELIMINAR se utilizan para crear y eliminar nodos y Figura 4 - Modelo de datos de Pandora Papers
relaciones[7].

C. Pandora Papers
La investigación de Pandora Papers es la colaboración
periodística más grande del mundo, en la que participan más
Dónde están los elementos: Las bases de datos de grafos generan oportunidades para
manejar la información receptada para estudio de datos e
● Entity: empresa fantasma o construcción offshore
identificación de patrones generalmente es una nueva forma
● Intermediary: bufete de abogados o banco que de modelar y atravesar datos monumentales porciones de
ayudó a crear y administrar la empresa fantasma.
información de forma diligente y eficiente. Los sistemas de
● Officer: apoderado o propietarios / accionistas /
producción desarrollados en Neo4j usan GDB y tienen la
directores reales de una empresa fantasma
posibilidad de abordar los inconvenientes sin tener que
● Address: direcciones registradas para las entidades
anteriores llevar a cabo o recurrir a las bases de datos relacionales
RDBMS. La base de datos gráfica tiene una aplicación
natural para biológicos, sistemas semánticos, de red y de
Mostrar todos los propietarios cuyo país sea Chile
recomendación que necesitan el tipo de modelo de datos que
solo ellos tienen la posibilidad de dar.
MATCH (o:Officer) WHERE o.country CONTAINS
"Chile" RETURN o En conclusión poseemos que la aplicación Neo4j nos
permitió hacer desarrollar el presente trabajo con un
lenguaje nativo bastante comprensible para el cliente y su
representación es tan clara que de manera directa es leíble y
simple de interrogar, nos posibilita llevar a cabo consultas
referidas a la composición en grafo así sea en su recorrido y
adyacencia, debido a que gracias al uso de algoritmos
basados tienen la posibilidad de hacer las búsquedas de
manera descriptiva.
Figura 5 - Mostrar todos los propietarios cuyo país sea
REFERENCIAS
Chile
[1] E. F. Codd, “A Relational Model of Data for Large
Shared Data Banks,” in Software Pioneers:
Mostrar todas las empresas fantasmas del presidente de Contributions to Software Engineering, M. Broy and
Chile, Sebastián Piñera. E. Denert, Eds. Berlin, Heidelberg: Springer Berlin
Heidelberg, 2002, pp. 263–294.
[2] S. Sakr and E. Pardede, Graph Data Management:
MATCH (o:Officer)-[rel]->(e:Entity) where o.name Techniques and Applications, 1st ed. Hershey, PA:
contains "Sebastián Piñera" RETURN o,rel,e Information Science Reference - Imprint of: IGI
Publishing, 2011.
[3] M. A. Rodriguez and P. Neubauer, “Constructions
from dots and lines,” Bull. Am. Soc. Inf. Sci., vol. 36,
no. 6, pp. 35–41, Aug. 2010.
[4] A. Jain and A. Dubey, “Graph Database using Data
Crawling,” in 2020 IEEE Pune Section International
Conference (PuneCon), Dec. 2020, pp. 17–21.
[5] J. A. Ramos, “Primeros pasos con Neo4j,” Jul. 07,
2014.
https://www.adictosaltrabajo.com/2014/07/07/neo4j-fi
rst-steps/ (accessed Dec. 05, 2021).
[6] “What is a graph database?”
https://neo4j.com/developer/graph-database/ (accessed
Dec. 05, 2021).
Figura 6 - Mostrar todas las empresas fantasmas del [7] H. Lu, Z. Hong, and M. Shi, “Analysis of film data
presidente de Chile, Sebastián Piñera based on Neo4j,” in 2017 IEEE/ACIS 16th
International Conference on Computer and
Information Science (ICIS), May 2017, pp. 675–677.
IV. CONCLUSIONES [8] E. Díaz-Struck et al., “Pandora Papers: An offshore
data tsunami,” Oct. 03, 2021.
En un primer vistazo hemos podido ver cómo funciona https://www.icij.org/investigations/pandora-papers/ab
Neo4j, las consultas a través del lenguaje Cypher. out-pandora-papers-leak-dataset/ (accessed Dec. 05,
2021).

También podría gustarte