2

neo4jclient を使い始めたばかりで、暗号クエリに苦労しています。hereのクエリを使用しましたが、結果を取得して操作する方法がわかりませんでした。

最初にデータベースにいくつかのノードを配置し、次にそれらを取得したいと思いました(この場合は1つ)。これを試しました:

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

START表示されるエラーは、Cypher クエリをorCREATE句で開始する必要があることを示しています。これは、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 に答える