Groovy 如何将HashMap转换为Titan筛选器的闭包
我正在使用Gremlin2.5.0/Groovy2.3.7 我有一个hashMap,其中包含要筛选的参数/值的键值对。例如,我有Groovy 如何将HashMap转换为Titan筛选器的闭包,groovy,titan,gremlin,Groovy,Titan,Gremlin,我正在使用Gremlin2.5.0/Groovy2.3.7 我有一个hashMap,其中包含要筛选的参数/值的键值对。例如,我有 [param1:val1, param2:val2:, param3:val] 我要进行的查询类型是: g.V.filter{it.param1=='val1' && it.param2=='val2' && it.param3=='val3'} 有没有一种简单的Gremlin/Groovy方法可以使用hashMap进行查询?我不知
[param1:val1, param2:val2:, param3:val]
我要进行的查询类型是:
g.V.filter{it.param1=='val1' && it.param2=='val2' && it.param3=='val3'}
有没有一种简单的Gremlin/Groovy方法可以使用hashMap进行查询?我不知道过滤器闭包中什么是可以接受的,但这可能有效
def params = [param1:'val1', param2:'val2':, param3:'val3']
g.V.filter{
params.every {key, value ->
it[key] == value
}
}
我不知道什么是可以接受的过滤器关闭,但这可能会工作
def params = [param1:'val1', param2:'val2':, param3:'val3']
g.V.filter{
params.every {key, value ->
it[key] == value
}
}
我不知道什么是可以接受的过滤器关闭,但这可能会工作
def params = [param1:'val1', param2:'val2':, param3:'val3']
g.V.filter{
params.every {key, value ->
it[key] == value
}
}
我不知道什么是可以接受的过滤器关闭,但这可能会工作
def params = [param1:'val1', param2:'val2':, param3:'val3']
g.V.filter{
params.every {key, value ->
it[key] == value
}
}
在可能的情况下,您应该避免在Gremlin中使用
过滤器
,尤其是在Titan和大型图形上。使用过滤器将阻止Titan正确使用索引。如果可能,您应该更喜欢使用has
我将尝试使用您的地图构建管道
:
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]
在可能的情况下,您应该避免在Gremlin中使用过滤器
,尤其是在Titan和大型图形上。使用过滤器将阻止Titan正确使用索引。如果可能,您应该更喜欢使用has
我将尝试使用您的地图构建管道
:
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]
在可能的情况下,您应该避免在Gremlin中使用过滤器
,尤其是在Titan和大型图形上。使用过滤器将阻止Titan正确使用索引。如果可能,您应该更喜欢使用has
我将尝试使用您的地图构建管道
:
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]
在可能的情况下,您应该避免在Gremlin中使用过滤器
,尤其是在Titan和大型图形上。使用过滤器将阻止Titan正确使用索引。如果可能,您应该更喜欢使用has
我将尝试使用您的地图构建管道
:
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]