Heyhey,
With this query I'm able to get only the RIDs of the linked vertices going
around the RID Bag limits, but I still need to fetch linked vertex with
another query later.
I would have thought that, since there is an expand(in(...)) it would have
returned the vertices and not their RIDs only, but I must be wrong : D
Do you know a way to have the result all in once, avoiding the use of a
second query and nested loops?
Aaaand... otherwise, does anybody know how to change
RID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD value?
Il giorno martedì 1 settembre 2015 16:01:44 UTC+2, Davide Neri ha scritto:
>
> Wow, thank you,
> I just tried it and this goes around the limit problem, so it is
> definitely a possible solution!
>
> If anybody knows how to set the Rid Bag threshold higher, would be
> probably faster and lighter on the server as it would use only a simple
> query.
> Otherwise at least for now I might implement this solution. Thanks again
>
> [d]
>
>
>
> Il giorno martedì 1 settembre 2015 14:47:14 UTC+2, Johan Sjöberg ha
> scritto:
>>
>> A better way could be:
>>
>> *select *, $posts *
>> *from User *
>> *let $posts = (select expand(in('author')) from $parent.$current)*
>> *where username = ..*
>>
>> The $parent.$current would be a specific user, you then expand the edge
>> to the posts. Which you then return as $posts
>> Not entirely sure of the direction of you edge but I'm sure you figure it
>> out!
>>
>> I know nothing about RID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD thou.
>>
>> / Johan
>>
>> On Tuesday, September 1, 2015 at 2:13:13 PM UTC+2, Davide Neri wrote:
>>>
>>> Hi,
>>> I am developing a web app on node.js and using OrientDB.
>>> For some functionalities I need to make queries on a structure like this:
>>>
>>> User (V)
>>> Post (V)
>>>
>>> author (E)
>>>
>>> User -- author --› Post
>>>
>>>
>>> And queries should retrieve the User(s) element(s) and the posts he is
>>> author of...all in the same structure:
>>>
>>> [ {
>>> @rid: #9:1,
>>> @class: User,
>>> name: user1,
>>> posts: [ {
>>> @rid: #10:1,
>>> @class: Post,
>>> name: post1
>>> }, {
>>> @rid: #10:2,
>>> @class: Post,
>>> name: post2
>>> } ]
>>> }, {
>>> @rid: #9:2,
>>> @class: User,
>>> name: user2,
>>> posts: [ ... ]
>>> } ]
>>>
>>>
>>> Basically, I'm currently doing this in 2 steps:
>>>
>>> *select * from User where ...*
>>>
>>>
>>> where I get something like:
>>>
>>> [ {
>>> @rid: #9:1,
>>> @class: User,
>>> name: user1,
>>> out_author: [#10:1, #10:2]
>>> }, {
>>> @rid: #9:2,
>>> @class: User,
>>> name: user2,
>>> out_author: [#10:3, #10:3]
>>> } ]
>>>
>>>
>>> From this result I collect all the rids of the first query and make a
>>> second query:
>>>
>>> *select expand(out('author')) from Post where @rid in [USERS_RIDS]*
>>>
>>>
>>> where I get something like:
>>>
>>> [ {
>>> @rid: #10:1,
>>> @class: Post,
>>> name: post1
>>> }, {
>>> @rid: #10:2,
>>> @class: Post,
>>> name: post2
>>> } ]
>>>
>>>
>>>
>>> And in the end I merge the results of the two queries by matching the
>>> @rids in out_author of the first results and @rids of the Posts in the
>>> second results.
>>>
>>> This all works well, until I have just a few edges.. but when edges
>>> start to become more than 40 the out_author becomes blank...and my whole
>>> algorithm breaks. So here are my two questions:
>>>
>>> - I was reading that to have more rids returned I need to change the
>>> RID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD to a bigger number... I tried to
>>> change the orientdb-server-config.xml adding an entry in properties....but
>>> I can't see any results. I'm pretty sure I'm adding a wrong entry, but I
>>> can't understand any clear explanation of what I should do. Do you know
>>> what exactly should I do to change this value?
>>>
>>> - Also... is there another better way to achieve the same result I need
>>> to have with my algorithm? Is it possible to be achieved with a single
>>> query or in some way that doesn't rely on matching rids?
>>>
>>>
>>>
>>> Thank you very much for your help!
>>>
>>>
>>>
--
---
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.