Wie verwende ich die vorhandene Datenbank in neo4j mit Java API? Ich habe bereits eine neo4j-Datenbank erstellt und wollte sie für mehrere Abfragen verwenden. Als ich jedoch die vorhandene Datenbank öffnete, die ich erstellt und eine Abfrage durchgeführt hatte, gab sie nichts zurück. Das Fragment von Code, den ich verwende, ist wie folgt:Neo4j: Wie öffne ich eine existierende Datenbank in neo4j mit Java API?
private static final String DB_PATH = "c:/Users/Reed/workspace/test/target1/ttldb";
GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
ExecutionEngine engine = new ExecutionEngine(db);
ExecutionResult result;
try (Transaction tx = db.beginTx();)
{
result = engine.execute("match (n) return n");
Iterator<Node> n_column = result.columnAs("n");
for (Node node : IteratorUtil.asIterable(n_column))
{
nodeResult = node + ": " + node.getProperty("name");
System.out.println(nodeResult);
}
tx.success();
}
Irgendwelche Vorschläge? Vielen Dank im Voraus.
Ihre variablen 'nodeResult' nicht deklariert . Sind Sie wirklich sicher, dass Ihre Datenbank Daten enthält? Wie haben Sie die Daten erstellt? Hast du dich nach deinem Import verpflichtet? – tstorms
Standardmäßig enthält die neo4j-Datenbank keine Daten. Sie sollten sicherstellen, dass Sie beim Ausführen von Schreibvorgängen in Ihrer Datenbank diese festschreiben und dass Sie die Datenbank ordnungsgemäß schließen (mithilfe eines Shutdown-Hooks, um sicherzustellen, dass die Daten ordnungsgemäß geleert werden). – Nicholas
Wenn Ihr Pfad der richtige ist (der DB-Ordner, den Sie bekommen möchten), sollte alles gut funktionieren. Das einzige was fehlt ist ein 'finally {tx.close()}' Block am Ende der try-Klausel. – Supamiu