2013-11-20 2 views
1

после импорта моей базы данных 2.0.0M06 Neo4j к новой версии 2.0.0RC1, это, кажется, этикетки запрос не работает:Neo4j 2.0.0RC1 этикетки регрессии

На 2.0.0RC1

neo4j-sh (?)$ start n=node(*) return count(*);    
+----------+ 
| count(*) | 
+----------+ 
| 246  | 
+----------+ 
1 row 
219 ms 

219 ms 
neo4j-sh (?)$ MATCH (c:contract) return c;     
+---+ 
| c | 
+---+ 
+---+ 
0 row 
244 ms 

На 2.0.0M06

neo4j-sh (root,0)$ start n=node(*) return count(n); 
+----------+ 
| count(n) | 
+----------+ 
| 246  | 
+----------+ 
1 row 
1205 ms 
neo4j-sh 

neo4j-sh (root,0)$ match (c:contract) return count(c); 
+----------+ 
| count(c) | 
+----------+ 
| 55  | 
+----------+ 
1 row 

193 мс

Этикетки хорошо в БД, и когда я смотрю какие-либо детали узла я могу видеть это. Но любой запрос с фильтрацией меток терпит неудачу.

+0

Может быть, есть опечатка? В первом примере с RC1 вы возвращаете 'c'. Во втором примере с M06 вы возвращаете 'count (c)'. –

+0

Хорошо, я только что установил RC1, и он также сломал все мои запросы на основе меток. Вернулся к M06, и он работал нормально. Это похоже на ошибку. –

+0

Да, ошибка (BIG) ... – bastien

ответ

0

это работает здесь:

➜ neo4j-community-2.0.0-RC1 bin/neo4j-shell   
Welcome to the Neo4j Shell! Enter 'help' for a list of commands 
NOTE: Remote Neo4j graph database service 'shell' at port 1337 

neo4j-sh (?)$ create (n:contract); 
+-------------------+ 
| No data returned. | 
+-------------------+ 
Nodes created: 1 
Labels added: 1 
505 ms 
neo4j-sh (?)$ match (n:contract) return n; 
+-----------+ 
| n   | 
+-----------+ 
| Node[0]{} | 
+-----------+ 
1 row 
243 ms 
neo4j-sh (?)$ 

С 2.0.0.M06, формат магазина был изменен, и нет автоматического обновления между этапами (потому что они являются вехами :). Итак, если вы создали узлы в Neoj4 2.0.0.M06, части обновления могут не работать, что, вероятно, является причиной вашей проблемы.

+0

Кажется, работает только на новых узлах (-ах), но не с тезисами, импортированными из DB 2.0.0M06. – bastien

9

Как утверждает Питер, обновление поддерживается только между версиями GA. Тем не менее, для этого конкретного обновления существует обход. Это относится только к обновлению базы данных 2.0.0-M06 до 2.0.0-RC1. Это не очень хорошо протестировано, и вы должны убедиться, что у вас есть резервная копия, прежде чем начать. Если вы хотите попробовать, вот шаги:

  1. Чистоплотных выключения на старую версию на Neo4j (2.0.0-M06)

    $ bin/neo4j stop 
    
  2. Перейдите в каталог базы данных

    $ cd data/graph.db 
    
  3. Удалите магазин проверки метки (это критическая часть, имеющая новый формат). Он будет воссоздан при запуске.

    $ rm -rf schema/label 
    
  4. Начать с новой версией Neo4j (2.0.0-RC1)

    $ bin/neo4j start 
    
+0

Это работа, спасибо. – bastien

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