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

在Apache TinkerPop Gremlin中如何实现分页并获取顶点属性?

解决方案

你可以对分页后的顶点增加属性序列化步骤即可,修改后的查询语句如下:

g.V().hasLabel('person').fold().as('persons','count').
       select('persons','count').
         by(range(local, 2, 4).unfold().elementMap().fold()).
         by(count(local))

逻辑说明

  • 原有查询中range(local, 2, 4)返回的是顶点对象列表,默认序列化仅输出ID,需要主动转换为属性结构
  • 新增的unfold().elementMap().fold逻辑:先拆分分页后的顶点列表为单个顶点,逐个调用elementMap()生成包含顶点ID、标签、所有属性的键值对,最后重新组装为列表返回
  • 如果你不需要返回ID和标签,仅需要属性字段,可以将elementMap()替换为valueMap();如果需要valueMap同时返回ID和标签,可写为valueMap(true)

返回示例

调整后的返回结构如下:

{
  "persons": [
    {
      "id": "2e6279e5-ad7c-48e3-9527-4972e55ecd24",
      "label": "person",
      "name": "张三",
      "age": 28
    },
    {
      "id": "bb01581c-de6f-4c57-92f5-6fe090011279",
      "label": "person",
      "name": "李四",
      "age": 32
    }
  ],
  "count": 36
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:48:04