Java 使用“合并”创建Neo4J数据库的节点
我是Neo4J Cypher数据库的新手,在尝试使用Merge将值写入数据库时遇到了一个奇怪的错误Java 使用“合并”创建Neo4J数据库的节点,java,neo4j,Java,Neo4j,我是Neo4J Cypher数据库的新手,在尝试使用Merge将值写入数据库时遇到了一个奇怪的错误 GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( dbpath); ExecutionEngine engine = new ExecutionEngine( graphDb );; try (Transaction tx = graphDb.beginTx()){
GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( dbpath);
ExecutionEngine engine = new ExecutionEngine( graphDb );;
try (Transaction tx = graphDb.beginTx()){
result = engine.execute( youtubeQuery );
tx.success();
tx.close();
}
代码安静地运行,当我刷新neo4j浏览器时,没有记录。我通过在Neo4J浏览器中键入来检查查询是否有效。我的dbpath用于从Neo4J数据库读取值
GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( dbpath);
ExecutionEngine engine = new ExecutionEngine( graphDb );;
try (Transaction tx = graphDb.beginTx()){
result = engine.execute( youtubeQuery );
tx.success();
tx.close();
}
dbpath:localhost:7474/db/data/cypher
浏览器:localhost:7474/explorer
这里有什么问题吗?这只是路径问题还是我在tx.success之前错过了什么?有什么建议吗?最可能的情况是,代码中使用的dbpath与浏览器指向的dbpath不同。发布服务器配置可能是个好主意,这样我们就知道数据库在哪里,并让我们知道代码中的dbpath是什么。如果它们不一样,那就来吧。是我的数据库路径,是浏览器。。。。当我试图读取数据时,dbpath起作用了。这是一个URL,而不是dbpath。如果这就是您在java代码中使用的内容,那么您可能需要检查本地文件系统;您不能像那样使用RESTful API,它实际上可能正在创建一个名为localhost的本地目录。。。或者别的什么。我不是说URL,我是说检查一下:您服务器的org.neo4j.server.database.location是什么?这就是java代码中的dbpath。此外,要使其工作,服务器不能与java代码同时运行,否则数据库将被锁定。不要添加该行-检查已经存在的设置,并找出数据库存储的位置。是的,您必须停止服务器neo4j stop not abort才能成功运行java代码。一次只能有一个进程修改数据库。