我正在使用neo4j 2.0
第3个里程碑。我正在使用正确的Java
dependency
与neo4j
网络服务器进行通信。
我导入了运行程序的数据,然后我通过DB
附带的网络界面查看了我生成的neo4j
。
但我无法看到图表,是我删除了DB
两三次,并再次生成它我可以看到更改。但是很奇怪。为什么更新我的DB
??
似乎某些文件正在锁定或似乎是一个错误。
我将尝试解释我的代码的核心,因为在此处粘贴它太长了。 我正在声明PATH var引用核心目录,我们的WebServer引用它们向我们展示图形可视化。
public class GraphRefactored
{
private static final String DB_PATH = "http://localhost:7474/data/db/graph.db";
public GraphRefactored(boolean newDb)
{
if(newDb)
{
clearDb();
}
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);//I use this way instead the deprecated EmbedddedDatabase(DB_PATH);
registerShutdownHook( graphDb );
}
private void clearDb(){
try
{
FileUtils.deleteRecursively( new File( DB_PATH ) );
}
catch ( IOException e )
{
throw new RuntimeException( e );
}
}
void shutDown(){
System.out.println();
System.out.println( "Shutting down database ..." );
// START SNIPPET: shutdownServer
graphDb.shutdown();
// END SNIPPET: shutdownServer
}
// START SNIPPET: shutdownHook
private static void registerShutdownHook( final GraphDatabaseService graphDb ){
// Registers a shutdown hook for the Neo4j instance so that it
// shuts down nicely when the VM exits (even if you "Ctrl-C" the
// running example before it's completed)
Runtime.getRuntime().addShutdownHook( new Thread()
{
@Override
public void run()
{
graphDb.shutdown();
}
} );
}
//我有创建节点和关系的方法。但是我没有附上这个,因为太长了。 的
它有时会起作用。事实是Neo4J引擎一直没有像预期的那样工作。我的直觉是应该是不同类型的锁,这使得数据库根本无法访问。我试图删除一些文件或从系统文件中删除所有数据库结构,有时它已经有效。
我应该删除或修改哪些文件?或者是否有一种属性可以设置? 我使用2.0版本,因为它支持标签。我使用的是1.9版本,一切都按预期工作,我使用了嵌入式数据库,neoclipse visualizer工作得很好。但是2.0版本的行为非常奇怪,当我在2.0中重新创建嵌入式图形时,除非我引用核心位置(不是嵌入式位置),否则neoclipse可视化器不起作用所以我开始将我的嵌入式DB放入核心Neo4J,有时创建节点和关系,有时不创建。
你有什么建议? 我将不胜感激。我用它来完成我的论文,我需要找到一个解决方案。
谢谢, 埃米利亚诺。