Documentation Index
Fetch the complete documentation index at: https://docs.helix-db.com/llms.txt
Use this file to discover all available pages before exploring further.
For the complete documentation index optimized for AI agents, see llms.txt.
Create Edges using AddE
Create connections between nodes in your graph.
AddE<Type>::From(v1)::To(v2)
AddE<Type>({properties})::From(v1)::To(v2)
When using the SDKs or curling the endpoint, the query name must match what is defined in the queries.hx file exactly.
Example 1: Creating a simple follows relationship
QUERY CreateRelationships (user1_id: ID, user2_id: ID) =>
follows <- AddE<Follows>::From(user1_id)::To(user2_id)
RETURN follows
QUERY CreateUser (name: String, age: U8, email: String) =>
user <- AddN<User>({
name: name,
age: age,
email: email
})
RETURN user
Here’s how to run the query using the SDKs or curl
from helix.client import Client
client = Client(local=True, port=6969)
alice_id = client.query("CreateUser", {
"name": "Alice",
"age": 25,
"email": "alice@example.com",
})[0]["user"]["id"]
bob_id = client.query("CreateUser", {
"name": "Bob",
"age": 28,
"email": "bob@example.com",
})[0]["user"]["id"]
print(client.query("CreateRelationships", {
"user1_id": alice_id,
"user2_id": bob_id,
}))
Example 2: Creating a detailed friendship with properties
QUERY CreateFriendship (user1_id: ID, user2_id: ID) =>
friendship <- AddE<Friends>({
since: "2024-01-15",
strength: 0.85
})::From(user1_id)::To(user2_id)
RETURN friendship
QUERY CreateUser (name: String, age: U8, email: String) =>
user <- AddN<User>({
name: name,
age: age,
email: email
})
RETURN user
Here’s how to run the query using the SDKs or curl
from helix.client import Client
client = Client(local=True, port=6969)
user1_id = client.query("CreateUser", {
"name": "Charlie",
"age": 31,
"email": "charlie@example.com",
})[0]["user"]["id"]
user2_id = client.query("CreateUser", {
"name": "Dana",
"age": 29,
"email": "dana@example.com",
})[0]["user"]["id"]
print(client.query("CreateFriendship", {
"user1_id": user1_id,
"user2_id": user2_id,
}))
Example 3: Traversal Example
QUERY CreateRelationships (user1_id: ID, user2_name: String) =>
user2 <- N<User>::WHERE(_::{name}::EQ(user2_name))
follows <- AddE<Follows>::From(user1_id)::To(user2)
RETURN follows
QUERY CreateUser (name: String, age: U8, email: String) =>
user <- AddN<User>({
name: name,
age: age,
email: email
})
RETURN user
Here’s how to run the query using the SDKs or curl
from helix.client import Client
client = Client(local=True, port=6969)
user1 = client.query("CreateUser", {
"name": "Eve",
"age": 33,
"email": "eve@example.com",
})
user1_id = user1[0]["user"]["id"]
client.query("CreateUser", {
"name": "Frank",
"age": 35,
"email": "frank@example.com",
})
print(client.query("CreateRelationships", {
"user1_id": user1_id,
"user2_name": "Frank",
}))