【问题标题】:Gremlin query to get in and out edges for a given VertexGremlin 查询以获取给定顶点的边缘和边缘
【发布时间】:2018-02-06 18:25:17
【问题描述】:

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

我在图中有许多用户(顶点),每个用户都对其他用户具有“了解”属性。其中一些是外边(outE),另一些是边内(inE),具体取决于关系的创建方式。 我现在正在尝试创建一个查询,它将返回给定用户(顶点)的所有“知道”关系。 我可以通过以下方式轻松获取 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,但我不提前知道这是输入边缘还是输出边缘,因此想要同时获取两者(例如,如果用户有输入和输出带有“知道”标签的边缘)。 我尝试过使用投影和 OR 运算符以及各种事物组合,例如:

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

但它没有让我找回我想要的数据。

我想要的只是所有 inE 和 outE 的 Id 列表,它们对于给定顶点具有“知道”标签。

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

谢谢

【问题讨论】:

    标签: graph gremlin tinkerpop azure-cosmosdb


    【解决方案1】:

    在这种情况下,您可以使用bothE 步骤。 g.V('7112138f-fae6-4272-92d8-4f42e331b5e1').bothE('knows')

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    相关资源
    最近更新 更多