Gremlin查询进入和离开给定顶点的边

时间:2017-08-29 10:25:12

标签: graph gremlin tinkerpop azure-cosmosdb

我只是在Cosmos DB中使用Graph API  它使用Gremlin语法进行查询。

我在图表中有许多用户(Vertex),每个用户都有“知道”属性给其他用户。其中一些是外边缘(outE),另一些是边缘(inE),具体取决于关系的创建方式。 我现在正在尝试创建一个查询,它将返回给定用户(Vertex)的所有“已知”关系。 我可以通过以下方式轻松获取inE或outE的ID:

g.V('7112138f-fae6-4272-92d8-4f42e331b5e1').inE('knows') 
g.V('7112138f-fae6-4272-92d8-4f42e331b5e1').outE('knows') 

其中'7112138f-fae6-4272-92d8-4f42e331b5e1'是我正在查询的用户的ID,但我不知道这是一个进出边缘,所以想要得到两者(例如,如果用户有并且带有'knows'标签的边缘)。 我尝试过使用投影和OR运算符以及各种组合,例如:

g.V('7112138f-fae6-4272-92d8-4f42e331b5e1').where(outE('knows').or().inE('knows'))

但它没有让我得到我想要的数据。

我想要的只是所有inE和outE的Id的列表,其中给定顶点的标签'know'。

或者是否有更简单/更好的方法来建模双向关联,例如'knows'或'friendOf'?

由于

1 个答案:

答案 0 :(得分:9)

在这种情况下,您可以使用wstream.write(text + ':' + $(this).text()); wstream.write("\n"); 步骤。 bothE