Neo4j:如何使用java api在neo4j中打开现有数据库?

sga*_*gao 9 java neo4j

如何使用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();

}
Run Code Online (Sandbox Code Playgroud)

有什么建议?先感谢您.

Abd*_*naf 0

如果您在嵌入式模式下使用 Neo4j,即它与您的应用程序在同一 JVM 中运行,您可以使用以下方式访问它:

GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DBPATH)
Run Code Online (Sandbox Code Playgroud)

其中 DBPATH 是您使用 Webadmin 创建的数据库的路径。您可以在 neo4j 安装目录/conf/neo4j-server.properties 中找到该路径(属性名称为 org.neo4j.server.database.location)

实例化 graphDb 后,您可以从 Java 执行 Cypher 查询

如果您没有在嵌入式模式下使用 Neo4j 并且想要连接到在端口 7474 上运行的现有服务器,则可以使用 java rest 绑定: https: //github.com/neo4j/java-rest-binding/