如何确定顶点是否有奇数或偶数的outE()?

时间:2016-11-25 06:30:44

标签: gremlin

我想获得具有奇数边缘的顶点。像这样的东西:

 g.V().where(out().count() % 2 != 0)

当然,%不能在这里使用。还有另一种方法吗?

2 个答案:

答案 0 :(得分:3)

没有用于解雇的mod操作符,但有div,mult和minus。

g.withSack(0).V().as('a').where(outE().count().sack(assign).sack(div).by(constant(2)).sack(mult).by(constant(2)).sack(minus).sack().is(0)) // even

g.withSack(0).V().as('a').where(outE().count().sack(assign).sack(div).by(constant(2)).sack(mult).by(constant(2)).sack(minus).sack().is(neq(0))) // odd

答案 1 :(得分:2)

没有分组的步骤,据我所知也不是模数,但你可以使用lambda:

g.V().outE().count().filter{count = it.get(); count % 2 == 1;}

(请注意,此查询需要在大多数系统中扫描完整图表,因为没有使用索引。)

Gremlin-users组中的

This post包含有关Gremlin数学运算的更多信息。