public function sendCypherQuery($query, array $parameters = array(), $conn = null, $queryMode = null)
    {
        $command = $this->invoke('neo.send_cypher_query', $conn);
        if (!is_string($query)) {
            throw new CypherException('You need to send a Cypher query as a string. Usage: "$neoclient->sendCypherQuery(string $query, array $params);"');
        }

        $httpResponse = $command->setArguments($query, $parameters, $this->resultDataContent, $queryMode)
          ->execute();

        return $this->handleHttpResponse($httpResponse);
    }