Back to destination list
Official
Neo4j
This destination plugin lets you sync data from a CloudQuery source to a Neo4j database
Price
Free
Overview #
Neo4j Destination Plugin
This destination plugin lets you sync data from a CloudQuery source to a Neo4j database.
Supported database (tested) versions (We use the official Neo4j Go driver):
- Neo4j >= 4.4
As a side note graph databases can be quite useful for various networking use-cases, visualization, for read-teams, blue-teams and more.
Configuration #
Example #
This example configures a Neo4j destination, located at
bolt://localhost:7687
. The username and password are stored in environment variables.kind: destination
spec:
name: "neo4j"
path: "cloudquery/neo4j"
registry: "cloudquery"
version: "v5.3.14"
# Learn more about the configuration options at https://cql.ink/neo4j_destination
spec:
connection_string: "${NEO4J_CONNECTION_STRING}"
username: "${NEO4J_USERNAME}"
password: "${NEO4J_PASSWORD}"
# Optional parameters:
# batch_size: 1000 # 1K entries
# batch_size_bytes: 4194304 # 4 MiB
The (top level) spec section is described in the Destination Spec Reference.
The Neo4j destination utilizes batching, and supports
batch_size
and batch_size_bytes
.Plugin Spec #
This is the (nested) spec used by the Neo4j destination Plugin.
connection_string
(string
) (required)Connection string to connect to the database. This can be a URL or a DSN, as per official neo4j docs."bolt://localhost:7687"
"neo4j://localhost:7687"
username
(string
) (required)Username to connect to the database.password
(string
) (required)Password to connect to the database.batch_size
(integer
) (optional) (default:1000
)Number of records to batch together before sending to the database.batch_size_bytes
(integer
) (optional) (default:4194304
(= 4 MiB))Number of bytes (as Arrow buffer size) to batch together before sending to the database.
Types #
Neo4j Types
The Neo4j destination (
v3.0.0
and later) supports most Apache Arrow types. The following table shows the supported types and how they are mapped to Neo4j data types.Arrow Column Type | Supported? | Neo4j Type |
---|---|---|
Binary | ✅ Yes | Bytes |
Boolean | ✅ Yes | Boolean |
Date32 | ✅ Yes | String |
Date64 | ✅ Yes | String |
Decimal | ✅ Yes | String |
Dense Union | ✅ Yes | String |
Dictionary | ✅ Yes | String |
Duration[ms] | ✅ Yes | String |
Duration[ns] | ✅ Yes | String |
Duration[s] | ✅ Yes | String |
Duration[us] | ✅ Yes | String |
Fixed Size List | ✅ Yes | String |
Float16 | ✅ Yes | String |
Float32 | ✅ Yes | Float |
Float64 | ✅ Yes | Float |
Inet | ✅ Yes | String |
Int8 | ✅ Yes | BigInt |
Int16 | ✅ Yes | BigInt |
Int32 | ✅ Yes | BigInt |
Int64 | ✅ Yes | BigInt |
Interval[DayTime] | ✅ Yes | String |
Interval[MonthDayNano] | ✅ Yes | String |
Interval[Month] | ✅ Yes | String |
JSON | ✅ Yes | String |
Large Binary | ✅ Yes | Bytes |
Large List | ✅ Yes | List |
Large String | ✅ Yes | String |
List | ✅ Yes | List |
MAC | ✅ Yes | String |
Map | ✅ Yes | String |
String | ✅ Yes | String |
Struct | ✅ Yes | String |
Timestamp[ms] | ✅ Yes | DateTime |
Timestamp[ns] | ✅ Yes | DateTime |
Timestamp[s] | ✅ Yes | DateTime |
Timestamp[us] | ✅ Yes | DateTime |
UUID | ✅ Yes | String |
Uint8 | ✅ Yes | BigInt |
Uint16 | ✅ Yes | BigInt |
Uint32 | ✅ Yes | BigInt |
Uint64 | ✅ Yes | BigInt |
Union | ✅ Yes | String |
String-persisted data types are encoded according to the Arrow String Representation specification.