использование проекта с выбором в gremlin-javascript вызывает ошибку

У меня есть простой запрос, который дает ожидаемый результат, когда я запускаю его на консоли, но не работает, когда я запускаю его в базе данных aws-neptune с использованием драйвера gremlin node.js / gremlin-javascript.

запрос успешно запущен в консоли

g.V().hasLabel('item').project('id').by(id).select(values)
==>[item1]
==>[item2]
==>[item3]

Я попытался выполнить тот же запрос в gremlin-javascript, используя import "gremlin.process.t"

g.V().hasLabel('item').project('id').by(gremlin.process.t.id).select(gremlin.process.t.values)

Но я получаю следующую ошибку «detailMessage»: «null: select ([null])»}

error Error: Server error: {"requestId":"0521e945-04fb-4173-b4fe-0426809500fc","code":"InternalFailureException","detailedMessage":"null:select([null])"} (599)

Как правильно использовать проект с выбором в gremlin-javascript ??


person TheSaneGuy    schedule 19.05.2019    source источник


Ответы (1)


Обратите внимание, что values не на T, а на Column:

gremlin> values.class
==>class org.apache.tinkerpop.gremlin.structure.Column$2

Следовательно, вам нужно указать это перечисление в Javascript:

const t = gremlin.process.traversal.t
const c = gremlin.process.traversal.column
g.V().hasLabel('item').
  project('id').
    by(t.id).
  select(c.values)

Подробнее об общем импорте для gremlin-javascript можно здесь.

person stephen mallette    schedule 21.05.2019