New
Join our webinar! Building a customizable and extensible cloud asset inventory at scale
Back to destination list
neo4j
Official

Neo4j

This destination plugin lets you sync data from a CloudQuery source to a Neo4j database

Publisher

cloudquery

Repositorygithub.com
Latest version

v5.4.3

Type

Destination

Platforms
Date Published

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.4.3"
  # 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 TypeSupported?Neo4j Type
Binary✅ YesBytes
Boolean✅ YesBoolean
Date32✅ YesString
Date64✅ YesString
Decimal✅ YesString
Dense Union✅ YesString
Dictionary✅ YesString
Duration[ms]✅ YesString
Duration[ns]✅ YesString
Duration[s]✅ YesString
Duration[us]✅ YesString
Fixed Size List✅ YesString
Float16✅ YesString
Float32✅ YesFloat
Float64✅ YesFloat
Inet✅ YesString
Int8✅ YesBigInt
Int16✅ YesBigInt
Int32✅ YesBigInt
Int64✅ YesBigInt
Interval[DayTime]✅ YesString
Interval[MonthDayNano]✅ YesString
Interval[Month]✅ YesString
JSON✅ YesString
Large Binary✅ YesBytes
Large List✅ YesList
Large String✅ YesString
List✅ YesList
MAC✅ YesString
Map✅ YesString
String✅ YesString
Struct✅ YesString
Timestamp[ms]✅ YesDateTime
Timestamp[ns]✅ YesDateTime
Timestamp[s]✅ YesDateTime
Timestamp[us]✅ YesDateTime
UUID✅ YesString
Uint8✅ YesBigInt
Uint16✅ YesBigInt
Uint32✅ YesBigInt
Uint64✅ YesBigInt
Union✅ YesString
String-persisted data types are encoded according to the Arrow String Representation specification.


Licenses #

The following tools / packages are used in this plugin:
NameLicense
github.com/adrg/xdgMIT
github.com/apache/arrow/go/v13Apache-2.0
github.com/apache/arrow-go/v18Apache-2.0
github.com/apapsch/go-jsonmerge/v2MIT
github.com/aws/aws-sdk-go-v2Apache-2.0
github.com/aws/aws-sdk-go-v2/configApache-2.0
github.com/aws/aws-sdk-go-v2/credentialsApache-2.0
github.com/aws/aws-sdk-go-v2/feature/ec2/imdsApache-2.0
github.com/aws/aws-sdk-go-v2/internal/configsourcesApache-2.0
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2Apache-2.0
github.com/aws/aws-sdk-go-v2/internal/iniApache-2.0
github.com/aws/aws-sdk-go-v2/internal/sync/singleflightBSD-3-Clause
github.com/aws/aws-sdk-go-v2/service/internal/accept-encodingApache-2.0
github.com/aws/aws-sdk-go-v2/service/internal/presigned-urlApache-2.0
github.com/aws/aws-sdk-go-v2/service/licensemanagerApache-2.0
github.com/aws/aws-sdk-go-v2/service/marketplacemeteringApache-2.0
github.com/aws/aws-sdk-go-v2/service/ssoApache-2.0
github.com/aws/aws-sdk-go-v2/service/ssooidcApache-2.0
github.com/aws/aws-sdk-go-v2/service/stsApache-2.0
github.com/aws/smithy-goApache-2.0
github.com/aws/smithy-go/internal/sync/singleflightBSD-3-Clause
github.com/cenkalti/backoff/v4MIT
github.com/cloudquery/cloudquery-api-goMPL-2.0
github.com/cloudquery/plugin-pb-goMPL-2.0
github.com/cloudquery/plugin-sdk/v2/internal/globMIT
github.com/cloudquery/plugin-sdk/v2/schemaMIT
github.com/cloudquery/plugin-sdk/v2/typesMPL-2.0
github.com/cloudquery/plugin-sdk/v4MPL-2.0
github.com/cloudquery/plugin-sdk/v4/globMIT
github.com/cloudquery/plugin-sdk/v4/scalarMIT
github.com/davecgh/go-spew/spewISC
github.com/ghodss/yamlMIT
github.com/go-logr/logrApache-2.0
github.com/go-logr/stdrApache-2.0
github.com/goccy/go-jsonMIT
github.com/google/flatbuffers/goApache-2.0
github.com/google/uuidBSD-3-Clause
github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptorsApache-2.0
github.com/grpc-ecosystem/grpc-gateway/v2BSD-3-Clause
github.com/hashicorp/go-cleanhttpMPL-2.0
github.com/hashicorp/go-retryablehttpMPL-2.0
github.com/huandu/xstringsMIT
github.com/klauspost/compressApache-2.0
github.com/klauspost/compress/internal/snaprefBSD-3-Clause
github.com/klauspost/compress/zstd/internal/xxhashMIT
github.com/mattn/go-colorableMIT
github.com/mattn/go-isattyMIT
github.com/neo4j/neo4j-go-driver/v5/neo4jApache-2.0
github.com/oapi-codegen/runtimeApache-2.0
github.com/pierrec/lz4/v4BSD-3-Clause
github.com/pmezard/go-difflib/difflibBSD-3-Clause
github.com/rs/zerologMIT
github.com/santhosh-tekuri/jsonschema/v6Apache-2.0
github.com/spf13/cobraApache-2.0
github.com/spf13/pflagBSD-3-Clause
github.com/stretchr/testifyMIT
github.com/thoas/go-funkMIT
github.com/zeebo/xxh3BSD-2-Clause
go.opentelemetry.io/otelApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlptraceApache-2.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpApache-2.0
go.opentelemetry.io/otel/logApache-2.0
go.opentelemetry.io/otel/metricApache-2.0
go.opentelemetry.io/otel/sdkApache-2.0
go.opentelemetry.io/otel/sdk/logApache-2.0
go.opentelemetry.io/otel/sdk/metricApache-2.0
go.opentelemetry.io/otel/traceApache-2.0
go.opentelemetry.io/proto/otlpApache-2.0
golang.org/x/expBSD-3-Clause
golang.org/x/netBSD-3-Clause
golang.org/x/sync/errgroupBSD-3-Clause
golang.org/x/sysBSD-3-Clause
golang.org/x/textBSD-3-Clause
golang.org/x/xerrorsBSD-3-Clause
google.golang.org/genproto/googleapis/api/httpbodyApache-2.0
google.golang.org/genproto/googleapis/rpc/statusApache-2.0
google.golang.org/grpcApache-2.0
google.golang.org/protobufBSD-3-Clause
gopkg.in/yaml.v2Apache-2.0
gopkg.in/yaml.v3MIT


Join our mailing list

Subscribe to our newsletter to make sure you don't miss any updates.

Legal

© 2024 CloudQuery, Inc. All rights reserved.

We use tracking cookies to understand how you use the product and help us improve it. Please accept cookies to help us improve. You can always opt out later via the link in the footer.