}
public Result query(final GraphDatabaseService graphDb, final String query, final Map<String, Object> params) {
ArrayList<Object[]> results = new ArrayList<>();
ArrayList<String> columnNames = new ArrayList<>();
ExecutionEngine engine = new ExecutionEngine(graphDb);
ExecutionResult result = engine.execute(query, params);
Boolean firstRow = true;
for(Map<String, Object> row : result) {
ArrayList<Object> rowResult = new ArrayList<>();
for(Map.Entry<String, Object> column : row.entrySet()) {