如果我可以检查这样的属性的值: g.V().hasLabel('appUser').has('myId','1234').values('isPrivate') ==>false
但是当我在 if
中检查该值是否为 false
时,不会返回我期望的值: if(g.V().hasLabel('appUser').has('myId','1234').values('isPrivate') == 'false'){'is false'}else{'is true'} ==>is true
同样,这也不会返回我期望的内容: if(!g.V().hasLabel('appUser').has('myId','1234').values('isPrivate')){'is false'}else{'is true'} ==>is true
我该如何更新它以执行条件检查?
1 回答
.values()
返回Traversal
,这是Iterable
(see TinkerPop 3.1.1 JavaDoc) . 您必须调用.next()
才能实际检索属性值 .提供的查询可以这样写 .
注意在
.values('isPrivate')
之后调用.next()
.当使用Gremlin控制台时,
Traversal
对象会自动迭代(.iterate()
),所以看起来神奇的东西实际上并非如此 . 在中间脚本(或在Gremlin控制台之外),您必须自己执行Traversal才能执行它,无论Traversal是用于检索元素(如当前用例)还是改变图形 .