如何对Gremlin groupCount结果过滤?需剔除计数<3的颜色
Gremlin查询优化:过滤计数小于3的颜色
你需要在现有查询基础上,过滤掉颜色计数小于3的条目,以下是优化后的查询及说明:
g.V(). group(). by("co_ordinate"). by(outE(). group(). by("direction"). by(inV().out().groupCount(). by("color"). unfold(). filter(select(values).is(ge(3))). fold(). map(entries -> entries.collectEntries()))
关键修改说明:
在原查询的groupCount().by("color")之后新增了四个步骤,实现过滤逻辑:
unfold():将颜色-计数的Map拆解为单个键值对(Entry),便于逐个筛选filter(select(values).is(ge(3))):保留计数(键值对的值)大于等于3的条目fold():把过滤后的键值对重新收集为列表map(entries -> entries.collectEntries()):将列表转回Map格式,维持原有的层级结构
优化后返回结果示例:
[ 0: { "10":{ "East": { "blue":3 } } ]
内容的提问来源于stack exchange,提问作者Philip Thomas
相关产品推荐
相关产品推荐

