0

使用最新的Neo4jClient访问 Neo4j 数据库我无法成功运行以下 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使用 just 切换调用Start并使用已知节点引用来检查可能发生错误的位置。

于 2013-03-11T11:47:52.050 回答