2016-04-12 4 views
3

中の頂点プロパティの等価性をチェックします: if(g.V().hasLabel('appUser').has('myId','1234').values('isPrivate') == 'false'){'is false'}else{'is true'} ==>is true はグレムリン/ TitanDB

同様に、これも私が期待するものを返さない: if(!g.V().hasLabel('appUser').has('myId','1234').values('isPrivate')){'is false'}else{'is true'} ==>is true

は、どのように私は条件付きチェックを実行するためにこれを更新する必要がありますか?

答えて

2

.values()Traversalを返します。これはIterablesee TinkerPop 3.1.1 JavaDoc)です。実際にプロパティ値を取得するには、.next()に電話する必要があります。

提供されたクエリは、次のように記述できます。

if(!g.V().hasLabel('appUser').has('myId','1234').values('isPrivate').next()){'is false'}else{'is true'} 

は右.values('isPrivate').next()への呼び出しに注目してください。

Gremlinコンソールを使用している場合、Traversalオブジェクトが自動的に反復されます(.iterate())ので、実際には魔法のように見えません。トランスクリプトは、現在のユースケースのような要素を取得するか、グラフを変更するかを問わず、実行するためにTraversalを自分で.next()または.iterate()にする必要があります。

+0

ガー、知っていたはずです。まだ学んでいる!ありがとう。 – Fook

関連する問題