不使用lambda的Hashmap属性上的gremlin筛选器 [英] gremlin filter on Hashmap property without using a lambda

查看:75
本文介绍了不使用lambda的Hashmap属性上的gremlin筛选器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我在图形数据库中有一个顶点,其中一个属性是地图,是否有一种方法可以在不使用lambda的情况下对地图的属性进行过滤?

If I have a vertex in a graph database where one of the properties is a map, is there a way to filter on properties of the map without using a lambda?

像这样创建顶点:

gremlin> v = graph.addVertex(label, 'LABEL')
==>v[68]
gremlin> g.V(68).property('prop', [ key: 'val' ])
==>v[68]
gremlin> g.V(68).valueMap()
==>{prop=[{key=val}]}

有没有一种方法可以通过prop.key =='val'来过滤顶点而无需使用lambda?

Is there a way to filter for vertices by prop.key == 'val' without using a lambda?

 gremlin> g.V().filter{ it.get().values('prop').next().get('key') == 'val' }

推荐答案

在这里:

gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('LABEL').
......1>     property('prop', [ key: 'val' ]).
......2>   addV('LABEL').
......3>     property('prop', [ key: 'val2' ]).iterate()
gremlin> g.V().valueMap(true)
==>[prop:[[key:val]],id:0,label:LABEL]
==>[prop:[[key:val2]],id:2,label:LABEL]
gremlin> g.V().filter(values('prop').select('key').is('val'))
==>v[0]
gremlin> g.V().filter(values('prop').select('key').is('val2'))
==>v[2]

这篇关于不使用lambda的Hashmap属性上的gremlin筛选器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆