Hi,

i think our documentation in this area is not precise enough, we are going to 
optimize it there. Thank you for pointing it out.


Now to resolve your confusion.
All filters on e will only validate if the last edge fulfills the condition or 
not.
Especially does this not stop the traverser from checking further down, if one 
of the edges violates the condition, the next edge on this path could fulfill 
it.
All other edges on the path are allowed to violate the condition.

Filter on p will always validate the complete path.

And there is the difference in your query:
In AQL 1 you will only find paths where the last edge is of type typeOne, all 
other edges have arbitrary types.
In AQL 2 all edges are of type typeOne

best
Michael



> Am 15.12.2016 um 07:36 schrieb Beansprouts <[email protected]>:
> 
> AQL 1:
>  for v,e,p in 1..3 any "test_vertex/213124123123" relation_default
>       filter e._type=="typeOne"
>  return p
> AQL 2:
>   for v,e,p in 1..3 any "test_vertex/213124123123" relation_default
>       filter p.edges[*]._type all in ["typeOne"]
>  return p
> 
> AQL 1 return paths that not all edge matches the filter _type=="typeOne".
> but AQL 2 done.
> 
> why filter on e looks like has no effect?
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "ArangoDB" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"ArangoDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to