无法使用rest cypher在Neo4j中应用skip,limit和order子句

时间:2014-12-16 12:24:42

标签: neo4j cypher

我在Grails中使用Neo4j 2.1.5使用依赖neo4j-rest-graphdb:2.0.1,我使用

查询我的数据库

RestAPI restapi = new RestAPIFacade("http://localhost:7474/db/data") RestCypherQueryEngine rcqer=new RestCypherQueryEngine(restapi)

我创建了一个参数列表

Map<String, String> paramVal = new HashMap<>(); paramVal.put('limit', 10); paramVal.put('skip', 0); paramVal.put('order', 'name');

我的查询看起来像这样

String query = "match (c:MyLabel) return id(c) as Id, c.name as name skip ${param}.skip limit ${param}.limit;

像这样执行查询

result = rcqer.query(query,org.neo4j.helpers.collection.MapUtil.map("param",paramVal))"

这显示错误Invalid input '.': expected whitespace, Limit, LOAD CSV,..... 但是,仅在where子句中使用参数时才能完美。 此外,仅使用order by子句时结果不合理,并且没有任何错误。

请告诉我遗失的内容或是否存在限制。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我没有使用该库的特定部分,但我希望您不需要直接引用param,因为这是{}语法的用途(没有美元) ,这会使你的查询:

String query = "match (c:MyLabel) return id(c) as Id, c.name as name skip {skip} limit {limit}