【问题标题】:Find all vertices with no out edges查找所有没有出边的顶点
【发布时间】:2018-09-15 19:25:37
【问题描述】:

我是 Gremlin 的新手,我想不出一个简单的查询来返回我的图形中没有任何边的所有顶点(即:孤立顶点)。理想情况下,我想要那些没有任何“出局”优势的人。

我一直在阅读,一些问题/文章说我可以将出边解释为属性,但这对我也不起作用。我一直在看 hasNot 和过滤。

有什么想法吗?

谢谢

-约翰

【问题讨论】:

    标签: azure-cosmosdb gremlin tinkerpop


    【解决方案1】:

    你可以这样做:

    g.V().not(outE())
    

    或者,如果您想查找全部孤儿:

    g.V().not(bothE())
    

    【讨论】:

    • 我喜欢以“...简单地这样做...”开头的答案!男孩,我有很多东西要学 - 谢谢!
    【解决方案2】:

    试试这个:g.V().as('a').where(out().count().is(0)).select('a')

    但是,根据您拥有的顶点数量,您可能会遇到请求率过大异常(又名 429)。

    为避免这种情况,如果您知道顶点的 id 范围,或者可以是其他一些属性范围,则可以在范围内进行查询。下面是一个基于 id 范围的示例:

    g.V().has('id', gt(0)).has('id', lt(100)).as('a').where(out().count().is(0)).select('a')
    g.V().has('id', gt(99)).has('id', lt(200)).as('a').where(out().count().is(0)).select('a')
    ....
    

    等等

    【讨论】:

    • 感谢@Jayanta,这也对我有用 - 我很感激!
    猜你喜欢
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2011-11-06
    • 2017-01-01
    • 1970-01-01
    相关资源
    最近更新 更多