Writer options

The DataSource Writer has several options to connect and persist data into Neo4j.

Table 1. List of available write options
Setting name Description Default value Required

labels

Colon separated list of the labels to attach to the node

(none)

No

batch.size

The number of the rows sent to Neo4j as a batch. Each batch is committed in its own transaction, so this also bounds what a single failure can leave behind. See Transactions, retries, and partial failures.

5000

No

transaction.retries

Number of retries in case of failure. The budget applies per task for its whole lifetime, not per batch. See write/transactions.adoc#retries.

3

No

transaction.retry.timeout

The time in milliseconds that the connector should wait before retry

0

No

type.conversion

Data conversion logic. When set to legacy, timestamps, intervals and byte arrays are processed the same way as they were before 5.4.0. See Data type mapping for more information.

default

No

Node specific options

node.keys

Comma-separated list of properties considered as node keys if you are using SaveMode.Overwrite

(none)

No

node.keys.skip.nulls

Whether to skip rows which contain null values for any of the specified columns in node.keys.

false

No

Relationship specific options

relationship.keys

Comma-separated list of properties considered as relationship keys

(none)

No

relationship.keys.skip.nulls

Whether to skip rows which contain null values for any of the specified columns in relationship.keys.

false

No

relationship.properties

Used only if relationship.save.strategy is keys (default). Map used as keys for specifying the relationship properties. When set, only the relationships included in the map are set as relationship properties. When the option is not set, all unmapped fields are set as relationship properties.

(empty)

No

relationship.save.strategy

Save strategy to be used

keys

Yes

relationship.source.labels

Colon-separated list of labels that identify the source node

(empty)

Yes

relationship.source.node.keys

Map used as keys for matching the source node

(empty)

No

relationship.source.node.keys.skip.nulls

Whether to skip rows which contain null values for any of the specified columns in relationship.source.node.keys.

false

No

relationship.source.save.mode

Source Node save mode

Match

No

relationship.source.node.properties

Map used as keys for specifying the source properties. Only used if relationship.save.strategy is keys (default)

(empty)

No

relationship.target.labels

Colon-separated list of labels that identify the target node

(empty)

Yes

relationship.target.node.keys

Map used as keys for matching the target node

(empty)

No

relationship.target.node.keys.skip.nulls

Whether to skip rows which contain null values for any of the specified columns in relationship.target.node.keys.

false

No

relationship.target.save.mode

Target Node save mode

Match

No

relationship.target.node.properties

Map used as keys for specifying the target properties. Only used if relationship.save.strategy is keys (default)

(empty)

No

Cypher® options [role=label—​new-6.0]

cypher.version

Set a custom Cypher language version to a custom value. Expected value is the version number itself, e.g. 5 or 25

5

No

cypher.tuning.*

Set any cypher query tuning parameter with this prefix. See details on how to properly use this feature here

(emtpy)

No

Optimization options

script

Apply a custom Cypher query which will run once before any write operations. Use this capability to apply custom optimizations e.g. custom index/contstraint queries. Can not be used with script.N, use either or.

(empty)

No

script.N

Similar to script, replace N with any positive integer, put as many as you like. The scripts are executed in succession and in numbered order. Can not be used with plain script, use either or.

(empty)

No

index.await.timeout

Adjust the maximum timeout to wait for index generation Before writing, the db.awaitIndexes Cypher procedure will be called with the timeout specified in whole seconds. Set to 0 to disable. The await happens after any script query and before any write operations

300

No