2012-01-30 22 views
3

グラフモデルでは、timeCategoryと呼ばれる子がyear-verticesmonth-verticesおよびday-verticesの頂点があります。JavaでGremlinPipelineとPipeFunctionsを使用してクエリを実行するにはどうすればよいですか?

GremlinPipeline yearPipe = new GremlinPipeline(timeCategory).out("IS_YEAR").property("year") 
      .filter(new PipeFunction<Integer, Boolean>() { 
         public Boolean compute(Integer i) 
         { 
         return i < 2013 && i >= 2011; 
         } 
        }); 
for(Object v : yearPipe) { 
    //v is an Integer, but i need the vertex 
    System.out.println(v); 
} 
:私は、私は以下のコードと同様に指定した年の範囲のすべての頂点を返すクエリを実行したい

など、IS_YEARIS_MONTHと月とedge-labelで年を識別することができています

...これはすべてのプロパティ値(整数としての年)を印刷するのには効果的ですが、必要なのは、指定された範囲の年プロパティがあるすべてのVERTICESのリストです。

私の2番目の質問は、パイプの値から交差を作ることです。

たとえば、3つのパイプ、年パイプ、月パイプ、および日パイプ、および年、月、または日を識別する頂点を含むパイプがあります。

はそれが1、特別な日にすべての発信の頂点を取得することは可能です...

セミコード:allVertices2012-01-01 = yearpipe.out()AND monthpipe.out()AND daypipe.out

確かに、いくつかfor-each-loopsでいくつかの比較をすることはできますが、もっと簡単にgremlin-wayがあるかどうかを知りたかったのです。

答えて

2

問題の解決策は2つあります。ここでは、グレムリン、Groovyである:ここでは

timeCategory.out('IS_YEAR').filter{year = it.getProperty('year'); year < 2013 && year >= 2011} 

-OR-

timeCategory.out('IS_YEAR').property('year').filter{it < 2013 && it >= 2011}.back(1) 

は、あなたの答えは、(上述の第2の表現のために)グレムリン-Javaコードである:

GremlinPipeline yearPipe = new GremlinPipeline(timeCategory).out("IS_YEAR").property("year") 
     .filter(new PipeFunction<Integer, Boolean>() { 
      public Boolean compute(Integer i) 
      { 
       if(i<2013 && i>=2011) 
        return true; 
       else 
        return false; 
      } 

     }).back(1); 
+0

MHH、私はまだ戻って私のパイプから整数を取得しますが、私は必要Integerが格納されている頂点この例に関連して、それは反復可能でなければなりません年201212Verticesです。 – Gerd

0

オーケー短いチュートリアルを読んだ後で、私は.back(x)のparamが2でなければならないと考えました。だから、.back(2)で頂点を取得します。 btw。 http://markorodriguez.comで提供されている例は、グレムリンクイックスタートの方がはるかに優れています。

私の2番目の質問に:私はかなりよく私の問題を説明しgremlingユーザーのトピックは、存在してい:

http://groups.google.com/group/gremlin-users/browse_thread/thread/d245b1a25ac1fac8/514931b1e3bf9e30?lnk=gst&q=intersect#514931b1e3bf9e30

関連する問題