Консоль Gremlin addV, кажется, не добавляет вершины - PullRequest
0 голосов
/ 28 октября 2018

В Gremlin Console, чтобы добавить вершину, я делаю следующее:

// One time initialization
graph = TinkerGraph.open()
g = graph.traversal()

// Add the vertex
g.addV('somelabel')

И в консоли я получаю:

==>v[0]

Но если я пытаюсь пройтивершина:

g.V(0)

Я ничего не получаю в консоли, как будто индекс неверен.

Доказательством этого (факт, что я ничего не получаю) является:

g.V(0).count()
==>0

Если вместо этого я сам определю идентификатор:

g.addV('somelabel').property(id, 1)

Все отлично работает:

g.V(1)
==>v[1]

Но я бы не хотел сам определять идентификаторы ...

Где я делаю (или думаю) неправильно?

Версия программного обеспечения - JanusGraph 0.2.2, Apache TinkerPop 3.2.9

1 Ответ

0 голосов
/ 29 октября 2018

Вы используете здесь не JanusGraph, а TinkerGraph, хранилище графиков в памяти, которое часто используется для тестирования или простых примеров.TinkerGraph по умолчанию использует длинные идентификаторы, что означает, что он не может найти вашу вершину, когда вы используете int идентификатор.Он должен работать, когда вы используете параметр типа long:

gremlin> g.addV('somelabel')
==>v[0]
gremlin> g.V(0)
gremlin> g.V(0L)
==>v[0]

Раздел конфигурации для TinkerGraph объясняет, как эту конфигурацию можно изменить, чтобы использовать разные типы для своих целых чисел.

...