Graph Traversal

Adding Nodes and Edges

Creation Operations

These operations allow you to add new elements to your graph.

AddN

Create new nodes in your graph.

AddN<Type>
AddN<Type>({properties})

Example: Adding Nodes

QUERY create_users() =>
    // Create an empty user node
    basic_user <- AddN<User>
    
    // You could also write it like this
    AddN<User>
    
    RETURN basic_user

QUERY create_detailed_users(name: String, age: U32, email: String) =>
    // Create a detailed user node
    detailed_user <- AddN<User>({name: name, age: age, email: email})
    
    RETURN detailed_user

AddE

Create connections between nodes in your graph.

AddE<Type>::From(v1)::To(v2)
AddE<Type>({properties})::From(v1)::To(v2)

Example: Adding Edges

QUERY create_relationships(user1ID: ID, user2ID: ID) =>
    // Get the users by their IDs
    user1 <- N<User>(user1ID)
    user2 <- N<User>(user2ID)
    
    // Create a simple follows relationship
    follows <- AddE<Follows>::From(user1)::To(user2)

    RETURN follows
        
QUERY create_detailed_relationships(user1ID: ID, user2ID: ID, since: String) =>
    // Get the users by their IDs
    user1 <- N<User>(user1ID)
    user2 <- N<User>(user2ID)
    
    // Create a detailed friendship with properties
    friendship <- AddE<Follows>(
        {since: since}
    )::From(user1)::To(user2)
    
    RETURN friendship

Example: Adding Edges in a Traversal You can also use the AddE operation in the middle of a traversal to add edges between a list of nodes or vectors.

QUERY create_friendships(user1ID: ID, user2ID: ID) =>
    // This makes every user in the database follow the user with ID user1ID
    user1 <- N<User>::AddE<Follows>::To(N(user1ID))
    
    // This makes user with userID2 follow every user in the database
    user1 <- N<User>::AddE<Follows>::From(N(user1ID))
    
    RETURN friendship

On this page