neo4j es una base de datos de grafos que puede ser muy útil para aplicaciones tipo redes sociales. El problema para los que usamos PHP es que neo4j está en Java y para usarlo desde PHP o se una un bridge que conecte con Java o usar la versión REST de neo4j y acceder vía web.
Su uso es muy sencillo:
$graphDb = new GraphDatabaseService('http://localhost:9999/');
$node = $graphDb->createNode();
$node->message = "Hello, ";
$node->blah = "blah blah";
$node->save();
Se le puede añadir todas las propiedades que se quieran, que se transforman en un array de datos que luego se enviarán en json.
El único problema que tiene esta librería es que no genera índices, aunque es muy sencillo modificar, ya que tan solo es necesario añadir una llamada para generar el índice:
HTTPUtil::jsonPostRequest($this->_neo_db->getBaseUri().'index/node/clave/'.$this->_data['clave'], $this->_neo_db->getBaseUri().'node/'.$this->_id);
siendo ‘clave’ lo que queramos añadir como índice. También es necesario modificar HTTPUtil::jsonRequest para que cuando $data no sea un array no se codifique en JSON.
Neo4J REST PHP API client