Skip to main content
This section provides guides and references for the Neo4j connector. Configure Neo4j metadata workflows externally with YAML:

How to Run the Connector Externally

To run the Ingestion via the UI you’ll need to use the OpenMetadata Ingestion Container, which comes shipped with custom Airflow plugins to handle the workflow deployment. If, instead, you want to manage your workflows externally on your preferred orchestrator, you can check the following docs to run the Ingestion Framework anywhere.

External Schedulers

Get more information about running the Ingestion Framework Externally

Requirements

OpenMetadata reads the graph schema of one Neo4j database. It reads schema information only and never reads node or relationship data. The connecting user needs the ACCESS privilege on the database and permission to execute the following procedures:
  • db.info
  • db.labels
  • db.relationshipTypes
  • db.schema.nodeTypeProperties
  • db.schema.relTypeProperties
The built-in reader role is enough.

Entity Mapping

OpenMetadata maps the Neo4j graph schema to OpenMetadata entities as follows: A property is NOT NULL only when every node type with that label has the property and marks it as mandatory. When a property has more than one type, or a type that OpenMetadata doesn’t recognize, OpenMetadata sets the column to the UNKNOWN data type and ingestion continues.

Python Requirements

Use Python 3.10 or later. Python 3.12 is recommended, because it is what the OpenMetadata 2.0 ingestion images use. To confirm the supported range for your release, check the Requires-Python metadata of that release’s openmetadata-ingestion package. To run the Neo4j ingestion, install:

Metadata Ingestion

All connectors are defined as JSON Schemas. See the Neo4j connection JSON Schema for the full set of properties. To create and run a metadata ingestion workflow, create a YAML configuration. The configuration connects to the source, processes entities if needed, and reaches the OpenMetadata server. The workflow is modeled around the following JSON Schema.

1. Define the YAML Config

Use the following YAML configuration as a starting point.

2. Run with the CLI

First, we will need to save the YAML file. Afterward, and with all requirements installed, we can run:
Note that from connector to connector, this recipe will always be the same. By updating the YAML configuration, you will be able to extract metadata from different sources.