Skip to main content
HelixQL is a strongly typed, compiled query language for HelixDB that combines the best features of Gremlin, Cypher, and Rust to provide type-safe graph and vector queries.

Why use HelixQL instead of other query languages?

HelixQL addresses key limitations found in existing graph query languages:
  • Type safety: Queries are validated at compile time, catching errors before runtime
  • Readability: Clean, concise syntax that remains readable even for complex queries
  • Performance: Compiled queries execute faster than dynamically parsed alternatives
  • Developer experience: IDE support with autocomplete and type checking
Unlike Gremlin’s verbose syntax or Cypher’s runtime parsing, HelixQL provides a modern, type-safe approach to graph querying.

How do I write a HelixQL query?

HelixQL queries follow a simple, declarative syntax:
QUERY QueryName(param1: Type, param2: Type) =>
    result <- traversal_expression
    RETURN result

Query components

  • QUERY: Keyword to start a query definition
  • QueryName: Identifier for the query
  • parameters: Input parameters in parentheses
  • Type: Type of the parameter (e.g. String, I32, F64, Boolean, [Type] or schema Node/Edge)
  • =>: Separates query header from body
  • <-: Assignment operator
  • RETURN: Specifies output values

Next Steps