在这两种情况下使用了哪个 Neo4j 端点?
Which Neo4j endpoint is in use in these two cases?
我在服务器模式下使用 Neo4J,密码查询是通过 REST API 发送的。我也在测量查询的性能,这就是我使用两个不同库的原因:
(标准?)neo4j-rest-graphdb.jar 我正在与 class RestAPIFacade:RestAPI graphDb = new RestAPIFacade(...);
建立连接
和
Neo4J-jDBC-2.1.4.jar
我在哪里使用 DriverManager.getConnection(..)
来建立连接。
据我了解,这里的一切都使用 REST,Neo4j 还没有 tcp/socket 连接。对于 REST API,您可以使用不同的 端点 (例如事务性 HTTP 端点,...),这将解释不同的执行时间。 jDBC 版本在 FOAF 查询上快了一半以上。
为什么会这样,用户代码背后发生了什么?
JDBC 使用流式传输数据的事务端点,
但也 returns 更少的有效载荷。
这还不是最快的实现。
如果你想要,你也许可以自己做,如下所示:
http://neo4j.com/docs/stable/server-java-rest-client-example.html#_sending_cypher
我这里还有一个更快的实现,我还需要合并到JDBC驱动中:
我在服务器模式下使用 Neo4J,密码查询是通过 REST API 发送的。我也在测量查询的性能,这就是我使用两个不同库的原因:
(标准?)neo4j-rest-graphdb.jar 我正在与 class RestAPIFacade:RestAPI graphDb = new RestAPIFacade(...);
和
Neo4J-jDBC-2.1.4.jar
我在哪里使用 DriverManager.getConnection(..)
来建立连接。
据我了解,这里的一切都使用 REST,Neo4j 还没有 tcp/socket 连接。对于 REST API,您可以使用不同的 端点 (例如事务性 HTTP 端点,...),这将解释不同的执行时间。 jDBC 版本在 FOAF 查询上快了一半以上。 为什么会这样,用户代码背后发生了什么?
JDBC 使用流式传输数据的事务端点, 但也 returns 更少的有效载荷。
这还不是最快的实现。
如果你想要,你也许可以自己做,如下所示:
http://neo4j.com/docs/stable/server-java-rest-client-example.html#_sending_cypher
我这里还有一个更快的实现,我还需要合并到JDBC驱动中: