Neo4JClient 创建唯一约束

Neo4JClient Create Unique Constraint

我正在尝试使用在以下位置找到的已接受答案创建唯一约束:Neo4jClient - Create index from within Neo4jClient?

我正在使用 Neo4jClient v1.1.0.11

例子是:

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

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

SyntaxException: Invalid input ')': expected an identifier character, whitespace or NodeLabel (line 1, column 31 (offset: 30)) "CREATE CONSTRAINT ON (identity) ASSERT property IS UNIQUE" ^

当我使用这条语句时:

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

我收到此错误:

SyntaxException: Invalid input 'O': expected 'r/R' (line 1, column 16 (offset: 15)) "CREATE CREATE CONSTRAINT ON (c:User)ASSERT c.UserId IS UNIQUE" ^

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

谢谢

在您的第一个代码片段中,您没有指定您试图在其上创建约束的对象。添加标识符、标签和属性如下

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

您的第二个代码段只是添加了两次创建。也许这可以像这样修复

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

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