diff --git a/agents/available-connections.mdx b/agents/available-connections.mdx index 6764f373..bf58e3b8 100644 --- a/agents/available-connections.mdx +++ b/agents/available-connections.mdx @@ -150,6 +150,19 @@ agent card for the full list. Neo4j AuraDB Fully managed graph database. +
+ + 3 tools + + + + Details + +
+
diff --git a/agents/connections/neo4j.mdx b/agents/connections/neo4j.mdx new file mode 100644 index 00000000..772e1f85 --- /dev/null +++ b/agents/connections/neo4j.mdx @@ -0,0 +1,280 @@ +--- +title: Using Neo4j with Hypermode +sidebarTitle: Neo4j +description: Connect your Hypermode agent to Neo4j for graph database operations +--- + +
+ Neo4j +
+

Neo4j

+

+ Graph database platform for connected data +

+
+
+ +## Overview + +Neo4j is a powerful graph database that excels at managing highly connected data +and complex relationships. This guide will walk you through connecting your +Hypermode agent to Neo4j. + +## Prerequisites + +Before connecting Neo4j to Hypermode, you'll need: + +1. A [Neo4j account](https://neo4j.com/) +2. A Neo4j instance (we'll use Neo4j Sandbox for this guide) +3. A [Hypermode workspace](https://hypermode.com/) + +## Setting up Neo4j + +### Step 1: Create a Neo4j Sandbox + +First, you need to go to https://sandbox.neo4j.com/ and create an account. When +you get to making a database, select a blank sandbox. + +![Create blank sandbox](/images/connections/neo4j/blank-sandbox.png) + + + Neo4j Sandbox provides free temporary instances perfect for testing. For + production use, consider Neo4j Aura or a self-hosted instance. + + +### Step 2: Get your connection details + +Once created (it may take a moment), you can navigate to the HTTP tab and grab +the URL. Note you will have to modify this to use the Neo4j HTTP v2 endpoint: + +- Remove `/db/neo4j/tx/commit` +- Replace it with `/db/neo4j/query/v2` + +For example: + +- Original: `http://52.54.53.148:7474/db/neo4j/tx/commit` +- Modified: `http://52.54.53.148:7474/db/neo4j/query/v2` + +![http tab](/images/connections/neo4j/neo4j-http-connection.png) + +### Step 3: Get authentication credentials + +Save this URL and then move to the connection details to grab the username and +password. + +![Connection details](/images/connections/neo4j/neo4j-user-password.png) + +Now we've got the URL, username, and password we can create a new agent in +Hypermode. + +## Creating your Neo4j agent + +### Step 1: Create a new agent + +From the Hypermode interface, create a new agent: + +1. Click the agent dropdown menu +2. Select "Create new Agent" + +![Navigate to create agent](/images/connections/neo4j/navigate-create-agent.png) + +### Step 2: Configure agent settings + +Use these recommended settings for your Neo4j agent: + +- **Agent Name**: GraphExplorer +- **Agent Title**: Neo4j Graph Analysis Agent +- **Description**: Analyzes graph relationships and patterns in Neo4j +- **Instructions**: You have a connection to a Neo4j graph database. You can + create nodes with any labels and properties, create relationships of any type, + and run Cypher queries. Neo4j is schemaless, so you can dynamically add data + without predefined structures. +- **Model**: GPT-4.1 + +![Create agent modal](/images/connections/neo4j/create-agent-modal.png) + +### Step 3: View your agent profile + +Once created, navigate to your agent's settings page: + +![Agent profile](/images/connections/neo4j/agent-profile.png) + +## Connecting to Neo4j + +### Step 1: Add the Neo4j connection + +Navigate to the **Connections** tab and add Neo4j: + +1. Click "Add connection" +2. Search for "Neo4j" in the available connections + +![Add Neo4j connection](/images/connections/neo4j/add-neo4j-connection.png) + +### Step 2: Configure credentials + +Enter your Neo4j credentials: + +- **URL**: Your modified HTTP v2 endpoint + (`http://52.54.53.148:7474/db/neo4j/query/v2`) +- **Username**: Your Neo4j username (usually `neo4j`) +- **Password**: Your Neo4j password + +![Neo4j connection modal](/images/connections/neo4j/neo4j-connection-modal.png) + + + Ensure you're using the HTTP v2 endpoint format. The connection will fail with + the default transaction endpoint. + + +## Understanding Neo4j's schemaless nature + +Unlike traditional databases, Neo4j doesn't require you to define schemas +upfront. This means: + +- **Flexible node creation**: Add nodes with any labels and properties on the + fly +- **Dynamic relationships**: Create relationships of any type between nodes +- **Evolving data models**: Your graph structure can grow and change organically +- **No migrations needed**: Add new node types or properties without schema + updates + +This flexibility makes Neo4j perfect for: + +- Exploratory data analysis +- Rapidly evolving data models +- Complex, heterogeneous datasets +- Real-world relationship modeling + +## Example graph model + +Here's a simple example of how nodes and relationships work in Neo4j: + +![Neo4j Graph Model](/images/connections/neo4j/model.png) + +This model shows: + +- **Nodes**: Person, Company, and Product (represented as circles) +- **Relationships**: WORKS_AT, MAKER_OF, BY_COMPANY (represented as arrows) +- Each node can have properties (like name, age, price) +- Relationships can also have properties (like since, role) + +## Testing the connection + +### Test 1: Create your first nodes + +Start a new thread with your agent and create some nodes dynamically: + +```text +Create nodes for this scenario: +- A Person named "Alice" who is 28 years old +- A Company named "TechCorp" founded in 2020 +- A Product named "GraphApp" with a price of $99 +``` + +![Create nodes result](/images/connections/neo4j/create-nodes-result.png) + +### Test 2: Create relationships + +Now connect your nodes based on our model: + +```text +Create these relationships: +- Alice WORKS_AT TechCorp (since 2021) +- Alice is MAKER_OF GraphApp +- GraphApp is BY_COMPANY TechCorp +``` + +![Create relationships result](/images/connections/neo4j/create-relationships-result.png) + +### Test 3: Visualize in Neo4j Browser + +After your agent creates the data, switch to Neo4j Browser to see the results: + +1. **Click the "Open" button** in your Neo4j Sandbox +2. **Run the visualization query**: + +```cypher + MATCH (n) RETURN n +``` + +![graph in browser](/images/connections/neo4j/neo4j-browser-graph-view.png) + +### Test 4: Query your graph + +Back in your agent thread, use Cypher to explore your data: + +```text +Run a Cypher query to find all products made by people who work at TechCorp, showing the full relationship path. +``` + +![Query result](/images/connections/neo4j/cypher-query-result.png) + +## Example: Building a dynamic knowledge graph + +Here's how to leverage Neo4j's schemaless nature to build a flexible knowledge +graph: + +```text +Let's expand our graph with more data: +1. Add another Person "Bob" who also works at TechCorp +2. Add a new Company "StartupInc" +3. Add Products "DataTool" and "AIAssistant" +4. Create relationships showing Bob made DataTool, and StartupInc made AIAssistant +5. Add a COMPETES_WITH relationship between the two companies +``` + +Your agent can dynamically add: + +- New node types as you discover them +- Properties specific to each entity +- Relationships that make sense in context +- No need to predefine any structure! + +## What you can do + +With your Neo4j connection and its three core tools, your agent can: + +- **Create Node**: Dynamically add entities with any labels and properties +- **Create Relationship**: Connect nodes with typed relationships and properties +- **Run Cypher Query**: Perform complex graph operations including: + - Pattern matching and traversal + - Aggregations and analytics + - Graph algorithms + - Data updates and deletions + - Schema-free exploration + +## Troubleshooting + +### Common issues + +#### Connection refused error + +- Verify you're using the HTTP v2 endpoint format +- Check if your sandbox is still active (they expire after 3 days) +- Ensure the URL includes the correct port (usually 7474) + +#### Authentication failed + +- Confirm username and password are correct +- Sandbox passwords are auto-generated - copy carefully +- Try resetting the password in the sandbox console + +#### Tool execution errors + +- Check the + [MCP Neo4j documentation](https://mcp.pipedream.com/app/neo4j_auradb) for + correct parameter formats +- Ensure node IDs exist before creating relationships +- Verify Cypher syntax in your queries + +## Learn more + +- [Neo4j Documentation](https://neo4j.com/docs/) +- [Cypher Query Language](https://neo4j.com/docs/cypher-manual/current/) +- [MCP Neo4j AuraDB Server](https://mcp.pipedream.com/app/neo4j_auradb) +- [Graph Data Science Library](https://neo4j.com/docs/graph-data-science/current/) diff --git a/docs.json b/docs.json index e813e3ad..35246119 100644 --- a/docs.json +++ b/docs.json @@ -69,7 +69,8 @@ "group": "Available Connections", "pages": [ "agents/available-connections", - "agents/connections/supabase" + "agents/connections/supabase", + "agents/connections/neo4j" ] } ] diff --git a/images/connections/neo4j/add-neo4j-connection.png b/images/connections/neo4j/add-neo4j-connection.png new file mode 100644 index 00000000..68b95065 Binary files /dev/null and b/images/connections/neo4j/add-neo4j-connection.png differ diff --git a/images/connections/neo4j/agent-profile.png b/images/connections/neo4j/agent-profile.png new file mode 100644 index 00000000..1e8c6c1a Binary files /dev/null and b/images/connections/neo4j/agent-profile.png differ diff --git a/images/connections/neo4j/blank-sandbox.png b/images/connections/neo4j/blank-sandbox.png new file mode 100644 index 00000000..4fcb6d08 Binary files /dev/null and b/images/connections/neo4j/blank-sandbox.png differ diff --git a/images/connections/neo4j/create-agent-modal.png b/images/connections/neo4j/create-agent-modal.png new file mode 100644 index 00000000..33babc37 Binary files /dev/null and b/images/connections/neo4j/create-agent-modal.png differ diff --git a/images/connections/neo4j/create-nodes-result.png b/images/connections/neo4j/create-nodes-result.png new file mode 100644 index 00000000..e398d9d9 Binary files /dev/null and b/images/connections/neo4j/create-nodes-result.png differ diff --git a/images/connections/neo4j/create-relationships-result.png b/images/connections/neo4j/create-relationships-result.png new file mode 100644 index 00000000..80540af6 Binary files /dev/null and b/images/connections/neo4j/create-relationships-result.png differ diff --git a/images/connections/neo4j/cypher-query-result.png b/images/connections/neo4j/cypher-query-result.png new file mode 100644 index 00000000..286b486b Binary files /dev/null and b/images/connections/neo4j/cypher-query-result.png differ diff --git a/images/connections/neo4j/model.png b/images/connections/neo4j/model.png new file mode 100644 index 00000000..601161b4 Binary files /dev/null and b/images/connections/neo4j/model.png differ diff --git a/images/connections/neo4j/navigate-create-agent.png b/images/connections/neo4j/navigate-create-agent.png new file mode 100644 index 00000000..94eb6f5c Binary files /dev/null and b/images/connections/neo4j/navigate-create-agent.png differ diff --git a/images/connections/neo4j/neo4j-browser-graph-view.png b/images/connections/neo4j/neo4j-browser-graph-view.png new file mode 100644 index 00000000..039df504 Binary files /dev/null and b/images/connections/neo4j/neo4j-browser-graph-view.png differ diff --git a/images/connections/neo4j/neo4j-connection-modal.png b/images/connections/neo4j/neo4j-connection-modal.png new file mode 100644 index 00000000..48221f9a Binary files /dev/null and b/images/connections/neo4j/neo4j-connection-modal.png differ diff --git a/images/connections/neo4j/neo4j-http-connection.png b/images/connections/neo4j/neo4j-http-connection.png new file mode 100644 index 00000000..4d8b19a7 Binary files /dev/null and b/images/connections/neo4j/neo4j-http-connection.png differ diff --git a/images/connections/neo4j/neo4j-user-password.png b/images/connections/neo4j/neo4j-user-password.png new file mode 100644 index 00000000..c96334f2 Binary files /dev/null and b/images/connections/neo4j/neo4j-user-password.png differ diff --git a/styles/config/vocabularies/general/accept.txt b/styles/config/vocabularies/general/accept.txt index 1350ef36..ab74b747 100644 --- a/styles/config/vocabularies/general/accept.txt +++ b/styles/config/vocabularies/general/accept.txt @@ -208,4 +208,5 @@ CAC upsell will signup -[sS]upabase \ No newline at end of file +[sS]upabase +schemaless \ No newline at end of file