考虑我从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
答案 0 :(得分:4)
有几种方法可以做到这一点。您可以获得所需的所有节点,而无需任何有关它们来自哪里的信息
g.V().where(out().count().is(2)).union(identity(), out())
会返回
==>v[1]
==>v[2]
==>v[3]
或者您可以获得传出边缘的所有路径。这将让您显示哪些计数为2。
g.V().where(out().count().is(2)).out().path()
会给你
==>[v[1], v[2]]
==>[v[1], v[3]]
请记住,随着图表的增长,这将变得更慢,因为它将访问图表中的每个顶点。
为了将来参考,您应该显示到目前为止您尝试过的示例以及所需的输出。它使得帮助更容易。