我正在编写一个使用neo4j的测试应用程序.我一直在尝试按照一些教程,在线阅读,并检查文档,最常用的方法是使用嵌入式neo4j.
现在,由于多种原因,这对我不起作用.(例如,不同机器上的服务器等)
我正在使用 :
"org.neo4j" % "neo4j" % "2.1.5",
"org.neo4j" % "neo4j-rest-graphdb" % "2.0.1",
Run Code Online (Sandbox Code Playgroud)
并以这种方式连接到neo4j:
GraphDatabaseService gds = new RestGraphDatabase("http://neo4jserver_address:7474/db/data");
Run Code Online (Sandbox Code Playgroud)
如前所述,在另一篇SO帖子中,这RestGraphDatabase不是一个完整的实现GraphDatabaseService,在尝试使用时会导致各种各样的麻烦,例如:
"com.graphaware.neo4j" % "timetree" % "2.1.5.25.18",
Run Code Online (Sandbox Code Playgroud)
此外,由于同样的问题RestGraphDatabase不允许使用的事实GlobalGraphOperations.
我已经尝试查找我发现的官方文档,并再次给出了嵌入式数据库的示例.
我的问题是,如果有人知道以正确的方式连接到远程neo4j服务器的正确方法,我可以在文档中的哪些地方读到这一点?
此外,我没有使用neo4j HA,虽然我有一年的测试许可证.
PS - 不需要通过REST连接.协议是无关紧要的,问题是如何使用API连接到远程neo4j服务器(通过任何协议)并最终实现正确的完整实现GraphDatabaseService
我知道您真正想要的是GraphDatabaseService附加到 RESTful 端点的对象。这就是您的代码所说的内容,但根据我对情况的最佳理解,您也了解有关该实现的问题和限制的正确事实。
好的,鉴于此 - 我认为最好的答案是直接从 java 使用 REST API。该链接提供了详细的文档。但本质上,您不会处理Node和Relationship对象,而是处理 HTTP 请求和响应以及 JSON 处理。
请参阅我提供的链接后面的示例,它提供了许多有关如何使其工作的代码示例。好消息是您可以在服务器端执行任何操作。坏消息是它不太方便。我也希望GraphDatabaseService将来能有一个非常好的实施。如果我的代码不必关心数据库是本地文件还是远程服务,那将会非常强大。