0

最新のNeo4jClientを使用して Neo4j DB にアクセスすると、次の Cypher クエリを正常に実行できません。

            var connections = _graphClient.Cypher
                                .StartWithNodeIndexLookup("n", "indexName", "'id:*'")
                                .Match("c=(n)-[:RELATIONSHIP_TYPE]-()")
                                .Return<MyRelationship>("c")
                                .Skip(5)
                                .Limit(10)
                                .Results;

これはゼロの結果を返します。ただし、次のクエリが生成されます。

START n=node:indexName('id:*') MATCH c=(n)-[:RELATIONSHIP_TYPE]-() RETURN c SKIP 5 LIMIT 10

これを Neo4j の管理ボードから直接実行すると、正しい結果セットが返されます。

私は何が欠けていますか?どんな助けでも大歓迎です。

4

1 に答える 1

1

インデックスに一重引用符が含まれているためだと思います

var connections = _graphClient.Cypher
     .StartWithNodeIndexLookup("n", "indexName", "id:*") //<-- remove the single quotes
     .Match("c=(n)-[:RELATIONSHIP_TYPE]-()")
     .Return<MyRelationship>("c")
     .Skip(5)
     .Limit(10)
     .Results;

この種の問題が再び発生した場合、最も簡単な方法は、StartWithNodeIndexLookup呼び出しをただで切り替え、Start既知のノード参照を使用してエラーが発生している可能性のある場所を確認することです。

于 2013-03-11T11:47:52.050 に答える