Я пытаюсь вставить данные в Neo4J с использованием Java API, описанных здесь: http://neo4j.com/docs/stable/batchinsert-examples.html. Я загрузил neo4j-community-2.1.6-unix.tar.gz
и распаковал его, затем создал BatchInserters.inserter("/path/to/neo4j/data/graph.db")
и начал процесс импорта.Neo4j пакетная вставка - несоответствие версии?
My Java использует следующую Maven зависимость, чтобы получить Neo4j:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>2.2.0-M01</version>
</dependency>
Если я запускаю импорт и данные, которые уже существуют в data/graph.db
(даже делая всего bin/neo4j start; bin/neo4j stop
), то я получаю эту ошибку:
org.neo4j.kernel.impl.store.NotCurrentStoreVersionException:
Was expecting store version [v0.A.4] but found [StringPropertyStore v0.A.3].
Store cannot be upgraded automatically.
at org.neo4j.kernel.impl.store.StoreVersionMismatchHandler$1.mismatch(StoreVersionMismatchHandler.java:38)
at org.neo4j.kernel.impl.store.CommonAbstractStore.verifyCorrectTypeDescriptorAndVersion(CommonAbstractStore.java:322)
at org.neo4j.kernel.impl.store.CommonAbstractStore.checkVersion(CommonAbstractStore.java:198)
at org.neo4j.kernel.impl.store.CommonAbstractStore.<init>(CommonAbstractStore.java:119)
at org.neo4j.kernel.impl.store.AbstractDynamicStore.<init>(AbstractDynamicStore.java:92)
at org.neo4j.kernel.impl.store.DynamicStringStore.<init>(DynamicStringStore.java:53)
at org.neo4j.kernel.impl.store.StoreFactory.newDynamicStringStore(StoreFactory.java:254)
at org.neo4j.kernel.impl.store.StoreFactory.newRelationshipTypeTokenStore(StoreFactory.java:273)
at org.neo4j.kernel.impl.store.StoreFactory.newRelationshipTypeTokenStore(StoreFactory.java:260)
at org.neo4j.kernel.impl.store.StoreFactory.newNeoStore(StoreFactory.java:171)
at org.neo4j.kernel.impl.store.StoreFactory.newNeoStore(StoreFactory.java:147)
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.<init>(BatchInserterImpl.java:257)
at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:94)
at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:88)
at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:63)
at org.neo4j.unsafe.batchinsert.BatchInserters.inserter(BatchInserters.java:51)
Если я вместо этого оставить data/graph.db
каталог несотворенные и выполнить импорт, импорт, кажется, идет по плану, но я не могу запустить базу данных позже - вот что в журнале после неудачных bin/neo4j start
:
% cat data/log/console.log
2014-12-11 21:52:22.942+0000 INFO [API] Setting startup timeout to: 120000ms based on -1
Detected incorrectly shut down database, performing recovery..
Нет фактического восстановления не кажется, выполняется, хотя, насколько я могу судить.
Если мне нужна старая версия кодовой базы импортера или что-то еще, где я могу ее найти?
Когда вы говорите, что вы покинули каталог, не созданный, импортируете, как планировалось, а затем не сможете запустить базу данных впоследствии ... что вы делаете после импорта? Предположительно, БД уже запущена. Вы пытаетесь запустить его снова, или вы убили сервер, или что происходит? – FrobberOfBits
Я понимаю, что процесс импорта не подключается к запущенной БД, он просто создает необработанные файлы в 'data/graph.db /'. Таким образом, во время или непосредственно после импорта DB не работает. –
Кен, это неправильно (или в значительной степени). Когда вы запустите нео-сервер, он присоединяется к этому местоположению ПО DEFAULT (но настраивается через файлы). В зависимости от того, как вы выполняете импорт, вы можете запускать встроенный, и в этом случае правила разные. Во время импорта должна быть установлена БД, иначе импорт не может произойти. – FrobberOfBits