Neo4j Graph Output
Description
The Graph Output transform aims to allow input fields to be mapped automatically to a graph model. The algorithm used to update your graph takes null values for fields mapped to primary properties of nodes into account and will not merge on these nodes and will not create or update relationships to it.
Limitations
Updates across unknown nodes
()--()
are not supportedCircular relationships to the same nodes: please create a new node with a different name and the same label to make this work. It allows you to uniquely map input fields to these node properties and get the correct results.
Modeling tips
Try a modeler like Cypher Workbench or Arrows and import the result into a Graph Model.
Keep your models as simple as possible.
Make sure that every defined node has a primary key field
Limit yourself to one primary key field per node
Execution tips
- Make sure that every node primary key has an index. Use the provided button in the graph model editor to generate the Neo4j Index and Constraint actions which will handle this for you.
Notable options
Option | Description |
transform name | the name for this transform in the pipeline |
Neo4j connection | the Neo4j connection to write the graph to |
Graph model | the Neo4j graph model to use |
Batch size (rows) | batch size to use for writing data to Neo4j |
Create indexes? | create Neo4j indexes before running this transform |
Return graph data? | return graph data returned by Neo4j |
Graph output field name | the name of the field to write the graph data to (if |
Validate against model? | validate the data against the model. This will check if indexes are created for a field that is flagged as primary/indexed, see if a property flagged as mandatory is available when a node is updated and so on. Uniqueness is best validated by a constraint on the property. Use the provided button to generate the “Neo4j Constraint” action. |
Allow out of order updates? | If out of order updates are allowed, this transform generates unwind statements. Otherwise, standard batch updates are used. The updates are grouped per distinct generated cypher statement. |
Mappings | Map fields in the pipeline to fields in the Neo4j graph |