c#NEO4J v3无法建立关系

时间:2016-06-08 21:07:22

标签: neo4j cypher neo4jclient

我有一个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               ^" 

当我回到旧版本时,一切运行良好,我该怎么办?

1 个答案:

答案 0 :(得分:2)

Cypher现在强制要求必须用括号括起节点。

因此,在您的查询中,CreateUnique行需要如下所示:

.CreateUnique("(user123)-[r:VIEW]->(y)")

顺便说一句,您应该使用parameters来注入isAutoitemId值。您已使用userView

进行此操作