我正在Neo4j
通过他们的教程学习。
我已经完成了Hello World
教程,但我想知道如何在 localhost 的 webadmin 中查看图表。我假设第一步不是调用removeData() 和shutDown(),但只是这样做并不能完成它。
基本上,我怎样才能运行本Hello World
教程,然后通过 webadmin 查看/查询它?
调用关机不会破坏您的数据。你能分享你的代码吗?还要确保您的 Neo4j 服务器指向您的代码中使用的相同数据库,即来自的 DB_PATH
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH)
您可以在 neo4j 安装的 conf 目录中的文件 neo4j-server.properties 中检查此属性org.neo4j.server.database.location 。
如果您想要在项目停止后访问 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();
}
} );
}
就是这样。