PHP Object Graph Mapper for Neo4j


Keywords
database, annotations, graph, mapping, neo4j, mapper, ogm, cypher
License
Apache-2.0

Documentation

GraphAware Neo4j PHP OGM

Object Graph Mapper for Neo4j in PHP

Build Status Latest Stable Version Latest Unstable Version Total Downloads License

Current Release : 1.0.0-RC1

Basic Usage :

Storing / retrieving entities is done by declaring your entities with mapping annotations. It is very similar to the Doctrine2 ORM.

<?php

namespace Demo;

use GraphAware\Neo4j\OGM\Annotations as OGM;

/**
 * @OGM\Node(label="User")
 */
class User
{
    /**
     * @OGM\GraphId()
     */
    protected $id;

    /**
     * @OGM\Property(type="string")
     */
    protected $name;

    /**
     * @OGM\Property(type="int")
     */
    protected $age;


    // Getters and Setters
}
$this->em = $this->getEntityManager();
// The entity manager is generally created somewhere else in your application and available in the dependency injection container.
// More info about the creation is in the documentation

// Creating and Persisting a User

$bart = new User('Bart Johnson', 33);
$this->em->persist($bart);
$this->em->flush();

// Retrieving from the database

$john = $this->em->getRepository(User::class)->findOneBy(['name' => 'John Doe']);
echo $john->getAge();

// Updating
$john->setAge(35);
$this->em->flush();

Documentation

The documentation is available here.

Getting Help

For questions, please open a new thread on StackOverflow with the graphaware, neo4j and neo4j-php-ogm tags.

For isses, please raise a Github issue in the repository.

License

The library is released under the MIT License, refer to the LICENSE file bundled with this package.