Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Vectors

⚠️ Warning

HelixQL is deprecated in HelixDB v2. Queries are now written with the Rust DSL and dispatched as JSON — see the Querying guide. This section is kept as a reference for legacy HelixQL projects.

For the complete documentation index optimized for AI agents, see llms.txt.

V   Vector

Select vectors from your graph to begin traversal.

V<Type>(vector_id)

Example 1: Selecting a vector by ID

QUERY GetDocumentVector (vector_id: ID) =>
    doc_vector <- V<Document>(vector_id)
    RETURN doc_vector

QUERY CreateDocumentVector (vector: [F64], content: String) =>
    doc_vector <- AddV<Document>(vector, {
        content: content
    })
    RETURN doc_vector
V::Document {
    content: String,
}
from helix.client import Client

client = Client(local=True, port=6969)

vector_payload = [0.12, 0.34, 0.56, 0.78]

created = client.query("CreateDocumentVector", {
    "vector": vector_payload,
    "content": "Chunk about vector queries.",
})
vector_id = created[0]["doc_vector"]["id"]

result = client.query("GetDocumentVector", {"vector_id": vector_id})
print(result)
use helix_rs::{HelixDB, HelixDBClient};
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = HelixDB::new(Some("http://localhost"), Some(6969), None);

    let created: serde_json::Value = client
        .query(
            "CreateDocumentVector",
            &json!({
                "vector": [0.12, 0.34, 0.56, 0.78],
                "content": "Chunk about vector queries.",
            }),
        )
        .await?;
    let vector_id = created[0]["doc_vector"]["id"].as_str().unwrap().to_string();

    let result: serde_json::Value = client
        .query("GetDocumentVector", &json!({ "vector_id": vector_id }))
        .await?;

    println!("GetDocumentVector result: {result:#?}");

    Ok(())
}
package main

import (
    "fmt"
    "log"

    "github.com/HelixDB/helix-go"
)

func main() {
    client := helix.NewClient("http://localhost:6969")

    createPayload := map[string]any{
        "vector":  []float64{0.12, 0.34, 0.56, 0.78},
        "content": "Chunk about vector queries.",
    }

    var created map[string]any
    if err := client.Query("CreateDocumentVector", helix.WithData(createPayload)).Scan(&created); err != nil {
        log.Fatalf("CreateDocumentVector failed: %s", err)
    }

    docVector := created["doc_vector"].(map[string]any)
    vectorID := docVector["id"].(string)

    var result map[string]any
    if err := client.Query("GetDocumentVector", helix.WithData(map[string]any{
        "vector_id": vectorID,
    })).Scan(&result); err != nil {
        log.Fatalf("GetDocumentVector failed: %s", err)
    }

    fmt.Printf("GetDocumentVector result: %#v\n", result)
}
import HelixDB from "helix-ts";

async function main() {
    const client = new HelixDB("http://localhost:6969");

    const created = await client.query("CreateDocumentVector", {
        vector: [0.12, 0.34, 0.56, 0.78],
        content: "Chunk about vector queries.",
    });
    const vectorId: string = created.doc_vector.id;

    const result = await client.query("GetDocumentVector", {
        vector_id: vectorId,
    });

    console.log("GetDocumentVector result:", result);
}

main().catch((err) => {
    console.error("GetDocumentVector query failed:", err);
});
curl -X POST \
  http://localhost:6969/CreateDocumentVector \
  -H 'Content-Type: application/json' \
  -d '{"vector":[0.12,0.34,0.56,0.78],"content":"Chunk about vector queries."}'

curl -X POST \
  http://localhost:6969/GetDocumentVector \
  -H 'Content-Type: application/json' \
  -d '{"vector_id":"<vector_id>"}'