ents24/neo4j-query-builder-php

Cypher query builder for PHP

dev-master 2017-07-19 12:40 UTC

This package is not auto-updated.

Last update: 2024-04-28 01:39:54 UTC


README

Forked from adadgio/graph-bundle.

I needed a Cypher query builder and liked this one, but without all the Symfony and related gubbins.

Install

Install with composer:

composer require ents24/neo4j-query-builder-php:dev-master

Usage Examples

use Adadgio\GraphBundle\ORM\Cypher;

$cypher = (new Cypher())
    ->match('a', 'Document')
    ->match('b', 'Page')
    ->andReturn('a.id, a.name AS `a.test`, b.id, b.name')->withLabels()->withId();

// is the same as
$cypher = (new Cypher())
    ->match('a', 'Document')
    ->match('b', 'Page')
    ->andReturn('a.id, a.name AS `a.test`, b.id, b.name, labels(a), labels(b), id(a), id(b)');

// trying queries with relationships constraints (and passing string to manager instead of object)
$queryString = (new Cypher())
    ->match('a', 'Countries', array('id' => 5))
    ->newPattern()
    ->match('b', ':City:Town')
        ->relatedWith('a')
        ->by('r', 'IS_IN', array('max' => 3), '->')
    ->newPattern()
    ->match('a')
    ->getQuery();

$cypherA = (new Cypher())
    ->match('a', 'Document', array('id' => 389))
    ->set('a', array('name' => 'The good, the bad and the ugly'));

$cypherB = (new Cypher())
    ->match('a', 'Document', array('id' => 390))
    ->set('a', array('name' => 'The good, the bad and the ugly'));