グラフモデルでは、子と呼ばれる頂点timeCategoryがyear-verticesありmonth-verticesますday-vertices。edge-labelで年、でIS_YEAR月IS_MONTHなどを識別できます。
次のコードのように、特定の年の範囲のすべての頂点を返すクエリを実行したいと思います。
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);
}
...これは、すべてのプロパティ値(整数としての年)を出力するのに最適ですが、必要なのは、年プロパティが特定の範囲内にあるすべての頂点のリストです。
2番目の質問は、パイプの値から共通部分を作成することです。
例:年パイプ、月パイプ、日パイプの3つのパイプがあり、パイプには年、月、または日を識別する頂点が含まれています。
すべての出力頂点を1つの特別な日付にすることは可能ですか...
セミコード:allVertices2012-01-01 = yearpipe.out()AND monthpipe.out()AND daypipe.out
確かに、私はいくつかのfor-eachループでいくつかの比較を行うことができますが、(単純な)グレムリンがあるかどうかを知りたいと思いました-それをより良くする方法。