Neo4j Cypher


This transform allows you to execute any Cypher through the Neo4j Bolt protocol using the Java driver. Both reading, writing or both are supported. You can also call procedures and get the output.

Notable options

Option Description

Get Cypher from input field

instead of hard coding statements you can actually have them created in for example a bit of JavaScript. Then each row can contain a different statement to be executed by this transform.


the cypher statement to execute. You can use variables substitution (for example ${MY_VARIABLE}) or parameter substitution (for example {MY_PARAMETER}). Note the missing $. Parameters can be specified in the next section of the options.

Use UNWIND to collect parameter values?

This option collects all the parameters in a map, adds all the row maps together in a list and passes this to the UNWIND statement. Consider this example:

UNWIND $customers AS customer CREATE (c:Customer { id :, name : })

we pick up and as parameters. The customers parameter comes from the name of the unwind map.

Name of UNWIND values map

the name of the map containing all the rows and values for the UNWIND statement.


You can pick any Neo4j approved parameter name (without spaces and so on), the field to use and the Neo4j data type to convert to.


this transform can return one or more rows of data. You can specify the return values here. For every input row you can then have 0, 1 or more output rows. If you do not specify any return values the output will simply be the same as the input.