0

私はNeo4j彼らのチュートリアルで学んでいます。

チュートリアルは機能していますHello Worldが、localhost の webadmin でグラフを表示する方法を知りたいです。最初のステップは removeData() と shutDown() を呼び出さないことだと思いますが、それを行うだけでは達成できません。

基本的に、Hello Worldチュートリアルを実行してから webadmin で表示/クエリするにはどうすればよいですか?

4

2 に答える 2

1

shutdown を呼び出しても、データは破壊されません。コードを共有できますか? また、Neo4j サーバーが、コードで使用されているのと同じデータベース、つまり DB_PATH を指していることを確認してください。

graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH )

このプロパティorg.neo4j.server.database.locationは、neo4j インストールの conf ディレクトリにあるファイル neo4j-server.properties で確認できます。

于 2013-07-15T02:09:28.233 に答える
0

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();
        }
    } );
}

以上です。

于 2013-07-15T18:13:12.343 に答える