Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 2.0.0RC1标签回归_Neo4j_Labels - Fatal编程技术网

Neo4j 2.0.0RC1标签回归

Neo4j 2.0.0RC1标签回归,neo4j,labels,Neo4j,Labels,将我的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;

将我的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
在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毫秒

标签在数据库中很好,当我查看任何节点详细信息时,我都可以看到它。 但是任何带有标签过滤的请求都会失败。

在这里可以工作:

➜  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中创建了节点,部分升级可能无法工作,这可能是您问题的根源。

在这里可以工作:

➜  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中创建了节点,部分升级可能无法工作,这可能是问题的根源。

正如Peter所说,升级仅在GA版本之间受支持。但是,此特定升级有一个解决方案。这仅适用于将2.0.0-M06数据库升级到2.0.0-RC1。它没有经过很好的测试,在开始之前你应该确保你有备份。如果您想尝试,以下是步骤:

  • 在Neo4j(2.0.0-M06)上的旧版本上完全关闭

  • 导航到数据库目录

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

    $ rm -rf schema/label
    
  • 从新版本的Neo4j(2.0.0-RC1)开始


  • 正如Peter所说,只支持GA版本之间的升级。但是,此特定升级有一个解决方案。这仅适用于将2.0.0-M06数据库升级到2.0.0-RC1。它没有经过很好的测试,在开始之前你应该确保你有备份。如果您想尝试,以下是步骤:

  • 在Neo4j(2.0.0-M06)上的旧版本上完全关闭

  • 导航到数据库目录

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

    $ rm -rf schema/label
    
  • 从新版本的Neo4j(2.0.0-RC1)开始


  • 也许有打字错误?在使用RC1的第一个示例中,返回的是
    c
    。在M06的第二个示例中,返回的是
    count(c)
    。好的,我刚刚安装了RC1,它还破坏了我所有基于标签的查询。恢复到M06,工作正常。这看起来像个bug。不是bug,只是里程碑之间没有自动升级。可能是打字错误?在使用RC1的第一个示例中,返回的是
    c
    。在M06的第二个示例中,返回的是
    count(c)
    。好的,我刚刚安装了RC1,它还破坏了我所有基于标签的查询。恢复到M06,工作正常。这看起来像一个bug。不是bug,只是里程碑之间没有自动升级。似乎仅适用于创建的新节点,但不适用于从2.0.0M06 DB导入的主题。似乎仅适用于创建的新节点,但不适用于从2.0.0M06 DB导入的主题。