Neo4J(3.4.8)拒绝简单的CREATE CONSTRAINT Cypher命令。不知道如何进行

时间:2018-10-09 00:56:35

标签: neo4j

我已经开始学习NEO4J,并认为我在开发基本的Cypher行方面做得很好,并成功加载了我的第一个CSV文件。

然后,我需要为节点添加唯一性约束,这就是我碰壁的地方。该软件拒绝接受该命令,尽管我多次检查了语法并重新输入了很多次,但仍以某种方式将“ is UNIQUE”或“ IS UNIQUE”中的“ I”或“ i”识别为意外字符。

即使从完全空白的新数据库开始,我也会收到这个奇怪的错误。我找到了一种解决方案,方法是将节点名称“ Investor”重命名为“ F_Investor”,但是问题又返回到下一个条目(对于“ Issuer”)。

我附上了有助于您理解问题的屏幕截图。

[1]-命令行屏幕顶部,“ Investor”中的“ In”已突出显示为绿色?

[2]-命令行,这一次突出显示了“ Issuer”中的“ Is”。

[3]-在这里,我已重命名为“ R_Issuer”,但随后发现错误……

[4]-通过重命名为“ F_Investor”可以在这次(为什么不是上次?)上有效的解决方案

对此我的任何沮丧都将受到欢迎!

谢谢!

[1] https://pasteboard.co/HHzMHLa.png

[2] https://pasteboard.co/HHzNg1c.png

[3] https://pasteboard.co/HHzO7Qw.png

[4] https://pasteboard.co/HHzOSvl.png

1 个答案:

答案 0 :(得分:1)

所有失败的命令都有一个共同点:您在断言中使用:而不是.

... ASSERT i:name IS UNIQUE 不正确,这是语法错误的原因。

... ASSERT i.name IS UNIQUE 是正确的,请注意,我们使用点符号来表示节点的属性。