.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的初学者,我无法找到如何访问和处理查询结果,所以我想向您寻求帮助。提前谢谢你。
您得到的错误是说您需要使用 START
或 CREATE
子句启动 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>());