Gremlin 查询以获取边等于 2 的顶点



考虑我从 v1 到 v5 大约有 5 个顶点。 并在它们之间有边缘。 结构如下。

v1->v2
v1->v3
v4->v2
v2->v1
v2->v3
v3->v5
v5->v1

现在我想编写一个 gremlin 查询来显示具有传出边为 2 的顶点。

例如,v1 有 2 个到 v2 和 v3 的传出边缘,因此此处查询应显示 v1、v2、v3

有几种方法可以做到这一点。您可以获取所需的所有节点,而无需任何有关它们来自何处的信息

g.V().where(out().count().is(2)).union(identity(), out())

哪个会返回

==>v[1]
==>v[2]
==>v[3]

或者,您可以获取传出边缘的所有路径。这将让您显示哪些 out 计数为 2。

g.V().where(out().count().is(2)).out().path()

这会给你

==>[v[1], v[2]]
==>[v[1], v[3]]

请记住,随着图形的增长,这将变得慢得多,因为它将访问图形中的每个顶点。

为了将来参考,您应该展示到目前为止尝试的示例以及所需的输出。它使帮助更容易。

最新更新