【问题标题】:Which Neo4j endpoint is in use in these two cases?在这两种情况下使用哪个 Neo4j 端点?
【发布时间】:2015-11-21 10:50:58
【问题描述】:

我在服务器模式下使用 Neo4J,密码查询是通过 REST API 发送的。我也在测量查询的性能,这就是我使用两个不同库的原因:

(标准?)neo4j-rest-graphdb.jar 我正在与 RestAPIFacade 类建立连接:RestAPI graphDb = new RestAPIFacade(...);

Neo4J-jDBC-2.1.4.jar 我使用DriverManager.getConnection(..) 建立连接的地方。

据我了解,这里的一切都使用 REST,Neo4j 还没有 tcp/socket 连接。对于 REST API,您可以使用不同的端点(例如事务性 HTTP 端点,...),这将解释不同的执行时间。 jDBC 版本在 FOAF 查询上快一半以上。 为什么会这样?用户代码背后发生了什么?

【问题讨论】:

    标签: database rest neo4j graph-databases endpoint


    【解决方案1】:

    JDBC 使用传输数据的事务端点, 但它也返回更少的有效负载。

    这还不是最快的实现。

    如果你愿意,你可以自己做,如下所示:

    http://neo4j.com/docs/stable/server-java-rest-client-example.html#_sending_cypher

    我这里也有更快的实现,我还是需要合并到JDBC驱动中:

    https://github.com/jexp/neo4j-remoting-cypher/blob/master/src/main/java/transaction/CypherTransaction.java

    【讨论】:

      猜你喜欢
      • 2015-10-04
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      相关资源
      最近更新 更多