Neo4j 中 GraphDatabaseServer 和 BOLT 的区别

Difference between GraphDatabaseServer and BOLT in Neo4j

我正在尝试在 Neo4J 中开始一个新的 Java 项目,通过一些教程和示例,我看到了从 Java 访问 Neo4j 的两种方法。 GraphDatabaseServer class 和 Bolt 驱动程序 classes.

据我了解,当您在 Neo4j 数据库中部署应用程序时,首选 GraphDatabaseServer,因为它可以直接访问底层数据库,而另一个可以轻松访问外部数据库服务器。这个对吗?是否有任何其他差异,其中一个或另一个的首选用例?

您提到的通过 Java 访问 Neo4j 的两种方式是嵌入式模式(Neo4j 与您的应用程序在同一 JVM 中运行)和远程服务器。

GraphDatabaseService 是让您访问嵌入式 Neo4j 实例的原因,如果您的 Neo4j 实例在服务器模式下运行,则此功能对您不可用。另外,您不能在非 jvm 语言中使用它。

另一方面,Bolt 是一种二进制协议,是访问远程 Neo4j 服务器(而不是早期基于 Http 的服务器)的首选方式。 Neo4j 提供多种语言的 Bolt 驱动程序。 (http://neo4j.com/docs/developer-manual/current/drivers/)