我从一堆 30k xml 文件中创建了一个图形数据库。我想重用这个图形数据库来查询它。目前,每次我必须从中查询某些内容时,我都会创建图形数据库。由于数据集很大,创建数据库大约需要 . 40 分钟。我不知道重用现有数据库而不是每次都创建它的方式。如果您能告诉我如何执行此操作,我将不胜感激。(Java 语言、IDE-> IntelliJ、Redhat Linux)。
4 回答
我是这方面的新手,但我看到几个代码中有一个删除数据库方法。也许这就是你的情况。尝试注释掉删除数据库方法o delete ir,并且只使用启动和关闭。
我想知道每次Java代码运行时如何使用数据库而无需启动和关闭,也许是使用api REST。我还没有答案,但我仍在寻找。
首先,您应该确保您的导入逻辑和查询逻辑不在同一代码上,并且您可以在没有另一个的情况下调用。
您创建的数据库存储在一个目录中。
- 如果您处于服务器模式,则在配置文件中指定:(
neo4j-server.properties
查找org.neo4j.server.database.location
)。 如果您处于嵌入式模式,则将数据库的路径声明到图形工厂:
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(PATH/TO/NEO.DB);
重用是什么意思?如果您想同时从多个客户端使用数据库,请使用 Neo4j 服务器和 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
这是否涵盖了您的用例?
/彼得