【发布时间】:2018-09-15 19:25:37
【问题描述】:
我是 Gremlin 的新手,我想不出一个简单的查询来返回我的图形中没有任何边的所有顶点(即:孤立顶点)。理想情况下,我想要那些没有任何“出局”优势的人。
我一直在阅读,一些问题/文章说我可以将出边解释为属性,但这对我也不起作用。我一直在看 hasNot 和过滤。
有什么想法吗?
谢谢
-约翰
【问题讨论】:
标签: azure-cosmosdb gremlin tinkerpop
我是 Gremlin 的新手,我想不出一个简单的查询来返回我的图形中没有任何边的所有顶点(即:孤立顶点)。理想情况下,我想要那些没有任何“出局”优势的人。
我一直在阅读,一些问题/文章说我可以将出边解释为属性,但这对我也不起作用。我一直在看 hasNot 和过滤。
有什么想法吗?
谢谢
-约翰
【问题讨论】:
标签: azure-cosmosdb gremlin tinkerpop
你可以这样做:
g.V().not(outE())
或者,如果您想查找全部孤儿:
g.V().not(bothE())
【讨论】:
试试这个: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')
....
等等
【讨论】: