Documentation
¶
Overview ¶
Package gotypeql provides a Go ORM for TypeDB 3.x.
Define your graph schema as Go structs with struct tags, and get type-safe CRUD operations, a chainable query builder, schema migrations, and code generation — all without writing raw TypeQL.
The module is organized into four packages:
- github.com/CaliLuke/go-typeql/v3/ast — TypeQL AST nodes and compiler
- github.com/CaliLuke/go-typeql/v3/gotype — ORM core: models, CRUD, queries, migrations
- github.com/CaliLuke/go-typeql/v3/tqlgen — Code generator: TypeQL schema to Go structs
- github.com/CaliLuke/go-typeql/v3/driver — Rust FFI bindings to typedb-driver 3.x (requires CGo)
The ast, gotype, and tqlgen packages compile and test without CGo or a running database. Only the driver package requires the Rust FFI library.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package ast provides builder helpers for ergonomic AST construction.
|
Package ast provides builder helpers for ergonomic AST construction. |
|
cmd
|
|
|
benchdb
command
|
|
|
Package driver provides TypeDB database connectivity via Rust FFI bindings.
|
Package driver provides TypeDB database connectivity via Rust FFI bindings. |
|
Package given defines typed TypeQL input rows without a driver or CGo dependency.
|
Package given defines typed TypeQL input rows without a driver or CGo dependency. |
|
Package gotype provides high-level TypeDB data mapping and CRUD operations.
|
Package gotype provides high-level TypeDB data mapping and CRUD operations. |
|
internal
|
|
|
naming
Package naming holds label conversions shared across packages: the Go-name to TypeDB-label conversion used by gotype (which derives default type names) and tqlgen (which must know when a generated struct needs an explicit type: override), and the injective label to TypeQL-variable encoding used by gotype and ast.
|
Package naming holds label conversions shared across packages: the Go-name to TypeDB-label conversion used by gotype (which derives default type names) and tqlgen (which must know when a generated struct needs an explicit type: override), and the injective label to TypeQL-variable encoding used by gotype and ast. |
|
perftrace
Package perftrace is the tracing hook for performance work in this repository.
|
Package perftrace is the tracing hook for performance work in this repository. |
|
perftrace/otelperf
Package otelperf connects perftrace to OpenTelemetry.
|
Package otelperf connects perftrace to OpenTelemetry. |
|
typeqlcheck
Package typeqlcheck is test support for validating generated TypeQL syntax with the official `typeql-check` CLI from typedb/typedb-tools.
|
Package typeqlcheck is test support for validating generated TypeQL syntax with the official `typeql-check` CLI from typedb/typedb-tools. |
|
Package tqlgen provides tools for parsing TypeQL schemas and generating Go code from them.
|
Package tqlgen provides tools for parsing TypeQL schemas and generating Go code from them. |
|
cmd/tqlgen
command
tqlgen generates Go code from TypeQL schema files.
|
tqlgen generates Go code from TypeQL schema files. |
Click to show internal directories.
Click to hide internal directories.