2017-07-26 4 views
1

私はGremlinを使うことを学んでおり、コマンドラインを使って基本的なグラフを作成し始めています。私はこれをスクリプトに入れることができることを学びました。これは基本的にグルーヴィーの束です(これは私にもよく知られています)。私は以下のスクリプトを実行します。スクリプトが実行されると( ``==> null ''を得ることを除いて)すべてがうまくいきます。(作成されたノード/エッジに関する正しいメッセージに加えて)私は何を間違えたのですか?なぜgremlinはスクリプトの "null"を出力していますか?

graph = TinkerGraph.open() 
g = graph.traversal() 
//The nodes 
curCharge = graph.addVertex(id, 1, label, "Topic", "name","Current") 
pow = graph.addVertex(id, 2, label, "Topic", "name","power") 
powFromNRG = graph.addVertex(id, 3, label, "Topic", "name","powerFromNRG") 
NRGFromPower = graph.addVertex(id, 4, label, "Topic", "name","NRGFromPower") 
powFromVI = graph.addVertex(id,5,label,"Topic","name","powerFromIV") 
powInRes = graph.addVertex(id,6,label,"Topic","name","powerInResistors") 
passSign = graph.addVertex(id,7,label,"Topic","name","passiveSignPower") 
ohmLaw = graph.addVertex(id,8,label,"Topic","name","ohmsLaw") 

//the pre-requisite edges 
pow.addEdge("prereq",powFromNRG) 
pow.addEdge("prereq",NRGFromPower) 
pow.addEdge("prereq",powFromVI) 
powFromVI.addEdge("prereq",passSign) 
passSign.addEdge("prereq",powInRes) 
ohmLaw.addEdge("prereq",powInRes) 

//just some test queries 
nL = g.V().has("name","passiveSignPower").inE("prereq").outV() 
if(nL != null) 
    println "Hey!" 

答えて

2

Gremlin Consoleは、実行される各行の結果を返します。あなたの場合、実行された最後の行はvoidメソッドであるprintln "Hey!"なので、nullを返します。

gremlin> if(nL != null) 
......1>  println "Hey!" 
Hey! 
==>null 

あなたはHey!が画面にプリントアウトされたことを確認することができますが、nullは結果である:

は、ここであなたが見ている結果です。

gremlin> if(nL != null) 
......1>  "Hey!" 
==>Hey! 

アウト自動反復にいくつかのより多くの議論のためのGremlin Console Tutorial:あなたは、単に文字列Hey!を返すようにスクリプトを変更した場合は、null結果を避けることができ、代わりに文字列の結果を得る

+0

ありがとうございます!私はチュートリアルで遊んだことがあるが、その部分を欠落しているに違いない。 Gremlinのドキュメントは、シンプルなチュートリアルとAPIの2種類からなっています。 rtfmを使わなくても詳細を説明する別のリファレンスがありますか? –

+1

興味深い質問です。私はリファレンスのドキュメントが巨大で、チュートリアルはおそらく見つけるのは少し難しいことを知っています。ドキュメンテーションのギャップを埋めるという点であなたは何を思いついたのですか?あなたのコメントではなくgremlin-usersメーリングリストでこの会話を続行する方が良いかもしれません。 –

+0

良いアイデア、私はメーリングリストをチェックします。私は主に、GremlinをJavaプロジェクトに組み込むことに興味があります。私はGroovyでもやっていると思います。最終的に、私はグレムリンの質問の結果をプログラムに取り込んで、それらを使って何かを行うことができる必要があります。その時点でそれを行う方法はわかりません。 –

関連する問題