2017-09-13 125 views
0

我已经创建了一个用户顶点。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 

可以结合这些查询,选择一个顶点,创建新的顶点,然后创建新的边缘?

回答

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

+0

感谢您的回答。我有一个janusgraph安装程序,它所来的gremlin版本是3.2.3,这个查询不起作用。这种addV和addE带有3.3.0批量加载。你可以建议的其他选择吗?那会很棒 –

+1

你应该保持TinkerPop版本与JanusGraph版本保持一致。 Florian提供的语法在JanusGraph 0.1.1/TinkerPop 3.2.3上工作https://gist.github.com/pluradj/48a29692c07f700dc1350fcbb2b521f5 –

+0

请参阅JanusGraph版本兼容性矩阵http://docs.janusgraph.org/latest/version-compat .html –

相关问题