Neo4JClient创建唯一约束

本文关键字:约束 唯一 创建 Neo4JClient | 更新日期: 2023-09-27 18:19:59

我正试图使用在以下位置找到的可接受答案创建唯一约束:Neo4jClient-从Neo4jClient中创建索引?

我使用的是Neo4jClient v1.0.11

例如:

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

问题是,当我执行这个例子时,我收到了这个异常:

SyntaxException:输入")"无效:应为标识符字符、空白或NodeLabel(第1行,第31列(偏移量:30))"CREATE CONSTRAINT ON(identity)ASSERT属性是唯一的"^

当我使用以下语句时:

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

我收到这个错误:

SyntaxException:输入"O"无效:应为"r/r"(第1行,第16列(偏移量:15))"对(c:User)ASSERT c.UserId创建CREATE CONSTRAINT是唯一的"^

我的问题是,使用Neo4JClient创建唯一索引的正确方法是什么?举个例子就好了。

感谢

Neo4JClient创建唯一约束

在您的第一个代码片段中,您没有指定要在其上创建约束的内容

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

您的第二个片段只是添加了create两次。也许这可以像那样修复

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

虽然我推荐第一种方法。。。