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

Gremlin 如何在单个查询中搜索顶点并创建边?,gremlin,titan,Gremlin,Titan,我使用gremlin查询从给定顶点搜索顶点 v.both("edgeLabel").has("propertykey", "27826345"); 此查询返回一组顶点。现在我通过简单的迭代器创建从“v”到所有返回顶点的边 现在我的问题是: 是否有任何流程/查询样式可供我搜索这些顶点并在中创建边 相同的查询? 我已尝试过此查询: v.both('edgeLabel').has('propertykey','27826345').gather(){g.addEdge(v,it,'TEST_LAB

我使用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类执行查询


提前感谢您。

您可能需要向addEdge提供一个id。这是你的电话号码


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

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

 linkIn
 linkOut
 linkBoth
有关如何使用它们的更多信息,请参见GremlinDocs()


请注意,这些管道会产生副作用(生成的边缘),因此如果需要获取边缘,可以对管道进行封盖。

根据Blueprint API,我通常会为ID字段发送null,以便框架可以自动创建自己的ID。但对于Gremlin查询,我知道有两种方法,一种没有ID,另一种带有ID参数。非常感谢您的回复。事实上,我使用的是Gremlin 2.2.0,可能这就是我过度关注/忽略了它的原因。无论如何,再次感谢您对我的帮助。