Neo4j 2.0.0RC1标签回归

bas*_*ien 1 labels neo4j

将我的2.0.0M06 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
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

193毫秒

标签很好用在DB中,当我查看任何节点细节时,我可以看到它.但任何带标签过滤的请求都会失败.

小智 9

正如彼得所说,只有GA版本支持升级.但是,这种特定升级有一种解决方法.这仅适用于将2.0.0-M06数据库升级到2.0.0-RC1.它没有经过充分测试,你应该确保在开始之前有备份.如果您想尝试一下,请执行以下步骤:

  1. 在Neo4j(2.0.0-M06)上彻底关闭旧版本

    $ bin/neo4j stop
    
    Run Code Online (Sandbox Code Playgroud)
  2. 导航到数据库目录

    $ cd data/graph.db
    
    Run Code Online (Sandbox Code Playgroud)
  3. 删除标签扫描存储(这是具有新格式的关键部分).它将在启动时重新创建.

    $ rm -rf schema/label
    
    Run Code Online (Sandbox Code Playgroud)
  4. 从新版Neo4j开始(2.0.0-RC1)

    $ bin/neo4j start
    
    Run Code Online (Sandbox Code Playgroud)