You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gremlin查询如何获取顶点属性值而非顶点id?

调整思路

你当前查询中groupCount().by('a')是将a标签对应的顶点整体作为分组键,输出序列化后就会展示为顶点ID。要替换为顶点的属性值作为分组键,只需修改groupCount的by参数,读取a顶点的对应属性即可。

修改后的查询示例

假设你要提取的属性名为color(存储Red这类属性值的字段,请替换为你实际使用的属性名),完整查询如下:

g.V().hasLabel('Attribute').as('a').
  in('has').as('b').
  in('purchased').as('c').
  select('a', 'b', 'c').
  groupCount().
    by(select('a').values('color')). // 仅修改此处,替换原有by('a')写法
  order(Scope.local).
    by(Column.values, Order.DESC).
  toList()

调整后返回结果的键就会变为属性值,示例输出如下:

[{Red: 6, xxx: 4, ...}]

可选优化

如果存在部分Attribute顶点无对应属性的场景,可添加默认值避免查询中断,修改by部分代码即可:

by(select('a').values('color').fold().coalesce(unfold(), constant('无属性值')))

如果需要同时保留顶点ID和属性值做关联,也可以返回组合结构作为键:

by(select('a').project('属性值','顶点id').by('color').by(id))

内容的提问来源于stack exchange,提问作者ANKIT GUPTA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:30:04