Exemplo n.º 1
0
 private CypherResult doExecuteQuery(String query, boolean canProfile) {
   long time = System.currentTimeMillis();
   Transaction tx = gdb.beginTx();
   javax.transaction.Transaction resumeTx;
   try {
     resumeTx = suspendTx(query);
     ExecutionResult result =
         canProfile ? executionEngine.profile(query) : executionEngine.execute(query);
     final Collection<Map<String, Object>> data = IteratorUtil.asCollection(result);
     time = System.currentTimeMillis() - time;
     resumeTransaction(resumeTx);
     CypherResult cypherResult =
         new CypherResult(
             result.columns(),
             data,
             result.getQueryStatistics(),
             time,
             canProfile ? result.executionPlanDescription() : null,
             prettify(query));
     tx.success();
     return cypherResult;
   } finally {
     tx.close();
   }
 }
Exemplo n.º 2
0
  @Test
  public void find_john_has_seen() {
    ExecutionEngine engine = new ExecutionEngine(graphDb);

    String cql =
        "start user=node:users(name = \"John Johnson\")"
            + "match (user)-[:HAS_SEEN]->(movie)"
            + "return movie;";

    ExecutionResult result = engine.execute(cql);
    logger.info("Execution result:" + result.toString());
    for (Map<String, Object> row : result) {
      logger.info("Row:" + row);
    }
    List<String> columns = result.columns();
    for (String column : columns) {
      logger.info("Column:" + column);
      Iterator<Object> columnValues = result.columnAs(column);
      while (columnValues.hasNext()) {
        logger.info("Value:" + columnValues.next());
      }
    }
  }