Hi all,

First of all: just strarted working with orientDB for a home project, and 
I'm really impressed so far!

Let me explain what I want (Vertices are *bold*, Edges or *italic):*

Scenario:   

   - *User1 **friends **User2*. 
   - *User1 **Rates[4 stars] *an *Item*.
   

Now when *User2 *logs in he sees something like a activity journal:
"On 05-05-2014 User1.name rated Item.name 4 stars"  

He supposed to see this for all his friends, sorted on most recent limited 
till 10 entries for example (btw* Rates *is not the only Edge that will be 
in the 'journal').

*Solution1 *
I can introduce *Rating[timestamp]*. Then go from *User2*, then lookup all 
*Users 
*via *friends *and then fetch all *Rates *entries for those. Then sort it 
on timestamp.

But this seems like it will not scale well in time. People will keep adding 
 *Rates *and other journal Edges but we will only use the most recent ones 
(but have to sort huge sets). Furthermore every Edge that be used in 
journal will need this extra property timestamp.

*Solution2*
I can keep a seperate documentStore Journal (which lives in the same DB but 
outside of the Graph) where I do an insert with the @rid of the User, and 
in this case the [rating] (4 stars) and [type] (rates) and a timestamp.

Then still go from *User2*, then lookup all *Users* then query the Journal 
store on their @id's.  Advantage is I can regulary purge this Journal store 
(since i only need the most recent items) and it don't have to store the 
timestamp property on journal edges.


You guys have any thoughts on this matter? I'm curious for the best 
solution!

Kr, Joris

-- 

--- 
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