public <QL> ResultIterator<Map<String, Object>> execute(QL expression, Map<String, Object> parameters) {
RestAPI restAPI = getGraphDatabaseService().getRestAPI();
RestCypherQueryEngine restCypherQueryEngine = new RestCypherQueryEngine(restAPI);
QueryResult<Map<String, Object>> queryResult = restCypherQueryEngine.query(getCypher(expression), parameters);
final Iterator<Map<String, Object>> iterator = queryResult.iterator();
return new ResultIterator() {
@Override
public boolean hasNext() {
return iterator.hasNext();
}