Gremlin查询:查找直到边缘与边缘属性匹配的所有相关顶点

时间:2018-07-15 21:00:10

标签: gremlin

我需要从一个顶点开始,找到所有相关的顶点直到结束。准则是匹配边inV顶点中的任何边属性(属性)。如果边缘属性“值”与inV顶点“属性”名称不匹配,我应该跳过该顶点。边的属性值作为属性名称在inV顶点中传播

Am使用下面的查询,但是这给了我父节点,下一个节点及其之间的边的json输出。通过输出写逻辑,可以仅选择与边属性匹配的下一个属性。如果可以使用gremlin查询完成属性的匹配,那就太好了

var graphQuery =“ gV()。has('sPath','/Assisted/CSurvey/CSurvey.ss').as('ParentStream').outE.inV().as('Edges'..map (select('Edges'.. inV()。fold())。as('NextStream')。select('ParentStream','NextStream','Edges')“;

在下面/所附的图像中。我需要获取vertex1和vertex2并跳过vertex3,因为没有与edge匹配的属性 image link

1 个答案:

答案 0 :(得分:0)

使用图遍历和过滤

Scala中的示例:

graph.traversal().V().has().bothE('sPath').filter{it:Edge =>
(it.property('sPath').value() == '/Assisted/CSurvey/CSurvey.ss')}.toList()

希望这会有所帮助