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.