I am using Ubuntu 12.04. Say we have a bunch of nodes and edges loaded in Neo4j how to run algorithm like PageRank? Any packages?
I am looking around the web for the same reason.
As far I understood there is some ways to implemented it:
1) Write your own Neo4J plugin in Java:
By default you can get some algorithms (http://docs.neo4j.org/chunked/stable/rest-api-graph-algos.html), but any advanced option it is probably best to write it. Here the reference: http://docs.neo4j.org/chunked/stable/server-plugins.html
2) Use the Gremlin plugin together to Blueprints/Furnace.
This is exactly what I am trying now (more exactly the community detection algorithm). Give a try to https://github.com/tinkerpop/gremlin/wiki and https://github.com/tinkerpop/furnace . It is supposed to work through the Gremlin plugin in your Neo4j server or through some API. I'm a python fan, so I am trying bulbs or pyblueprints. I can't tell you what's is better right now.
3) Query your graph and load it to a known framework
There is thousands of ways to implement it using Python, C, R ... By instance, I would recommend using networkx (python) or igraph (R). As an example: https://networkx.github.io/documentation/latest/reference/generated/networkx.algorithms.link_analysis.pagerank_alg.pagerank.html
Hope it helped.
Have a look at the GraphAware Framework, namely timer-driven runtime modules.
Essentially, the framework allows you to write global graph algorithms (like PageRank) and let them be computed continuously on your graph database. The computation slows down when your database is busy with normal transactional processing and speeds up during quiet periods.
We're working on our own PageRank Module; it is still work in progress, but might be helpful in getting you started.
DISCLAIMER: I'm one of the framework authors.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With