0

我正在Neo4j通过他们的教程学习。

我已经完成了Hello World教程,但我想知道如何在 localhost 的 webadmin 中查看图表。我假设第一步不是调用removeData() 和shutDown(),但只是这样做并不能完成它。

基本上,我怎样才能运行本Hello World教程,然后通过 webadmin 查看/查询它?

4

2 回答 2

1

调用关机不会破坏您的数据。你能分享你的代码吗?还要确保您的 Neo4j 服务器指向您的代码中使用的相同数据库,即来自的 DB_PATH

graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH)

您可以在 neo4j 安装的 conf 目录中的文件 neo4j-server.properties 中检查此属性org.neo4j.server.database.location 。

于 2013-07-15T02:09:28.233 回答
0

如果您想要在项目停止后访问 webadmin,就像 Luanne 所说的那样,调用shutdown()不会删除任何内容,因此您可以转到your-neo4j-installation-path/conf/neo4j-server.properties并将org.neo4j.server.database.location属性更改为您在代码中使用的相同路径。

从您提供的链接中,这将是您放在这里的路径:

graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);

之后,您调用your-neo4j-installation-path/bin/neo4j start(或 neo4j.bat,如果您使用的是 Windows),它应该可以工作。

但是,如果您想要在项目运行时使用嵌入式服务器使 webadmin 对您可用,那么您应该这样做。

首先,要让 neo4j 嵌入工作,你应该把所有的 jars 放在your-neo4j-installation-path/lib/你项目的 buildpath 中,对吗?

要在使用嵌入式数据库时使 webadmin 可用,您应该将所有 jar 放入your-neo4j-installation-path/system/lib/项目的构建路径中。

然后,您将照常创建 GraphDatabaseService。

GraphDatabaseService graphDb; 
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);

然后,您将创建 WrappingNeoServerBootstrapper 类的实例。

WrappingNeoServerBootstrapper srv = new WrappingNeoServerBootstrapper((GraphDatabaseAPI) graphdb);

(构造函数接收一个 GraphDatabaseAPI,现在已弃用,因此我们创建一个 GraphDatabaseService 并在将其传递给时进行强制转换WrappingNeoServerBoorstrapper()

最后但并非最不重要的一点是,您使用方法start()

srv.start();

瞧。

如果你想让它停止,只需调用srv.stop()

我建议您添加一个registerShutdownHook()方法(如本教程建议的那样)并将该stop()方法放在那里。

private static void registerShutdownHook( final GraphDatabaseService graphDb )
{
    // Registers a shutdown hook for the Neo4j instance so that it
    // shuts down nicely when the VM exits (even if you "Ctrl-C" the
    // running application).
    Runtime.getRuntime().addShutdownHook( new Thread()
    {
        @Override
        public void run()
        {
            srv.stop();
            graphDb.shutdown();
        }
    } );
}

就是这样。

于 2013-07-15T18:13:12.343 回答