我从一堆30k xml文件创建了一个图形数据库。我想重用这个图形数据库来查询它。目前,我每次需要从中查询图形时都会创建图形数据库。由于数据集非常庞大,因此创建数据库需要大约两年。 40分钟。我不知道重复使用现有数据库的方式,而不是每次都创建它。如果你能告诉我如何做到这一点,我将不胜感激。 (Java语言,IDE-> IntelliJ,Redhat Linux)。使用现有的neo4j图形数据库进行查询,而不是每次创建新数据库(相同)
回答
我是新来的,但我看到有几个代码中的删除数据库方法。也许这是你的情况。尝试注释删除数据库方法o删除ir,并仅使用启动和关闭。
我想知道如何使用数据库,而无需每次启动和关闭Java代码运行,也许与api REST。我还没有答案,但我仍在寻找。
首先,您应该确保您的导入逻辑和您的查询逻辑不在相同的代码中,并且您可以在没有其他代码的情况下进行调用。
您创建的数据库存储在一个目录中。
- 如果你在服务器模式下,它在配置文件中指定:
neo4j-server.properties
(查找org.neo4j.server.database.location
)。 如果你在嵌入模式,声明数据库到图形工厂的路径:
graphDb =新GraphDatabaseFactory()newEmbeddedDatabase(PATH/TO/NEO.DB);
重复使用是什么意思?如果要同时使用来自多个客户端的数据库,请使用Neo4j Server和REST,请参阅http://docs.neo4j.org/chunked/snapshot/rest-api.html,并将服务器指向conf/neo4j-server.properties中的数据库目录。
此外,你可以点的Neo4j的新实例到同一数据库目录和方式打开您创建的数据库(独占),看到https://github.com/neo4j/neo4j/blob/master/community/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4j.java#L35
那是捂住用例?
/彼得
我有同样的问题,这导致从Neo4j documentation的code snippets马虎复制粘贴。每次运行代码时,所有以前创建的节点都被删除。
除了删除removeData
- 方法(由何塞提到的),你也应该删除以下行的createDb()
- 方法来防止这种情况:
FileUtils.deleteRecursively(new File(DB_PATH));
也许这还可以帮助任何人,即使话题老了。
- 1. Neo4j的创建图形数据库
- 2. 查询Neo4j图形数据库
- 3. 每次使用PDO数据库类而不创建新连接?
- 4. 从现有数据库创建数据库表正在进行
- 5. NHibernate QueryOver使用相同的查询查询数据库三次
- 6. 使用SQLAlchemy创建数据库一次,而不是每次程序运行时都重新创建它
- 7. 新项目,图形数据库?(Neo4j)
- 8. 使用LOAD CSV创建Neo4j图形数据库
- 9. 使用Django查询Neo4j数据库
- 10. 使用不同数据集运行TestMethod而不是数据库
- 11. 创建新数据库进行发布?
- 12. PHPMyAdmin和mySQL:插入到现有数据库中,而不是创建新数据库。错误“无法创建数据库;数据库存在”
- 13. 每次自动创建报警数据库获取新数据
- 14. 数据库查询到WordPress数据库返回的计数,而不是行
- 15. 的Neo4j图形数据库的设计和高效的查询
- 16. 创建新数据库或使用现有的ASP.NET身份数据库?
- 17. 更新查询更新数据库中的所有行而不是特定行
- 18. 添加新数据的Neo4j图形数据库
- 19. 创建两个相同Neo4j数据库的实例
- 20. 如何查询“批量插入的Neo4j”图形数据库?
- 21. 没有执行查询创建使用QtSQL数据库表
- 22. 在不同的数据库中运行相同的查询
- 23. 相同的查询,相同的数据库,不同的结果
- 24. 相同的查询,不同的数据库,相同的数据库结构,相同的数据库服务器,不同的执行计划
- 25. 如何让实体框架覆盖现有的数据库而不是创建新的数据库?
- 26. neo4j图形数据库中的效率
- 27. Neo4j的现成数据库
- 28. neo4j - 图形数据库以及关系数据库?
- 29. 数据库vs Solr vs图形数据库(Neo4j)
- 30. 更新正在运行的Neo4j图形数据库
这是怎么回事!我不明白究竟是什么让你每次运行查询时都创建图表! –
我不确定我是否理解。 Neo4j是一个数据库(暂时忘记它是* graph *数据库)。像其他任何数据库一样,它的设计目的是保持一段时间,而不是为一次性使用而创建,然后销毁。每次你想运行一个查询时,什么样的用例引导你创建数据库,而只是连接到你的数据库服务器并按你喜欢的频率来查询它? –