找到没有边缘的所有顶点

问题描述 投票:0回答:2

我是Gremlin的新手,我无法弄清楚一个简单的查询,它将返回我的图形中没有任何边缘的所有顶点(即:孤立的顶点)。理想情况下,我喜欢那些没有“出局”优势的人。

我一直在阅读,一些问题/文章说我可以将一个优势解释为财产,但这对我来说也不起作用。我一直在看hasNot和过滤。

有任何想法吗?

谢谢

-约翰

azure-cosmosdb gremlin tinkerpop
2个回答
1
投票

你可以这样做:

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

或者如果你想找到总孤儿:

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

0
投票

试试这个: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')
....

等等

© www.soinside.com 2019 - 2024. All rights reserved.