【问题标题】:Dse Graph - Get all edges between two vertexesDse Graph - 获取两个顶点之间的所有边
【发布时间】:2017-01-13 16:05:59
【问题描述】:

我正在使用DSE graph 5.X

假设我有两个顶点,顶点 A 和顶点 B。

Dse 文档中提到了单独获取顶点和边。

但我正在寻找的是获取特定label 的所有顶点或两个顶点之间的所有边。

如何在 Java 代码中检索顶点 A 和顶点 B 之间的所有边?

例如List<Edge> edges = graph.getEdges(fromVertex, toVertex);

谢谢你..!

【问题讨论】:

    标签: datastax-enterprise gremlin datastax-java-driver tinkerpop datastax-enterprise-graph


    【解决方案1】:

    一般来说,gremlin 食谱页面适合 http://tinkerpop.apache.org/docs/current/recipes/#between-vertices 之类的东西

    如果您知道顶点 ID,那么您可能可以使用

    g.V(ids).outE().where(inV().id().is(within(ids)))
    

    【讨论】:

    【解决方案2】:

    嗨,让我给你一个 dse 图查询,它将计算两个顶点之间的边数,然后你可以在 java 中执行或运行相同的查询:-

    g.V().hasLabel('users').has('userId','8e4b334a-388e-4623-91d6-fad7570e3129').outE('hasA').as('e').inV().hasLabel('mobileNo').select('e').count()
    

    它会找到标签为 'USERS' 的顶点,特别是具有一些 USER_ID 的顶点,以及连接为 'MOBILE_NO' 的顶点。

    您可以跳过 user_id 部分查询,并且可以在特定标签的任意两个顶点之间进行计数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 2012-10-09
      • 2016-07-04
      • 2021-01-24
      • 2019-04-23
      相关资源
      最近更新 更多