private Stream<RowResult> getRowResultStream(boolean virtual, Session session, Map<String, Object> params, String statement, boolean read) { Map<Long, Object> nodesCache = new HashMap<>(); return StreamSupport.stream(Spliterators.spliteratorUnknownSize(runStatement(statement, session, params, read), 0), true) .map(record -> new RowResult(record.asMap(value -> { Object entity = value.asObject(); if (entity instanceof Node) return toNode(entity, virtual, nodesCache); if (entity instanceof Relationship) return toRelationship(entity, virtual, nodesCache); if (entity instanceof Path) return toPath(entity, virtual, nodesCache); return entity; }))); }
private static Value parameters( Record record ) { return record == null ? Values.EmptyMap : parameters( record.asMap() ); }
private Map<String, Object> buildModel() { Map<String, Object> row = new LinkedHashMap<>(); if (resultProjection.hasNext()) { row = restModelAdapter.adapt(resultProjection.next().asMap()); } return row; }
private Map<String, Object> buildModel() { Map<String, Object> row = new LinkedHashMap<>(); if (resultProjection.hasNext()) { row = restModelAdapter.adapt(resultProjection.next().asMap()); } return row; } }
@Override public StatementResult run(String statementTemplate, Record statementParameters) { return run(statementTemplate, statementParameters.asMap()); }
@Override @Nonnull public String format(@Nonnull final BoltResult result) { List<Value> data = result.getRecords().stream() .map(r -> Values.value(r.<Value>asMap(v -> v))) .collect(Collectors.toList()); return formatValues(data, result.getKeys()); }
@Override public String[] columns() { if (result.hasNext()) { Record record = result.peek(); if (record != null) { Set<String> columns = result.peek().asMap().keySet(); return columns.toArray(new String[columns.size()]); } } return new String[0]; } }
@Override public String[] columns() { if (result.hasNext()) { Record record = result.peek(); if (record != null) { Set<String> columns = result.peek().asMap().keySet(); return columns.toArray(new String[columns.size()]); } } return new String[0]; } }
Driver driver = GraphDatabase.driver( "bolt://localhost", AuthTokens.basic( "neo4j", "neo4j" ) ); Session session = driver.session(); StatementResult result = session.run( "MATCH (a:Person) WHERE a.name = 'Arthur' RETURN a.name AS name, a.title AS title" ); while ( result.hasNext() ) { Record record = result.next(); gson.toJson(record.asMap()); } session.close(); driver.close();
@Override public Iterator<Map<String, Object>> query(String query, Map<String, Object> params) { try (Session session = driver.session()) { List<Map<String, Object>> list = session.run(query, params) .list( r -> r.asMap(BoltCypherExecutor::convert)); return list.iterator(); } }
@Override public RowModel fetchNext() { if (result.hasNext()) { return adapter.adapt(result.next().asMap()); } return null; } }
@Override public GraphModel fetchNext() { if (result.hasNext()) { return adapter.adapt(result.next().asMap()); } return null; } }
@Override public RowModel fetchNext() { if (result.hasNext()) { return adapter.adapt(result.next().asMap()); } return null; } }
@Override public GraphModel fetchNext() { if (result.hasNext()) { return adapter.adapt(result.next().asMap()); } return null; } }
StatementResult run = session.run(myQuery.toString()); while (run.hasNext()) { System.out.println(run.next().asMap());
@Override public QueryResult getNodes(Query query, QueryOptions queryOptions) throws BioNetDBException { Session session = this.driver.session(); long startTime = System.currentTimeMillis(); String nodeName = "n"; String myQuery = "MATCH " + Neo4JQueryParser.parse(nodeName, query, queryOptions) + " RETURN " + nodeName; System.out.println("Query: " + myQuery); long stopTime = System.currentTimeMillis(); // TODO: Build new Network with the result StatementResult run = session.run(myQuery); while (run.hasNext()) { System.out.println(run.next().asMap()); } int time = (int) (stopTime - startTime) / 1000; session.close(); return new QueryResult("get", time, 0, 0, null, null, Arrays.asList(new Network())); }
when(record.get(eq("node"))).thenReturn(nodeVal); when(record.<Value>asMap(anyObject())).thenReturn(recordMap);
@Override public GraphQueryResult execute(String query, Map<String, Object> statementParameters) { try { Driver driver = GraphDatabase.driver(url, auth); try { try (Session session = driver.session()) { Neo4jBoltBuffer buffer = new Neo4jBoltBuffer(); long startTime = System.currentTimeMillis(); StatementResult statementResult = session.run(query, statementParameters); buffer.addColumns(statementResult.keys()); for (Record record : statementResult.list()) { // Add row buffer.addRow(record.asMap()); } buffer.addResultSummary(statementResult.consume()); long endTime = System.currentTimeMillis(); return new Neo4jBoltQueryResult(endTime - startTime, buffer); } } finally { driver.closeAsync(); } } catch (UnresolvedAddressException e) { throw new ClientException(e.getMessage()); } }