Neo4J结果没有更新

时间:2014-12-03 10:11:23

标签: java graph neo4j

我有一个非常罕见的问题。我有一个插入A NEO4j数据库的java程序。该程序在我的local_host环境中运行正常,但是当我将其部署到服务器(neo4j所在的位置)时,数据库不会更新。这是我做的事情

//First delete the DB
ExecutionEngine engine = new ExecutionEngine(db);       
engine.execute("MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r");

Transaction tx = db.beginTx();
//insertion here
tx.success();
tx.close();

//look if it was correctly updated
System.out.println("NODES: " + engine.execute("START n=node(*) RETURN     count(n)").dumpToString());
System.out.println("RELATIONSHIPS: " +engine.execute("START r=relationship(*) RETURN count(r)").dumpToString());
db.shutdown();

如果我查看日志,一切正常

UPDATED
NODES: +----------+
| count(n) |
+----------+
| 99       |
+----------+
1 row

RELATIONSHIPS: +----------+
| count(r) |
+----------+
| 76       |
+----------+
1 row

但是当我通过浏览器调查Neo4J Db 没有发生任何事情以前的结果仍然存在!请注意,如果我在 Local_host环境上运行相同的程序,行为是相同的,但在这种情况下正确更新

提前谢谢

1 个答案:

答案 0 :(得分:1)

感谢您的建议我解决了这个问题。问题是通往Neo4J DB的路径。当您在Neo4J DB所在的同一实例中运行neo4j程序时,您必须指定文件夹的路径而不是IP。它实际上正在创建一个新的neo4j,由IP命名。

我用过

public final static String CONEXION_NEO4J = "/folder/of/neo4jdb/database.db";
GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(CONEXION_NEO4J)

而不是

public final static String CONEXION_NEO4J = "//X.X.X.X/neo4j/database.db";
GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(CONEXION_NEO4J)

此致