Gremlin - 选择一个顶点,在单个查询中创建新的顶点和边

时间:2017-09-13 22:34:31

标签: graph-databases gremlin tinkerpop janusgraph

我已经创建了一个用户顶点。

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 个答案:

答案 0 :(得分:2)

您可以简单地将步骤链接在一起:

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步骤直接添加它们。

在行动in GremlinBin中查看。