выберите несколько значений свойства ребра из списка ребер и поместите в список [список]

У меня есть вершины с несколькими ребрами, имеющими одинаковые метки. Ребра, имеющие такие свойства, как age1,age2 и time.

Пример:

A-->B => age1 = 10, age2 = 10 и время = t1

A-->B => age1 = 20, age2 = 30 и time = t1

A-->B => age1 = 30, age2 = 50 и time = t1

Мне нужно сформировать два списка[List[]] с указанными выше краями с определенным временем

например: Список[[10,10][20,30][30,50]]

graph.traversal.V().has(ID,"A").bothE("interference").
where(_.values("time").is(P.gt("sometime"))).values("age1").as("x").values("age2").as("y").select("x","y").toList()

Это дает некоторую ошибку компиляции. Я что-то не так делаю в запросе

Ошибка компиляции:

не удалось найти неявное значение для параметра p: shapeless.ops.hlist.Prepend[shapeless.HNil,shapeless.::[A,shapeless.HNil]] .where(_.values("time").is(P.gt (время окончания))).values("age1").as("x")


person Gopi    schedule 18.10.2016    source источник
comment
Какую ошибку компиляции вы видите? Я заметил в вашем другом сообщении, что вы получаете ошибки со scala, которых не было с гремлином в консоли groovy. .возможно это очередная несовместимость?   -  person stephen mallette    schedule 18.10.2016
comment
@stephenmallette Я добавил ошибку. Это потому, что where(_.values("time").is(P.gt("sometime"))) этот код дает список ребер, и, следовательно, я не могу сделать .values("age1").as("x")   -  person Gopi    schedule 18.10.2016


Ответы (1)


Ниже решает эту проблему

Скала гремлин:

 graph.traversal.V().has(ID,"A").bothE("interference").
    where(_.values("time").is(P.gt("sometime"))).valueMap("age1","age2").toList()

Консоль Гремлин:

graph.traversal().V().has('ID', 'a').bothE("interference").valueMap('age1','age2')
==>{age2=50, age1=10}
==>{age2=50, age1=30}
==>{age2=20, age1=60}
person Gopi    schedule 21.10.2016