如何在单个查询中搜索顶点并创建边?

时间:2013-05-06 11:55:25

标签: gremlin titan

我正在使用gremlin查询来搜索给定顶点的顶点。

v.both("edgeLabel").has("propertykey", "27826345");

此查询返回一堆顶点。现在我通过简单的迭代器创建从'v'到所有返回顶点的边。

  

现在我的问题是:   
是否有任何进程/查询样式可供我搜索这些顶点并在其中创建边缘   相同的查询?

我已经尝试过此查询:

 v.both('edgeLabel').has('propertykey','27826345').gather(){g.addEdge(v,it,'TEST_LABEL')}

但我收到错误:

  

没有方法签名:groovy.lang.MissingMethodException.addEdge()

我目前正在使用Gremlin-Groovy ScriptEngine从Java类执行我的查询。

先谢谢你。

2 个答案:

答案 0 :(得分:1)

在Gremlin 2.3.0中,有三个新步骤:

 linkIn
 linkOut
 linkBoth

有关如何使用它们的详细信息,请参阅GremlinDocs(http://gremlindocs.com)。

http://gremlindocs.com/#transform/linkboth-in-out

请注意,这些管道会产生sideEffect(生成边缘),因此如果需要获得边缘,可以限制管道。

答案 1 :(得分:0)

您可能需要为addEdge提供ID。这是javadocs

v.both('edgeLabel').has('propertykey','27826345').gather(){g.addEdge(1,v,it,'TEST_LABEL')}