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.

Reply via email to