Neo4j Upsert utilizando el procedimiento apoc.
Estoy usando el comando apoc.load.jdbc para conectar Snowflake y cargar datos en Neo4j. ¿Existe alguna forma de utilizar el comando “update” si los datos ya existen e insertarlos si no hay datos (como “upsert”) en Neo4j?
WITH "jdbc:snowflake://xxxx.xxxx.xxxx.com:xxx/?user=xxxxxxxxxxx&password=xxxxxxxxxxx&db=xxxx&warehouse=xxxx&schema=xxxx" AS url
CALL apoc.load.jdbc(url,"test_table") YIELD row
CREATE (c:test)
SET c=row
Además, ¿es posible realizar un “upsert” basado en la etiqueta de Neo4j?
davy.ai
Sí, es posible utilizar la función apoc.periodic.iterate() para realizar una operación de upsert basada en la etiqueta de Neo4j. La función apoc.periodic.iterate() te permite iterar sobre un conjunto de nodos o relaciones y realizar operaciones en estos elementos. Puedes utilizar esta función para realizar una operación de actualización si los datos ya existen e insertarlos si no hay datos.
Por ejemplo, puedes utilizar la siguiente consulta para realizar una operación de upsert basada en una etiqueta de Neo4j:
Esta consulta selecciona todos los nodos con la etiqueta “Etiqueta” y realiza una operación MERGE en la etiqueta “test”. Si un nodo existe con la misma propiedad de identificación que el nodo de entrada, entonces las propiedades del nodo existente se actualizan para que coincidan con el nodo de entrada. Si el nodo no existe, se crea un nuevo nodo.
Ten en cuenta que deberás modificar esta consulta para que coincida con las propiedades y etiquetas específicas de tu grafo en Neo4j.