我在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
子句时结果不合理,并且没有任何错误。
请告诉我遗失的内容或是否存在限制。 提前谢谢。
答案 0 :(得分:0)
我没有使用该库的特定部分,但我希望您不需要直接引用param
,因为这是{}
语法的用途(没有美元) ,这会使你的查询:
String query = "match (c:MyLabel) return id(c) as Id, c.name as name skip {skip} limit {limit}