【问题标题】:How to parameterize the sort filter using tinkerpop gremlin / frames?如何使用 tinkerpop gremlin / frames 参数化排序过滤器?
【发布时间】:2015-06-08 08:22:04
【问题描述】:

我想使用给定的字段名对结果进行排序:

@GremlinGroovy(value = "it.in('HAS_USER').sort{fieldName}._()[skip..limit]")
public Iterable<TPUser> getUsersInOrder(@GremlinParam("fieldName") String fieldName, @GremlinParam("skip") int skip, @GremlinParam("limit") int limit);

很遗憾,getUsersInOrder("it.username", 0, 5) 的结果未按预期排序。当我用“it.username”替换 gremlin 代码中的 fieldName 时,结果按用户名排序。

【问题讨论】:

    标签: neo4j gremlin tinkerpop-frames


    【解决方案1】:

    看起来 sort 方法是 groovy 的一部分,而不是 gremlin。相反,可以使用 order 方法对条目进行排序:

    @GremlinGroovy(value = "it.in('HAS_USER').order({ it.b.getProperty(fieldName) <=> it.a.getProperty(fieldName) })[skip..limit]")
    public Iterable<TPUser> getUsersInOrder(@GremlinParam("fieldName") String fieldName, @GremlinParam("skip") int skip, @GremlinParam("limit") int limit);
    

    【讨论】:

    • 我还没有弄清楚如何参数化排序顺序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多