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.
