/** * Formats the Neo4j Response. * * @param array $response * @param \GraphAware\Common\Cypher\Statement[] $statements * * @return ResultCollection * * @throws Neo4jException */ public function format(array $response, array $statements) { if (isset($response['errors'][0])) { $e = new Neo4jException($response['errors'][0]['message']); $e->setNeo4jStatusCode($response['errors'][0]['code']); throw $e; } $results = new ResultCollection(); foreach ($response['results'] as $k => $result) { $resultO = new Result($statements[$k]); $resultO->setFields($result['columns']); foreach ($result['data'] as $data) { $resultO->pushRecord($data['rest'], $data['graph']); } if (array_key_exists('stats', $result)) { $resultO->setStats($result['stats']); } $results->add($resultO, $statements[$k]->getTag()); } return $results; }