typeql
typeql copied to clipboard
TypeQL: the polymorphic query language of TypeDB
## What is the goal of this PR? We implement a subset of the TypeQL parser in Rust. The scope encompasses basic, i.e. non-aggregate, `match` queries like: ```typeql match $brando...
## Problem to Solve The grammar allows `match ... ; sort $x, $y, $z asc/desc;`. However, we should allowing each sort variable to have its own direction: `sort $x asc,...
## Problem to Solve We can currently project a matched variable into a single attribute type by using either the attribute type's name as a string, or as a type...
## Problem to Solve TypeDB has regex for string attributes but no Numeric Attribute Validation (min, max, range) ## Current Workaround An idea should be to > define > max-long-value...
Bravo for the great additions of 2.18! I would love to show you this list of common operators and functions that would be great to have in typeDB. Some have...
## Problem to Solve Unary negations are not allowed by the grammar. I.e. this expression is incorrect: `?x = -($a + $b)`. We'd like to add this unary operation.
## Problem to Solve Currently, parsing of a string containing multiple concatenated queries (as in TypeDB Studio) has the possibility to generate ambiguous results. Specifically: (`match`, `insert`) cannot be distinguished...
## Problem to Solve We should mirror the maven snapshot deployment tests, which test whether the deployed snapshot are useable or not. ## Proposed Solution Implement basic tests for Cargo...
## Problem to Solve All constraints in TypeQL are explicitly declared with a keyword a few exceptions. One is the use of a relation variable and a relation tuple: ```...
## Problem to Solve Currently the typeql crate provides declarative macros used for code generation (`string_enum!`, `error_messages!`) in its `common` submodule. ## Proposed Solution Replace declarative macros with more powerful...