С новой версией Spring Data Neo4j я не могу использовать Neo4jHelper.cleanDb (db);Очистить Neo4j Встроенная база данных
Итак, что является самым эффективным способом полностью очистить встроенную базу данных Neo4j в моем приложении?
Я выполнил свой собственный метод UTIL для этой цели, но этот метод является медленным:
public static void cleanDb(Neo4jTemplate template) {
template.query("MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r", null);
}
Как правильно очистить/удалить базу данных?
ОБНОВЛЕНО
Это аналогичный вопрос How to reset/clear/delete neo4j database?, но я не знаю, как программно отключение встроенного Neo4j и как запустить его после удаления.
Я использую Spring Data Neo4j и по запросу пользователя хочу очистить/удалить существующую базу данных и воссоздать ее новыми данными. Как запустить новую встроенную базу данных после предлагаемого вызова метода shutdown?
использования:
На рабочем приложении я настроен встроенную базу данных:
GraphDatabaseService graphDb = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(environment.getProperty(NEO4J_EMBEDDED_DATABASE_PATH_PROPERTY))
.setConfig(GraphDatabaseSettings.node_keys_indexable, "name,description")
.setConfig(GraphDatabaseSettings.node_auto_indexing, "true")
.newGraphDatabase();
Кроме того, я предварительно заполнить эту базу данных с узлами 1000000. По запросу пользователя мне нужно очистить эту базу данных и заполнить ее новыми данными. Как правильно и быстро очистить существующую базу данных?
Можно ли вызвать API базы данных Neo4j для создания новых узлов после database.shutdown()
или мне нужно инициализировать новую базу данных до этого?
возможный дубликат [Как сбросить базу данных neo4j?] (http://stackoverflow.com/questions/23310114/how-to-reset-neo4j-database) – FrobberOfBits