我使用的是Gremlin 2.5.0 / Groovy 2.3.7。
我有一个hashMap,它包含我想要过滤的参数/值的键值对。例如,我有
[param1:val1, param2:val2:, param3:val]
我想要进行的查询类型是:
g.V.filter{it.param1=='val1' && it.param2=='val2' && it.param3=='val3'}
使用hashMap进行查询是否有直接的Gremlin / Groovy方法?
答案 0 :(得分:2)
在可能的情况下,您应该避免在Gremlin中使用filter
,尤其是使用Titan和大型图表。使用filter
将阻止Titan正确使用指数。您应该尽可能使用has
。
我会尝试使用您的Map
:
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> params = [name:'josh',age:32]
==>name=josh
==>age=32
gremlin> pipeline = g.V();null
==>null
gremlin> params.each{k,v->pipeline=pipeline.has(k,v)}
==>name=josh
==>age=32
gremlin> pipeline
==>v[4]
答案 1 :(得分:1)
我不知道过滤器闭包中可接受的是什么,但这可能有效。
DataTransferManager.ShowShareUI()