php-cypher-dsl
php-cypher-dsl copied to clipboard
A low-level query builder for Cypher written in PHP
I have this code, but am confused about how to convert it! even ChatGPT doesn't know LOL BTW: the documentation does not cover all aspects of this great lib, is...
# Bug report Cypher's `CREATE` clause supports reusing variables that were matched elsewhere in the query to create new relationships. For example: ``` MATCH (charlie:Person {name: 'Charlie Sheen'}), (oliver:Person {name:...
Variadic functions provide slightly improved readability as opposed to arrays: Without variadic functions: ```php $query = query() ->match([$a, $b]) ... ``` With variadic functions: ```php $query = query() ->match($a, $b)...
Hello once again :wave: I just found out ORDER BY allows for order modifier for each property. This is possible: `ORDER BY x.x ASC, x.y DESC` For this reason I...
Currently, cast methods are inserted into a class using the `CastTrait` trait. This has a few problems: * It requires an additional `use` statement which can get left behind after...
PHP 8.0 introduces the concept of [union types](https://wiki.php.net/rfc/union_types_v2), which allows us to explicitly type a function with multiple different types. php-cypher-dsl currently polyfills this feature through the `ErrorTrait` trait. However,...
See #89 for the associated discussion.
Currently, parentheses are always inserted when creating an expression (unless `$insertParentheses` is `false`). This leads to less readable expressions: compare `((a AND b) OR (c AND d))` to `a AND...
The `allShortestPath` and `shortestPath` constructs are currently not supported. Note that these are not functions, but rather a special kind "path": ``` Invalid input 'RETURN': expected "(", "allShortestPaths" or "shortestPath"...
Currently, the following clauses from the openCypher standard (https://s3.amazonaws.com/artifacts.opencypher.org/openCypher9.pdf) are missing: * `MANDATORY MATCH` * `UNWIND`