# Neo4j

This page covers how to use the Neo4j ecosystem within LangChain.

What is Neo4j?

**Neo4j in a nutshell:**

- Neo4j is an open-source database management system that specializes in graph database technology.
- Neo4j allows you to represent and store data in nodes and edges, making it ideal for handling connected data and relationships.
- Neo4j provides a Cypher Query Language, making it easy to interact with and query your graph data.
- With Neo4j, you can achieve high-performance graph traversals and queries, suitable for production-level systems.
- Get started quickly with Neo4j by visiting [their website](https://neo4j.com/).

## Installation and Setup

- Install the Python SDK with `pip install neo4j`

## Wrappers

### VectorStore

There exists a wrapper around Neo4j vector index, allowing you to use it as a vectorstore,
whether for semantic search or example selection.

To import this vectorstore:

```python
from langchain.vectorstores import Neo4jVector
```

For a more detailed walkthrough of the Neo4j vector index wrapper, see [this notebook](/docs/integrations/vectorstores/neo4jvector.html)

### GraphCypherQAChain

There exists a wrapper around Neo4j graph database that allows you to generate Cypher statements based on the user input
and use them to retrieve relevant information from the database.

```python
from langchain.graphs import Neo4jGraph
from langchain.chains import GraphCypherQAChain
```

For a more detailed walkthrough of Cypher generating chain, see [this notebook](/docs/use_cases/more/graph/graph_cypher_qa.html)
