Gremlin - выберите вершину, создайте новые вершины и ребра в одном запросе

У меня уже есть пользовательская вершина.

g.V().has('user','username','vipul').as('user')

Я хочу создать новую "групповую" вершину с некоторыми свойствами, а также новую "опционную" вершину с некоторыми другими свойствами.

g.addV(label,'group','group_name','DC11').as('group')
g.addV(label,'options','command_line_arguments','-D -n').as('options')

Теперь я хочу создать ребро от пользователя к группе и еще одно ребро от группы к опциям.

user ---> group,   group ---> options

Можно ли объединить эти запросы, выбрав вершину, создав новые вершины, а затем создав новые ребра?

1 ответ

Решение

Вы можете просто соединить шаги вместе:

g.V().has('user','username','vipul').as('user').
  addV('group').property('group_name','DC11').as('group').
  addE('memberOfGroup').from('user').
  addV('options').property('command_line_arguments','-D -n').
  addE('hasOptions').from('group')

Обратите внимание, что я установил свойства с property шаг, как я предпочитаю эту форму, но вы также можете добавить их непосредственно с addV шаг.

Посмотрите это в действии в GremlinBin.

Другие вопросы по тегам