2

我刚开始使用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 的节点)

但是与结果方法一致,我得到了这个异常:

SyntaxException: 预期 START 或 CREATE "MATCH (user:User)"

我是 neo4j 的初学者,我不知道如何访问和使用查询结果,所以我想请你帮忙。先感谢您。

4

2 回答 2

1

你得到的错误是说你需要用STARTorCREATE子句开始你的 Cypher 查询。这向我表明您正在使用 Neo4j 1.9 或更低版本。该START子句仅在 Neo4j 2.0 中成为可选的。

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

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

于 2013-10-25T22:43:05.633 回答
-1

这是 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>());
于 2013-10-24T06:07:03.470 回答