Importar datos a Neo4J

Importar datos a Neo4J

de Lorena Etcheverry -
Número de respuestas: 3

Hola!

dado que hay varios grupos que se plantean importar datos desde csv u otros formatos a Neo4J, y que recuerdo que hay diferentes estrategias para hacerlo, les invito a compartir sus experiencias en este hilo.

A medida que prueben estrategias y herramientas distintas estaría bueno compartir y colectivizar acá.

saludos!

Lorena

En respuesta a Lorena Etcheverry

Re: Importar datos a Neo4J

de Martin Giachino -
Una coincidencia en todos los grupos del año pasado fue, que para cargar archivos de datos "pequeños" utilizando el comando (nativo de Neo4j) de Cypher LOAD CSV funcionaba razonablemente bien, pero para archivos grandes demoraba mucho, o incluso colapsaba por falta de memoria.

La estrategia en esos casos fue por ejemplo tomar los CSV y agregarlos de forma programática e individual, usando pandas y el coenctor propio de python para neo4j.

Por ejeplo, acá encontrarán un ejemplo de dos archivos .py en donde ellos cargaban los CSV's que con LOAD CSV no podían.

Martín
En respuesta a Martin Giachino

Re: Importar datos a Neo4J

de Martin Giachino -
Otro dato adicional, para quienes tengan datasets grandes, y quieran trabajar en la nube (no chequié si esto ahora mismo se mantiene):

El servicio AuraDB 2 que permite hasta 50000 nodos en su plan gratis.
En respuesta a Lorena Etcheverry

Re: Importar datos a Neo4J

de Bruno Alberto Szilagyi Ibarra -

Buenas! 
Comparto la estrategia que estamos usando para cargar nodos en AuraDB. 
Levantar el CSV en python, y convertir cada fila a un mapa de propiedades (Nosotros por ejemplo tenemos una clase jugador con una operación toMap()). 
Luego que tenemos la lista de mapas, se puede abrir una sesión con el driver de neo4j e insertar todos los nodos en la misma transacción. 

Snippet de query:
"UNWIND $players_map as map "
"CREATE (p:Player) "
"SET p = map "
"RETURN p"


Con esta estrategia pudimos insertar 60mil jugadores en 15-20 segundos.


PD: Hoy (06/2023) el límite de cantidad de nodos para el gratuito está en 200 mil.