如何使用Java连接到本地安装的neo4j服务器

PFr*_*ank 16 java neo4j

我是Neo4J的新手,尽管我花了几个小时的谷歌搜索,却找不到我的问题的答案.

到目前为止,我一直在关注这些教程,现在我对如何/何时使用Neo4j有了基本的了解.现在,我即将开始修改我的hello-world代码并连接到我的机器上本地安装的Neo4J服务器,可通过http://127.0.0.1:7474访问.

原始连接(使用嵌入式数据库):

GraphDatabaseService gdb = new EmbeddedGraphDatabase("c:\\helloworld\\data\\graph.db");
Run Code Online (Sandbox Code Playgroud)

问题是,无论如何修改此行以连接到c:\neo4j\data\graph.db中的"服务器"数据库?服务器当前正在作为Windows服务运行,我可以使用Web管理工具查看其数据库.目前,我对使用REST API不感兴趣,因为服务器和客户端应用程序在同一台机器上运行.

我觉得我在这里遗漏了一些明显的东西......

sty*_*fle 5

我在包装器上找不到任何示例代码,所以这就是我最终要做的事情.

EmbeddedGraphDatabase graphDb = new EmbeddedGraphDatabase("C:\\neo4j\\data\\graph.db");
WrappingNeoServerBootstrapper srv = new WrappingNeoServerBootstrapper(graphDb);
srv.start();
try {
    while (System.in.read() != 46) {
    // wait until we send a period (.) to kill the server
    }
} catch (IOException e) {}
srv.stop();
Run Code Online (Sandbox Code Playgroud)

这将允许您访问localhost:7474并查看webadmin工具就像运行服务器一样,但也继续使用您常用的Java代码(使用输入流编写您自己的简单API来读取命令).


DNA*_*DNA 3

Windows 服务公开 REST 接口。

嵌入式接口完全不同 - 您将其指向数据库文件结构,然后通过 Java 方法调用访问它。

如果您同时运行两者,指向相同的数据,那么可能会发生不好的事情(实际上,我认为它会检测到这一点并阻止它)。因此,您可能需要停止服务和/或将数据从该实例备份到另一个目录。然后编辑您的EmbeddedGraphDatabase构造函数以指向该目录。

正如您可能已经看到的那样,该手册描述了嵌入式 Java 接口。另请参阅本节,其中简要提到了相当不错的基于 Web 的管理界面。