在这两种情况下使用哪个Neo4j端点?

时间:2015-11-21 10:50:59

标签: database rest neo4j graph-databases endpoint

我在服务器模式下使用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查询上快了一半多。 为什么这样以及用户代码后面发生了什么?

1 个答案:

答案 0 :(得分:0)

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