# Neo4j

### Description

Neo4j is an open source graph database which you can download from [**www.neo4j.com/download-center**](https://neo4j.com/download-center/)

You can use it to represent information with nodes and relationships in a property graph. Neo4j doesn’t use indexes which allows it to traverse large graphs really quickly with so-called graph algorithms. For more information on these unique graph algorithms see: [Neo4j Graph Algorithms](https://neo4j.com/docs/graph-data-science/current/algorithms/#algorithms)

Hop supports Neo4j through the following metadata objects

### Perspective: Execution lineage

You can use Neo4j to store logging and execution lineage of your workflows and pipelines. The way you do this is simply by setting the variable `NEO4J_LOGGING_CONNECTION` to the name of the Neo4j Connection where you want the logging and lineage to be written to.

The Neo4j plugin offers a separate perspective to query this logging and lineage information. For example, it allows you to quickly jump to the place where an error occurred. This neat trick is performed by asking the database to find the shortest path between and execution node where an error occurred and without children and the "grand parent" node. The path you get is the exact path that was followed from for example the "grand parent" workflow to the exact transform where an error occurred.

### Metadata Types

* [Neo4j Connection](/data-shaper-1.21/knowing-the-data-shaper-designer/index-2/neo4j-connection.md): create or manage a connection to a Neo4j database
* [Neo4j Graph Model](/data-shaper-1.21/knowing-the-data-shaper-designer/index-2/neo4j-graphmodel.md): create or manage a Neo4j (sub)graph model

### Workflow Actions

* [Neo4j Check Connection](/data-shaper-1.21/knowing-the-data-shaper-designer/workflows/actions/neo4j-checkconnections.md): check a connection to a Neo4j database
* [Neo4j Cypher Script](/data-shaper-1.21/knowing-the-data-shaper-designer/workflows/actions/neo4j-cypherscript.md): execute a Cypher script or query
* [Neo4j Index](/data-shaper-1.21/knowing-the-data-shaper-designer/workflows/actions/neo4j-index.md): Create or drop Neo4j indexes
* [Neo4j Constraint](/data-shaper-1.21/knowing-the-data-shaper-designer/workflows/actions/neo4j-constraint.md): Create or drop Neo4j constraints

### Pipeline Transforms

* [Neo4j Cypher](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-cypher.md): execute a Cypher query on a Neo4j database using parameter info from input fields
* [Neo4j Generate CSVs](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-gencsv.md): Generate CSV files for nodes and relationships to be used with neo4j-import
* [Neo4j Get Log Info](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-getloginfo.md): Queries the Neo4j logging graph for execution info
* [Neo4j Graph Output](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-graphoutput.md): Writes to a Neo4j graph using an input fields mapping.
* [Neo4j Import](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-import.md): Runs a Neo4j import command using the provided CSV files
* [Neo4j Output](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-output.md): Write nodes and/or relationships to a Neo4j graph
* [Neo4j Split Graph](/data-shaper-1.21/knowing-the-data-shaper-designer/pipelines/transforms/neo4j-split-graph.md): Splits the nodes and relationships of a Neo4j graph

### Examples

The Neo4j examples included in the release downloads is described in document:

[Working with Neo4j data](/data-shaper-1.21/knowing-the-data-shaper-designer/technology/index-5/working-with-neo4j-data.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.primeur.com/data-shaper-1.21/knowing-the-data-shaper-designer/technology/index-5.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
