私はNeo4j
彼らのチュートリアルで学んでいます。
チュートリアルは機能していますHello World
が、localhost の webadmin でグラフを表示する方法を知りたいです。最初のステップは removeData() と shutDown() を呼び出さないことだと思いますが、それを行うだけでは達成できません。
基本的に、Hello World
チュートリアルを実行してから webadmin で表示/クエリするにはどうすればよいですか?
shutdown を呼び出しても、データは破壊されません。コードを共有できますか? また、Neo4j サーバーが、コードで使用されているのと同じデータベース、つまり DB_PATH を指していることを確認してください。
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH )
このプロパティorg.neo4j.server.database.locationは、neo4j インストールの conf ディレクトリにあるファイル neo4j-server.properties で確認できます。
Luanneが言ったように、プロジェクトが停止した後にwebadminにアクセスしたい場合は、呼び出し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
(Windows を使用している場合は neo4j.bat を) 呼び出すと、動作するはずです。
しかし、組み込みサーバーを使用して、プロジェクトの実行中に webadmin を利用できるようにしたい場合は、次のことを行う必要があります。
まず、neo4j 組み込みを機能させるには、すべての jar をyour-neo4j-installation-path/lib/
プロジェクトのビルドパスに配置する必要がありますよね?
組み込みデータベースの使用中に 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();
}
} );
}
以上です。