Gremlin查询以获取边缘等于2

时间:2017-05-24 10:41:52

标签: titan gremlin

考虑我从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

1 个答案:

答案 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]]

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

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