Thanks so much! Steve
On Tue, Mar 20, 2018 at 9:34 AM, Luigi Dell'Aquila < luigi.dellaqu...@gmail.com> wrote: > Hi Steve, > > Thank you very much, I'll check it asap. > There is a way to re-enable the old traverse, you have to disable strict > SQL parsing: > > ALTER DATABASE CUSTOM strictSQL=false > > Anyway, I wouldn't recommend it in the long run, as you will lose a lot of > stability in SQL parsing > > I'll give you a feedback asap about the query > > Thanks > > Luigi > > 2018-03-20 16:30 GMT+01:00 Steven Tomer <steven.to...@gmail.com>: > >> Luigi, >> >> I've zipped up the dataset I've been using and am attaching it here. >> >> We really need a way to do queries like this. Is there any chance we can >> re-enable the old traverse() operator? >> >> Thanks, >> >> Steve >> >> On Tue, Mar 13, 2018 at 9:08 AM, Luigi Dell'Aquila < >> luigi.dellaqu...@gmail.com> wrote: >> >>> Hi Steve, >>> >>> ah, got it, the old traverse() stopped when it found duplicates, while >>> the MATCH doesn't. >>> >>> Do you have a dataset I can check, so that I can try it and give you >>> better help? >>> >>> Thanks >>> >>> Luigi >>> >>> >>> >>> 2018-03-13 16:03 GMT+01:00 Steven Tomer <steven.to...@gmail.com>: >>> >>>> Luigi, >>>> >>>> That query never returns (looks like it goes into an infinite loop). >>>> >>>> I had to kill the server process to make it stop. >>>> >>>> Any other ideas? >>>> >>>> Steve >>>> >>>> On Tue, Mar 13, 2018 at 8:16 AM, Luigi Dell'Aquila < >>>> luigi.dellaqu...@gmail.com> wrote: >>>> >>>>> Hi Steve, >>>>> >>>>> Try this >>>>> >>>>> SELECT expand(person) FROM ( >>>>> MATCH {class: Person, as: person, where: (givenname = >>>>> 'William')}.in(){while: ($depth = 0 OR givenname != 'George'), where: >>>>> (givenname = 'George')} RETURN person >>>>> ) >>>>> >>>>> The $depth = 0 guarantees that you don't stop traversing immediately; >>>>> the givenname != 'George' just stops traversing as soon as you find a >>>>> "George", I guess it is what you want (you don't need duplicates) >>>>> >>>>> Thanks >>>>> >>>>> Luigi >>>>> >>>>> 2018-03-13 14:52 GMT+01:00 Steven Tomer <steven.to...@gmail.com>: >>>>> >>>>>> Hello Luigi, >>>>>> >>>>>> That's sad news indeed. It will require a major task to rip out all >>>>>> of the places we're using traverse(). >>>>>> >>>>>> I've been playing around with the MATCH operator, and I can't get it >>>>>> to model the former query: >>>>>> >>>>>> SELECT FROM Person WHERE givenname = 'William' and in >>>>>> traverse(0,-1,'in') ( givenname = 'George' ) >>>>>> >>>>>> I've tried: >>>>>> >>>>>> MATCH {class: Person, as: person, where: (givenname = >>>>>> 'William')}.in(){while: ($depth > 0), where: (givenname = 'George')} >>>>>> RETURN >>>>>> person >>>>>> MATCH {class: Person, as: person, where: (givenname = >>>>>> 'William')}.in('in'){while: ($depth > 0), where: (givenname = 'George')} >>>>>> RETURN person >>>>>> MATCH {class: Person, as: person, where: (givenname = >>>>>> 'William')}.in('MyEdge'){while: ($depth > 0), where: (givenname = >>>>>> 'George')} RETURN person >>>>>> >>>>>> None of your examples have an intermediary 'edge' type between them. >>>>>> We have Person -> MyEdge -> Person -> MyEdge -> Person. The traverse >>>>>> operator lets me hop over the edges. How do you do it with MATCH? >>>>>> >>>>>> Steve >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Mar 13, 2018 at 2:07 AM, Luigi Dell'Aquila < >>>>>> luigi.dellaqu...@gmail.com> wrote: >>>>>> >>>>>>> Hi Steven, >>>>>>> >>>>>>> The traverse() operator was deprecated long time ago and is not >>>>>>> fully supported anymore. >>>>>>> I strongly suggest you to use TRAVERSE queries ( >>>>>>> https://orientdb.com/docs/2.2.x/SQL-Traverse.html) or even better >>>>>>> MATCH queries (https://orientdb.com/docs/2.2.x/SQL-Match.html) >>>>>>> >>>>>>> Another thing: if you are migrating now, you could probably consider >>>>>>> v 3.0 (see https://orientdb.com/orientdb-labs/), the final GA will >>>>>>> be released this week >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> Luigi >>>>>>> >>>>>>> >>>>>>> 2018-03-12 23:00 GMT+01:00 StevenTomer <steven.to...@gmail.com>: >>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> I'm using OrientDB 2.2.32. We're updating our software from 2.0.8. >>>>>>>> >>>>>>>> The traverse() operator in selects does not appear to be working. >>>>>>>> >>>>>>>> When I run the attached program, I get >>>>>>>> a com.orientechnologies.orient.core.sql.OCommandSQLParsingEx >>>>>>>> ception. >>>>>>>> >>>>>>>> Exception in thread "main" com.orientechnologies.orient.c >>>>>>>> ore.sql.OCommandSQLParsingException: Error parsing query: >>>>>>>> SELECT FROM Person WHERE givenname = 'William' and in >>>>>>>> traverse(0,-1,'in') ( givenname = 'George' ) >>>>>>>> ^ >>>>>>>> Encountered "" at line 1, column 52. >>>>>>>> Was expecting one of: >>>>>>>> >>>>>>>> DB name="familytree" >>>>>>>> >>>>>>>> I hope it hasn't been removed. We use both the TRAVERSE FROM and >>>>>>>> SELECT FROM WHERE traverse() extensively. >>>>>>>> >>>>>>>> TRAVERSE FROM is wonderful for gathering a group of records from a >>>>>>>> given point. >>>>>>>> The traverse() operator is wonderful for queries like the above >>>>>>>> (return all people named William >>>>>>>> descended from a person named George. >>>>>>>> >>>>>>>> We really need both. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Steven Tomer >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> --- >>>>>>>> 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 orient-database+unsubscr...@googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> --- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "OrientDB" group. >>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>>>>> pic/orient-database/ic5UE-kyi-w/unsubscribe. >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> orient-database+unsubscr...@googlegroups.com. >>>>>>> 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 orient-database+unsubscr...@googlegroups.com. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "OrientDB" group. >>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>>> pic/orient-database/ic5UE-kyi-w/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> orient-database+unsubscr...@googlegroups.com. >>>>> 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 orient-database+unsubscr...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "OrientDB" group. >>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>> pic/orient-database/ic5UE-kyi-w/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> orient-database+unsubscr...@googlegroups.com. >>> 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 orient-database+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > > --- > You received this message because you are subscribed to a topic in the > Google Groups "OrientDB" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/orient-database/ic5UE-kyi-w/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > orient-database+unsubscr...@googlegroups.com. > 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.