如何使用java api在neo4j中使用现有数据库?我已经创建了一个neo4j数据库,并希望将它用于多个查询。但是,当我打开我创建的现有数据库并进行一些查询时,它什么也没有返回。我使用的代码片段如下:
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();
}
有什么建议吗?提前谢谢。
答案 0 :(得分:0)
如果您在嵌入模式下使用Neo4j,即它在与您的应用程序相同的JVM中运行,您可以使用以下方式访问它:
GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DBPATH)
其中DBPATH是使用Webadmin创建的数据库的路径。您可以在neo4j安装目录/ conf / neo4j-server.properties中找到该路径(属性名称为org.neo4j.server.database.location)
一旦您实例化了graphDb,就可以Execute Cypher queries from Java
如果您没有在嵌入模式下使用Neo4j并希望连接到端口7474上运行的现有服务器,则可以使用java rest绑定:https://github.com/neo4j/java-rest-binding/