Skip to content

neo4j-php/cypher-data-structures

Repository files navigation

GitHub Packagist PHP Version Support (specify version) Packagist Version Packagist Downloads

Unit Tests Mutant Test Leak Tests PHPStan Psalm Code Style YML lint Markdown lint Test Coverage Maintainability

Syndesi's Cypher Data Structures

This library provides basic data classes, so that working with Cypher based graph databases becomes easy.

Installation

To install this library, run the following code:

composer require syndesi/cypher-data-structures

This is all, now you can use the library :D

Using the library

use Syndesi\CypherDataStructures\Type\Node;
use Syndesi\CypherDataStructures\Type\Relation;

$node = new Node();
$node
    ->addLabel('NodeLabel')
    ->addIdentifier('id', 123)
    ->addProperty('someProperty', 'someValue')
    ->addIdentifier('id');

$otherNode = new Node();
$otherNode
    ->addLabel('OtherNodeLabel')
    ->addIdentifier('id', 234)
    ->addProperty('hello', 'world :D')
    ->addIdentifier('id');

$relation = new Relation();
$relation
    ->setStartNode($node)
    ->setEndNode($node)
    ->setType('SOME_RELATION');

Advanced integration

This library itself does not provide advanced features like validation. Those are separated into their own projects:

  • Validation: Work in progress, not yet released.
  • Entity Manager: Automatically creates and runs Cypher statements from data objects of this library for you.