不使用lambda的Hashmap属性上的gremlin筛选器 [英] gremlin filter on Hashmap property without using a lambda
本文介绍了不使用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屋!
查看全文