В графовой модели у меня есть вершина с именем 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);
}
... это прекрасно работает для печати всех значений свойств (годы в виде целых чисел), но мне нужен список всех VERTICES, свойства года которых находятся в заданном диапазоне.
Мой второй вопрос касается пересечения значений в каналах.
Например: у меня есть три трубы: годовая, месячная и дневная, а также трубы, соединяющие вершины, которые обозначают год, месяц или день.
Можно ли получить все исходящие вершины к одной особой дате ...
Полукод: allVertices2012-01-01 = yearpipe.out () И monthpipe.out () И daypipe.out
конечно, я могу сделать некоторые сравнения в некоторых циклах for-each-each, но я хотел знать, есть ли (простой) gremlin - способ сделать это лучше.