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

时间:2014-09-24 20:35:30

标签: 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();

}

有什么建议吗?提前谢谢。

1 个答案:

答案 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/