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

Gremlin如何检查顶点的Set属性中是否包含指定值

Gremlin检查顶点Set属性包含指定值的实现方法

场景1:遍历过程中直接过滤判断

TinkerPop 3.4及以上版本可以直接使用P.contains谓词实现,示例代码如下:

import org.apache.tinkerpop.gremlin.process.traversal.P

// 请替换参数:your_set_property为Set属性的名称,target_value为待检查的特定值
def isContains = graph.traversal().V(id)
  .has("your_set_property", P.contains("target_value"))
  .hasNext()

返回值isContains为true即表示Set属性包含目标值,反之则不包含。
如果你的TinkerPop版本低于3.4,没有内置P.contains谓词,可以用filter步骤替代实现:

import org.apache.tinkerpop.gremlin.process.traversal.P

def isContains = graph.traversal().V(id)
  .filter(values("your_set_property").is(P.within("target_value")))
  .hasNext()

场景2:已获取顶点对象后本地判断

如果你已经拿到了顶点实例,直接读取Set属性调用原生方法判断即可:

// 先获取指定id的顶点
def vertex = graph.traversal().V(id).next()
// 读取Set属性
def setProperty = vertex.value("your_set_property")
// 调用集合的contains方法判断
def isContains = setProperty.contains("target_value")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:27:04