我试图在创建新顶点或更新现有顶点之前检查顶点是否存在:
x = g.V().has('name','xyz').hasNext() // /search 1
if ( x != true ){
g.V().addVertex( 'name', 'xyz' ) }
g.V().has('name','xyz').property('x','1') // search 2
该示例有2个搜索name = xyz的元素;我想先将搜索保存到变量中,稍后再参考。
但是,如果我尝试保存搜索,则不会保存:
gremlin> x = g.V().has('name','xyz')
==>v[40964336]
gremlin> x
gremlin>
在此示例中避免进行两次搜索的方法是什么? - 谢谢!!!
答案 0 :(得分:2)
也许你错过了tryNext
:
g.V().has('name','xyz').tryNext().orElseGet {
graph.addVertex('name', 'xyz')
}.property('x', '1')
答案 1 :(得分:0)
找到我自己的答案:collect()
x= g.V().has('name','axdas').collect()
if ( x.size() > 0 ) { //set property
}
else { // add vertex
}