Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j:如何使用JavaAPI在Neo4j中打开现有数据库?_Java_Neo4j - Fatal编程技术网

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

Neo4j:如何使用JavaAPI在Neo4j中打开现有数据库?,java,neo4j,Java,Neo4j,如何使用java api使用neo4j中的现有数据库?我已经创建了一个neo4j数据库,并希望将其用于几个查询。但是,当我打开我创建的现有数据库并执行一些查询时,它没有返回任何内容。我使用的代码片段如下所示: private static final String DB_PATH = "c:/Users/Reed/workspace/test/target1/ttldb"; GraphDatabaseService db = new GraphDatabaseFactory().newEmbed

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

}
private static final String DB_PATH=“c:/Users/Reed/workspace/test/target1/ttldb”;
GraphDatabaseService db=new GraphDatabaseFactory().newEmbeddedDatabase(db_路径);
ExecutionEngine=新ExecutionEngine(db);
执行结果;
try(事务tx=db.beginTx();)
{
结果=引擎执行(“匹配(n)返回n”);
迭代器n_column=result.columnAs(“n”);
for(节点:IteratorUtil.asIterable(n_列))
{
nodeResult=node+“:”+node.getProperty(“名称”);
System.out.println(nodeResult);
}
成功();
}

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

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

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

一旦实例化了graphDb,就可以


如果您不是在嵌入式模式下使用Neo4j,并且希望连接到在端口7474上运行的现有服务器,则可以使用java rest绑定:

您的变量
nodeResult
未声明。您真的确定您的数据库包含数据吗?您是如何创建数据的?导入后是否提交?默认情况下,neo4j数据库将不包含任何数据。您应该确保当您在数据库中执行写操作时,您正在提交它们,并且您正在正确地关闭数据库(使用关机挂钩确保数据被正确刷新)。如果您的路径是正确的(您想要获取的数据库文件夹),那么一切都应该正常工作。唯一缺少的是在您的试用子句末尾的<代码>最后{tx.Cutele[}] }/Cux.Bug。您应该考虑NY4J数据库来自何处。如果您正在读取的数据库的版本与您的客户机的版本大不相同,您可能会遇到麻烦。neo4j站点非常清楚哪些客户端可以读取哪些数据库版本。