2

Neo4j データベースで Java を使用してノードと関係を作成できます。次回の実行で作成されたノードにアクセスしようとすると、次のエラーが発生します。

Exception in thread "main" org.neo4j.graphdb.NotFoundException: Node 27 not found

webadmin インターフェイスでは、ダッシュボードに Java で作成されたノード/関係の数が表示されますが、次のクエリを発行すると: START n=node(*) RETURN n; 出力にはノードが 1 つしかありません。

(参考までに、Windowsマシン(ローカル)にNe04jをインストールし、組み込みデータベースJavaコードを使用してノードを作成しました。)dbに接続するために使用したJavaコード:

final String dbpath = "C:\\neo4j-community-1.9.4\\data\\graph.db";      
GraphDatabaseService graphdb =  new GraphDatabaseFactory().newEmbeddedDatabase(dbpath);

ne04j-server.properties で使用した設定は次のとおりです。

org.neo4j.server.database.location=/C:/neo4j-community-1.9.4/data/graph.db/
org.neo4j.server.webserver.https.keystore.location=data/keystore
org.neo4j.server.webadmin.rrdb.location=data/rrd
org.neo4j.server.webadmin.data.uri=/C:/neo4j-community-1.9.4/data/graph.db/
org.neo4j.server.webadmin.management.uri=/db/manage/

Java を介してノードを作成すると、データ/キーストア ファイルが読み込まれず、webadmin インターフェイスを介してノードを作成するときにのみ読み込まれます。キーストア ファイルのパスを絶対パスに変更しても機能しませんでした。

誰でもこのシナリオの間違いを指摘できますか、ありがとう。

4

3 に答える 3

2

問題は、作成されたノードがコミットされなかったことです。ノードをコミットするには、finish()を指定する必要があります。

try{
Transaction tx = graphdb.beginTx();
final String dbpath = "/C:/neo4j-community-1.9.4/data/graph.db/";
GraphDatabaseService graphdb =  new GraphDatabaseFactory().newEmbeddedDatabase(dbpath);
Node n1 = graphdb.createNode();
n1.setProperty("type", "company");
n1.setProperty("location", "india");
....
...
}} catch(Exception e){
   tx.failure();
} finally {
   tx.success();
  **tx.finish();**
}
于 2013-10-08T06:59:32.843 に答える