Hi guys,

UNTIL can be expressed as a negative WHILE, in this case

TRAVERSE out() FROM #9:0 UNTIL name ='2.3'

is the same as

TRAVERSE out() FROM #9:0 WHILE name <> '2.3'

so there is no strict reason to have this.
I also suggest you to take a look at the roadmap for 2.2, we will support a
new query paradigm, that is pattern matching. Here you can find some info
https://github.com/orientechnologies/orientdb-docs/blob/master/SQL-Match.md
With MATCH statement you will have much finer control on traversal, using
WHERE and WHILE together

Luigi



2015-09-18 10:56 GMT+02:00 François Charette <[email protected]>:

> Riccardo,
>
> Maybe you had in mind something like this:
>
> TRAVERSE out() FROM #9:0 UNTIL name ='2.3'
>
> where the *hypothetical* command UNTIL would mean "continue the traversal
> until some condition is met, and then stop" (including the vertices that
> match the UNTIL condition) ?
>
> For some use cases this would greatly simplify traversal operations I
> think, especially when the depth of the end-points cannot be known in
> advance.
>
> Cheers
> François
>
>
> On Friday, 18 September 2015 10:05:23 UTC+2, Riccardo Tasso wrote:
>>
>> Yeah, you right: now I see the point!
>>
>> Cheers,
>>    Riccardo
>>
>> 2015-09-18 9:24 GMT+02:00 Luigi Dell'Aquila <[email protected]>:
>>
>>> Hi Riccardo,
>>>
>>> your root node name is 'root', so it does not match your traversal
>>> condition ;-)
>>> Try with this:
>>>
>>> TRAVERSE out() FROM (SELECT FROM V WHERE name = 'root') WHILE name = '2.3'
>>> or $depth = 0
>>>
>>> I hope I understood correctly your problem... the result will be the
>>> following:
>>> suppose you have this chain:
>>>
>>> A:'root' -> B:'2.3' -> C:'2.3' -> D:'something else'
>>>
>>> you will obtain
>>> A
>>> B
>>> C
>>>
>>> Luigi
>>>
>>>
>>>
>>>
>>> 2015-09-18 9:20 GMT+02:00 Riccardo Tasso <[email protected]>:
>>>
>>>> Hi, I am trying to understand the potential of TRAVERSE command (
>>>> http://orientdb.com/docs/2.1/SQL-Traverse.html ).
>>>>
>>>> The documented examples, which all use the $depth context variable are
>>>> clear.
>>>>
>>>> I can't figure out how to use other variables, first of all $current.
>>>> Consider this toy-dataset:
>>>>
>>>> create database memory:tmp admin admin
>>>> insert into V set name = 'root'
>>>> insert into V set name = '1'
>>>> insert into V set name = '2'
>>>> insert into V set name = '1.1'
>>>> insert into V set name = '1.2'
>>>> insert into V set name = '2.1'
>>>> insert into V set name = '2.2'
>>>> insert into V set name = '2.3'
>>>> create edge from #9:0 to #9:1
>>>> create edge from #9:0 to #9:2
>>>> create edge from #9:1 to #9:3
>>>> create edge from #9:1 to #9:4
>>>>
>>>> I would expect to find something with those query, but no result is
>>>> returned:
>>>> TRAVERSE out() FROM (SELECT FROM V WHERE name = 'root') WHILE name =
>>>> '2.3'
>>>> TRAVERSE out() FROM (SELECT FROM V WHERE name = 'root') WHILE $current.name
>>>> = '2.3'
>>>>
>>>> Is there any possibility to stop the TRAVERSE with some condition on
>>>> the current vertex?
>>>>
>>>> Thanks,
>>>>    Riccardo
>>>>
>>>>
>>>> --
>>>>
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "OrientDB" 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.
>>>>
>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OrientDB" 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.
>>>
>>
>> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" 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.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" 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