项目作者: jonestimd

项目描述 :
Java REST client for Neo4j database
高级语言: Java
项目地址: git://github.com/jonestimd/neo4j-rest-java.git
创建时间: 2016-07-15T01:18:25Z
项目社区:https://github.com/jonestimd/neo4j-rest-java

开源协议:MIT License

下载


neo4j-rest-java

travis-ci.org
codecov.io

Java REST client for Neo4j database

Features

  • Executes Cypher queries using Neo4j’s transaction API
    • Combines multiple queries in a single HTTP request
    • Streams results for reduced memory requirement
  • Automatically Pings transaction URL during long running task
    • Prevents transaction timeout
    • Configurable ping frequency

Basic Usage

  1. import java.util.Timer;
  2. import io.github.jonestimd.neo4j.client.http.ApacheHttpDriver;
  3. import io.github.jonestimd.neo4j.client.http.HttpDriver;
  4. import io.github.jonestimd.neo4j.client.transaction.TransactionManager;
  5. import io.github.jonestimd.neo4j.client.transaction.request.Statement;
  6. import io.github.jonestimd.neo4j.client.transaction.response.Node;
  7. import io.github.jonestimd.neo4j.client.transaction.response.Relationship;
  8. import io.github.jonestimd.neo4j.client.transaction.response.Response;
  9. import io.github.jonestimd.neo4j.client.transaction.response.StatementResult;
  10. import static java.util.Collections.*;
  11. import static io.github.jonestimd.neo4j.client.transaction.Transaction.*;
  12. // configure the transaction manager
  13. String baseUrl = "http://localhost:7474/db/data/transaction";
  14. HttpDriver httpDriver = new ApacheHttpDriver("neo4j", "neo4j", "localhost", 7474);
  15. Timer pingTimer = new Timer("ping timer", true);
  16. TransactionManager transactionManager = new TransactionManager(httpDriver, baseUrl,
  17. DEFAULT_JSON_FACTORY, pingTimer, 45000L);
  18. // run a query
  19. Response response = transactionManager.doInTransaction(tx -> tx.execute(
  20. new Statement("match p=(n:Item {itemId: {id}})<--(x) return n, p", singletonMap("id", 1L))));
  21. // process the results
  22. while (response.next()) {
  23. StatementResult result = response.getResult();
  24. while (result.next()) {
  25. result.getColumn("n");
  26. result.getColumn("p");
  27. result.getMeta("n");
  28. result.getMeta("p");
  29. result.getNodes();
  30. result.getRelationships();
  31. }
  32. }