It does apply. The problem is that it will check for the first next edge object and verify that it is not eq(value, “E”) and it will stop. Remove the condition and it will continue.
There is no way to say “only If you find value X stop”. When you use eq, it will stop in the first attempt. As value, “D” is not equal to “E”.
Why not use shortest path? can you say what is the goal you wanna achieve?
Shortest path you can do
{
C as var(func: eq(value, "C"))
E as var(func: eq(value, "E"))
path as shortest(from: uid(C), to: uid(E), numpaths: 2) {
next
}
path(func: uid(path)) {
value
}
}