Neo4j
CLI based Ingestion
Install the Plugin
The neo4j
source works out of the box with acryl-datahub
.
Starter Recipe
Check out the following recipe to get started with ingestion! See below for full configuration options.
For general pointers on writing and running a recipe, see our main recipe guide.
source:
type: 'neo4j'
config:
uri: 'neo4j+ssc://host:7687'
username: 'neo4j'
password: 'password'
env: 'PROD'
sink:
type: "datahub-rest"
config:
server: 'http://localhost:8080'
Config Details
- Options
- Schema
Note that a .
is used to denote nested fields in the YAML recipe.
Field | Description |
---|---|
password ✅ string | Neo4j Password |
uri ✅ string | The URI for the Neo4j server |
username ✅ string | Neo4j Username |
env ✅ string | Neo4j env |
The JSONSchema for this configuration is inlined below.
{
"title": "Neo4jConfig",
"description": "Any source that produces dataset urns in a single environment should inherit this class",
"type": "object",
"properties": {
"env": {
"title": "Env",
"description": "Neo4j env",
"type": "string"
},
"username": {
"title": "Username",
"description": "Neo4j Username",
"type": "string"
},
"password": {
"title": "Password",
"description": "Neo4j Password",
"type": "string"
},
"uri": {
"title": "Uri",
"description": "The URI for the Neo4j server",
"type": "string"
}
},
"required": [
"env",
"username",
"password",
"uri"
],
"additionalProperties": false
}
Integration Details
Neo4j metadata will be ingested into DataHub using
CALL apoc.meta.schema() YIELD value UNWIND keys(value) AS key RETURN key, value[key] AS value;
The data that is returned will be parsed
and will be displayed as Nodes and Relationships in DataHub. Each object will be tagged with describing what kind of DataHub
object it is. The defaults are 'Node' and 'Relationship'. These tag values can be overwritten in the recipe.
Metadata Ingestion Quickstart
Prerequisites
In order to ingest metadata from Neo4j, you will need:
- Neo4j instance with APOC installed
Code Coordinates
- Class Name:
datahub.ingestion.source.neo4j.neo4j_source.Neo4jSource
- Browse on GitHub
Questions
If you've got any questions on configuring ingestion for Neo4j, feel free to ping us on our Slack.