.NET - neo4jclient - 从密码查询中检索结果

本文关键字:检索 结果 查询 密码 neo4jclient NET | 更新日期: 2023-09-27 18:36:42

我刚刚开始使用neo4jclient,我正在努力解决密码查询。我使用了此处的查询,但没有弄清楚如何获取结果并使用它们。

首先,我在数据库中放置了一些节点,然后我想检索它们(在本例中为一个),我尝试了这个:

var u = client.Cypher
     .Match("(user:User)")
     .Where((User user) => user.Id == 1)
     .Return(user => user.As<User>());
Console.WriteLine(u.Results.ToList().First().Id);

(我确定数据库中有节点,也有 Id = 1 的节点)

但是在使用结果方法时,我得到了这个异常:

语法异常:预期的开始或创建"匹配(用户:用户)"

我是neo4j的初学者,我无法找到如何访问和处理查询结果,所以我想向您寻求帮助。提前谢谢你。

.NET - neo4jclient - 从密码查询中检索结果

您得到的错误是说您需要使用 STARTCREATE 子句启动 Cypher 查询。这向我表明您正在针对 Neo4j 1.9 或更低版本工作。START子句仅在 Neo4j 2.0 中成为可选条款。

如果你要开始一个新项目,我建议使用Neo4j 2.0。最终版本尚未发布,但预览版绝对足够稳定,您可以开始开发,最终版本将很快发布。

如果您需要使用 Neo4j 1.9,则需要使用包含 START 子句的旧版本的 Cypher 查询。

这是 2 小时前向 Neo4jClient 团队报告的已知问题:https://bitbucket.org/Readify/neo4jclient/issue/163/neo4j-v2m6-client-syntax-error

作为解决方法,请尝试以下操作:

var u = client.Cypher
     .Match("(user:User)")
     .Where("user.Id = {userId}")
     .WithParam(new {userId = 1})
     .Return(user => user.As<User>());