Why yet another query language?
Over the past few years, we’ve used Gremlin extensively for graph queries. It’s powerful and very expressive, but it’s also extremely verbose and horrible to read after any substantial complexity. The other major issue is that it’s obviously completely dynamic and is parsed at runtime when the query is executed. This leads to a horrible developer experience, not knowing if the query is valid until runtime. Building a new query language from scratch is obviously a big undertaking, but we thought it was a necessary step to improve the developer experience and make building with graphs better. Example Query Syntax:Components
QUERY: Keyword to start a query definitionQueryName: Identifier for the queryparameters: Input parameters in parenthesesType: Type of the parameter (e.g.String,I32,F64,Boolean,[Type]or schema Node/Edge)=>: Separates query header from body<-: Assignment operatorRETURN: Specifies output values
Next Steps
Deploy your first query
Learn how to deploy your first query in HelixQL.
Schemas
Learn about how to build your schema in HelixQL.
Traversals
Learn about how to traverse the graph in HelixQL.
Creating data
Learn about how to create data in HelixQL.
Vector operations
Learn about how to perform vector operations in HelixQL.
Keyword search
Learn about how to perform keyword search in HelixQL.
Properties
Learn about how to access properties in HelixQL.
Conditionals
Learn about how to use conditionals in HelixQL.
Result operations
Learn about how to perform result operations in HelixQL.
Output values
Learn about how to output values in HelixQL.
Types
Learn about the types of HelixQL.
Errors
Troubleshoot errors in HelixQL.