2014-12-11 6 views
0

Я пытаюсь вставить данные в 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.. 

Нет фактического восстановления не кажется, выполняется, хотя, насколько я могу судить.

Если мне нужна старая версия кодовой базы импортера или что-то еще, где я могу ее найти?

+0

Когда вы говорите, что вы покинули каталог, не созданный, импортируете, как планировалось, а затем не сможете запустить базу данных впоследствии ... что вы делаете после импорта? Предположительно, БД уже запущена. Вы пытаетесь запустить его снова, или вы убили сервер, или что происходит? – FrobberOfBits

+0

Я понимаю, что процесс импорта не подключается к запущенной БД, он просто создает необработанные файлы в 'data/graph.db /'. Таким образом, во время или непосредственно после импорта DB не работает. –

+0

Кен, это неправильно (или в значительной степени). Когда вы запустите нео-сервер, он присоединяется к этому местоположению ПО DEFAULT (но настраивается через файлы). В зависимости от того, как вы выполняете импорт, вы можете запускать встроенный, и в этом случае правила разные. Во время импорта должна быть установлена ​​БД, иначе импорт не может произойти. – FrobberOfBits

ответ

1

Понял, что это было так же просто, как изменение моей зависимости от Maven до <version>2.1.6</version>. Duh.

Смежные вопросы