Comments on: Graphity: An efficient Graph Model for Retrieving the Top-k News Feeds for users in social networks https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/ Extract knowledge from your data and be ahead of your competition Tue, 17 Jul 2018 11:07:57 +0000 hourly 1 https://wordpress.org/?v=4.9.6 By: News Feeds | Max De Marzi https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22959 Fri, 28 Oct 2016 21:08:44 +0000 http://www.rene-pickhardt.de/?p=901#comment-22959 […] there is another way to model a news feed called “Graphity” by Rene Pickhardt that trades great read performance for somewhat complicated write and […]

]]>
By: René Pickhardt https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22950 Mon, 25 Apr 2016 22:16:45 +0000 http://www.rene-pickhardt.de/?p=901#comment-22950 I don’t that is the drawback. Yout can look at Sebastian Schlichts Work who tried a distributed version but also there concurrency was a problem.

]]>
By: Aaron https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22946 Thu, 14 Apr 2016 01:05:57 +0000 http://www.rene-pickhardt.de/?p=901#comment-22946 I know this is a bit late, but I’m really curious how you would handle thread safety in this scenario. If a reader is traversing the edges of the nodes – doing a merge sort as it goes – and suddenly a writer swaps the pointer for a user node that has already been traversed, there is a good chance the algorithm could walk over the node again and yield duplicates, or even yield nodes out of order.
Am I missing something here?
Obviously putting a global lock would prevent this, but clearly that’s going to kill the readers…

]]>
By: René Pickhardt https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22908 Wed, 11 Sep 2013 16:27:19 +0000 http://www.rene-pickhardt.de/?p=901#comment-22908 it is not the user that is pulled back. it is the next status update in the linked list. the key for the priority queue is the time stamp. So after the items 9, 8 and 7 are pulled from the queue the queue looks what kind of items it currently has on the queue {1,4,5} and it pulls the one with the highest priority (which would be 5} after 5 is pulled the next item from the list is pushed which is {3} so the queue contains the items {1, 3, 4} now. as you can see dequeuing twice results in 4 and 3. which is as you wished…
you saw that Graphity is fully implemented in a standalone http REST server? http://www.rene-pickhardt.de/graphity-server-for-social-activity-streams-released-gplv3/

]]>
By: Brice https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22903 Wed, 11 Sep 2013 15:26:12 +0000 http://www.rene-pickhardt.de/?p=901#comment-22903 In the video (slide 18/28 “updating graphity – insert content items (3)”), there’s something I really don’t get.
When getting the graphity index of user A : I agree that I’ll get content items 9,8,7.
But how do you get the following content items? I would expect content items 5, 4, 3 and 1.
I really don’t see how you can retrieve that since there are no further connections between the entities.
I looked at the java source code, and the only thing I see is that when reading the graphity index : if the current user has more status updates, he is pulled back in the queue.
But, that does not mean that the next status update of this user is more recent that an other one of an other user in the queue, right ?

]]>
By: Drug junkie steals my neo4j t-shirt out of my physical mailbox https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22901 Wed, 17 Jul 2013 19:47:56 +0000 http://www.rene-pickhardt.de/?p=901#comment-22901 […] Graphity […]

]]>
By: Ruben https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22897 Thu, 20 Jun 2013 12:36:36 +0000 http://www.rene-pickhardt.de/?p=901#comment-22897 Rene,
Thank you.. I will check out Sebastian’s server – I don’t mind having a standalone newsfeed server – I’ve been thinking along those lines as it is..
Ruben

]]>
By: René Pickhardt https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22894 Thu, 20 Jun 2013 12:10:19 +0000 http://www.rene-pickhardt.de/?p=901#comment-22894 hey Ruben,
the idea of the Graphity algorithms is really to do a good data base design in combination with controlling how the traversal goes. Despite the fact that cypher can be 10x slower as shown in this post: http://www.rene-pickhardt.de/get-the-full-neo4j-power-by-using-the-core-java-api-for-traversing-your-graph-data-base-instead-of-cypher-query-language/ i am not even sure if it is possible to express the way I am collecting nodes for the newsfeed in cypher. So using cypher might give you another performance downside.
But maybe there is another solution for you: My student Sebastian is currently implementing a standalone Graphity server which is based in java and runs in tomcat. it has a REST interface to create status updates and friendships as well as requesting streams.
The developement is almost done an can currently be followed at https://github.com/renepickhardt/Graphity-Server (look at the develop branch) The graphity server provides news feeds following the activitystrea.ms format. So if you are willing to “install” another software as a standalone newsfeedserver feel free to think about it.

]]>
By: Ruben https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22891 Wed, 19 Jun 2013 12:55:46 +0000 http://www.rene-pickhardt.de/?p=901#comment-22891 I’m using Ruby on Rails (not Jruby), REST, and the Neography GEM which simply encapsulates the REST calls. So a cypher based solution, even one consisting of separate and multiple queries, is what I am looking for…

]]>
By: Ruben https://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving-the-top-k-news-feeds-for-users-in-social-networks/#comment-22888 Wed, 19 Jun 2013 12:48:29 +0000 http://www.rene-pickhardt.de/?p=901#comment-22888 Yes an algorithm/example for news feeds using cypher would awesome. I know cypher can be up to 10 times slower than using the API, but for purposes of rapid application development cypher offers many advantages… Also as far as i understand, the high availability option for Neo4j does not work in embedded mode – one has to use REST..
I don’t expect a Cypher & REST based version to have the same performance , but it still should perform very well considering.
Thanks!
Ruben

]]>