我有一个c#项目,我正在使用NEO4J 2.3.2,在更新到版本3后,我开始看到我的系统始终无法创建关系。因此是我的代码
View userView = new View { parent = parent, timestamp = currentTime };
WebApiConfig.GraphClient.Cypher
.Match("(user123:BaseUser{guid: '" + isAuto + "'})", "(y:YoutubeItem{videoId: '" + itemid + "'})")
.CreateUnique("user123-[r:VIEW]->y")
.Set("r = {userView}")
.WithParam("userView", userView)
.ExecuteWithoutResults();
这是例外
"SyntaxException: Parentheses are required to identify nodes in patterns, i.e. (user123) (line 2, column 15 (offset: 127))\n\"CREATE UNIQUE user123-[r:VIEW]->y\r\"\n ^"
当我回到旧版本时,一切运行良好,我该怎么办?
答案 0 :(得分:2)
Cypher现在强制要求必须用括号括起节点。
因此,在您的查询中,CreateUnique
行需要如下所示:
.CreateUnique("(user123)-[r:VIEW]->(y)")
顺便说一句,您应该使用parameters来注入isAuto
和itemId
值。您已使用userView
。