Gremlin:在单个gremlin查询中添加多个顶点?

时间:2015-04-28 05:17:08

标签: graph-databases titan gremlin

我正在使用Titan 0.4 + Cassandra。 我的用例需要一次插入多个顶点。 (aprrox批量大小一次是100个顶点。) 例如:

v01 = g.addVertex(["UC":"B","i":2]); v02 = g.addVertex(["UC":"H","i":1])
v03 = g.addVertex(["LC":"a"]); v04 = g.addVertex(["LC":"a"]);
v05 = g.addVertex(["LC":"d"]); v06 = g.addVertex(["LC":"h"]); 
v07 = g.addVertex(["LC":"i"]); v08 = g.addVertex(["LC":"p"]);

是否有任何gremlin命令可以添加所有Eight vertices in a single request。 (像g.addVertices() ??)

3 个答案:

答案 0 :(得分:4)

Gremlin没有addVertices()包装器 - 你需要多次调用addVertex()。

答案 1 :(得分:3)

我正在使用c#SDK。对我有用的只是链接addV命令:

g.addV('item').property('id', '5aa3a51e-6434-4d53-aed4-
5db3c90e3551').addV('item').property('id', '7f859920-2251-4553-8325-
5dbb2f626d1c')

为您的例子:

g.addVertex(["UC":"B","i":2]).addVertex(["UC":"H","i":1]).addVertex(["LC":"a"]).addVertex(["LC":"a"]).addVertex(["LC":"d"]).addVertex(["LC":"h"]).addVertex(["LC":"i"]).addVertex(["LC":"p"])

希望这会有所帮助

答案 2 :(得分:0)

我还要求同时添加几个顶点。单个 addV 查询对于一次插入数千条记录并同时检索其数据库生成的ID是不切实际的。

以下是我作为批量插入命令/查询提出的内容

g.addV('One').values('id').as('one').addV('Two').values('id').as('two').select('one', 'two')

CosmosDB返回

[{
   "one": "372be552-7f63-4d7b-be81-a73d5d677afa",
   "two": "a60d3773-5c29-454e-b079-dec734c4f431"
}]