Neo4JClient创建唯一约束

时间:2015-10-29 23:04:42

标签: c# neo4jclient

我正在尝试使用在Neo4jClient - Create index from within Neo4jClient?

中找到的已接受答案创建唯一约束

我正在使用Neo4jClient v1.1.0.11

示例是:

graphClient.Cypher
    .CreateUniqueConstraint("identity", "property")
    .ExecuteWithoutResults();

问题在于,当我执行此示例时,我收到此异常:

  

语法异常:无效输入')':预期标识符字符,空格或NodeLabel(第1行,第31列(偏移量:30))   “CREATE CONSTRAINT ON(identity)ASSERT属性是独一无二的”                                  ^

当我使用此声明时:

client.Cypher
    .Create("CREATE CONSTRAINT ON (c:User)ASSERT c.UserId IS UNIQUE")
    .ExecuteWithoutResults();

我收到此错误:

  

语法异常:无效输入'O':预期'r / R'(第1行,第16列(偏移量:15))   “创建CREATE CONSTRAINT ON(c:用户)ASSERT c.UserId IS UNIQUE”                   ^

我的问题是使用Neo4JClient创建唯一索引的正确方法是什么?一个例子将不胜感激。

由于

1 个答案:

答案 0 :(得分:4)

在您的第一个代码段中,您没有指定您尝试创建约束的内容。添加标识符,标签和属性如下

graphClient.Cypher
    .CreateUniqueConstraint("c:User", "c.UserId")
    .ExecuteWithoutResults();

你的第二个片段只是添加两次创建。也许这可以像这样修复

graphClient.Cypher
    .Create("CONSTRAINT ON (c:User) ASSERT c.UserId IS UNIQUE")
    .ExecuteWithoutResults();

虽然我会推荐第一种方法......