The php-cypher-dsl library provides a way to construct Cypher queries in a type-safe manner.
The documentation can be found on the wiki here.
php-cypher-dsl requires PHP 8.1 or greater; using the latest version of PHP is highly recommended.
You can install php-cypher-dsl through Composer by running the following command:
composer require "wikibase-solutions/php-cypher-dsl"
Please refer to CONTRIBUTING.md for information on how to contribute to this project.
To construct a query to find all of Tom Hanks' co-actors, you can use the following code:
use function WikibaseSolutions\CypherDSL\node; use function WikibaseSolutions\CypherDSL\query; $tom = node("Person")->withProperties(["name" => "Tom Hanks"]); $coActors = node(); $statement = query() ->match($tom->relationshipTo(node(), "ACTED_IN")->relationshipFrom($coActors, "ACTED_IN")) ->returning($coActors->property("name")) ->build();
This produces the following Cypher query (where $1 is a random variable name):
MATCH (:Person {name: 'Tom Hanks'})-[:ACTED_IN]->()<-[:ACTED_IN]-($1) RETURN $1.name