2017-09-13 168 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 –

相關問題